-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
143 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
/************************************************************************************************ | ||
* | ||
* Attention: The credentials below are only for development purposes, it should never be used for production | ||
* | ||
************************************************************************************************/ | ||
|
||
import { NODE_ENV } from "../config" | ||
import { Key, Membership, MembershipOrg, Organization, User, Workspace } from "../models"; | ||
import { Types } from 'mongoose'; | ||
|
||
export const createTestUserForDevelopment = async () => { | ||
if (NODE_ENV === "development") { | ||
const testUserEmail = "[email protected]" | ||
const testUserPassword = "testInfisical1" | ||
const testUserId = "63cefa6ec8d3175601cfa980" | ||
const testWorkspaceId = "63cefb15c8d3175601cfa989" | ||
const testOrgId = "63cefb15c8d3175601cfa985" | ||
const testMembershipId = "63cefb159185d9aa3ef0cf35" | ||
const testMembershipOrgId = "63cefb159185d9aa3ef0cf31" | ||
const testWorkspaceKeyId = "63cf48f0225e6955acec5eff" | ||
|
||
const testUser = { | ||
_id: testUserId, | ||
email: testUserEmail, | ||
refreshVersion: 0, | ||
encryptedPrivateKey: 'ITMdDXtLoxib4+53U/qzvIV/T/UalRwimogFCXv/UsulzEoiKM+aK2aqOb0=', | ||
firstName: 'Jake', | ||
iv: '9fp0dZHI+UuHeKkWMDvD6w==', | ||
lastName: 'Moni', | ||
publicKey: 'cf44BhkybbBfsE0fZHe2jvqtCj6KLXvSq4hVjV0svzk=', | ||
salt: 'd8099dc70958090346910fb9639262b83cf526fc9b4555a171b36a9e1bcd0240', | ||
tag: 'bQ/UTghqcQHRoSMpLQD33g==', | ||
verifier: '12271fcd50937ca4512e1e3166adaf9d9fc7a5cd0e4c4cb3eda89f35572ede4d9eef23f64aef9220367abff9437b0b6fa55792c442f177201d87051cf77dadade254ff667170440327355fb7d6ac4745d4db302f4843632c2ed5919ebdcff343287a4cd552255d9e3ce81177edefe089617b7616683901475d393405f554634b9bf9230c041ac85624f37a60401be20b78044932580ae0868323be3749fbf856df1518153ba375fec628275f0c445f237446ea4aa7f12c1aa1d6b5fd74b7f2e88d062845a19819ec63f2d2ed9e9f37c055149649461d997d2ae1482f53b04f9de7493efbb9686fb19b2d559b9aa2b502c22dec83f9fc43290dfea89a1dc6f03580b3642b3824513853e81a441be9a0b2fde2231bac60f3287872617a36884697805eeea673cf1a351697834484ada0f282e4745015c9c2928d61e6d092f1b9c3a27eda8413175d23bb2edae62f82ccaf52bf5a6a90344a766c7e4ebf65dae9ae90b2ad4ae65dbf16e3a6948e429771cc50307ae86d454f71a746939ed061f080dd3ae369c1a0739819aca17af46a085bac1f2a5d936d198e7951a8ac3bb38b893665fe7312835abd3f61811f81efa2a8761af5070085f9b6adcca80bf9b0d81899c3d41487fba90728bb24eceb98bd69770360a232624133700ceb4d153f2ad702e0a5b7dfaf97d20bc8aa71dc8c20024a58c06a8fecdad18cb5a2f89c51eaf7' | ||
} | ||
|
||
const testWorkspaceKey = { | ||
_id: new Types.ObjectId(testWorkspaceKeyId), | ||
workspace: testWorkspaceId, | ||
encryptedKey: '96ZIRSU21CjVzIQ4Yp994FGWQvDdyK3gq+z+NCaJLK0ByTlvUePmf+AYGFJjkAdz', | ||
nonce: '1jhCGqg9Wx3n0OtVxbDgiYYGq4S3EdgO', | ||
sender: '63cefa6ec8d3175601cfa980', | ||
receiver: '63cefa6ec8d3175601cfa980', | ||
} | ||
|
||
const testWorkspace = { | ||
_id: new Types.ObjectId(testWorkspaceId), | ||
name: 'Example Project', | ||
organization: testOrgId, | ||
environments: [ | ||
{ | ||
_id: '63cefb15c8d3175601cfa98a', | ||
name: 'Development', | ||
slug: 'dev' | ||
}, | ||
{ | ||
_id: '63cefb15c8d3175601cfa98b', | ||
name: 'Test', | ||
slug: 'test' | ||
}, | ||
{ | ||
_id: '63cefb15c8d3175601cfa98c', | ||
name: 'Staging', | ||
slug: 'staging' | ||
}, | ||
{ | ||
_id: '63cefb15c8d3175601cfa98d', | ||
name: 'Production', | ||
slug: 'prod' | ||
} | ||
], | ||
} | ||
|
||
const testOrg = { | ||
_id: testOrgId, | ||
name: 'Jake\'s organization' | ||
} | ||
|
||
const testMembershipOrg = { | ||
_id: testMembershipOrgId, | ||
organization: testOrgId, | ||
role: 'owner', | ||
status: 'accepted', | ||
user: testUserId, | ||
} | ||
|
||
const testMembership = { | ||
_id: testMembershipId, | ||
role: 'admin', | ||
user: testUserId, | ||
workspace: testWorkspaceId | ||
} | ||
|
||
try { | ||
// create user if not exist | ||
const userInDB = await User.findById(testUserId) | ||
if (!userInDB) { | ||
await User.create(testUser) | ||
} | ||
|
||
// create org if not exist | ||
const orgInDB = await Organization.findById(testOrgId) | ||
if (!orgInDB) { | ||
await Organization.create(testOrg) | ||
} | ||
|
||
// create membership org if not exist | ||
const membershipOrgInDB = await MembershipOrg.findById(testMembershipOrgId) | ||
if (!membershipOrgInDB) { | ||
await MembershipOrg.create(testMembershipOrg) | ||
} | ||
|
||
// create membership | ||
const membershipInDB = await Membership.findById(testMembershipId) | ||
if (!membershipInDB) { | ||
await Membership.create(testMembership) | ||
} | ||
|
||
// create workspace if not exist | ||
const workspaceInDB = await Workspace.findById(testWorkspaceId) | ||
if (!workspaceInDB) { | ||
await Workspace.create(testWorkspace) | ||
} | ||
|
||
// create workspace key if not exist | ||
const workspaceKeyInDB = await Key.findById(testWorkspaceKeyId) | ||
if (!workspaceKeyInDB) { | ||
await Key.create(testWorkspaceKey) | ||
} | ||
|
||
/* eslint-disable no-console */ | ||
console.info(`DEVELOPMENT MODE DETECTED: You may login with test user with email: ${testUserEmail} and password: ${testUserPassword}`) | ||
/* eslint-enable no-console */ | ||
|
||
} catch (e) { | ||
/* eslint-disable no-console */ | ||
console.error(`Unable to create test user while booting up [err=${e}]`) | ||
/* eslint-enable no-console */ | ||
} | ||
} | ||
} |