@itwin/rpcinterface-full-stack-tests 5.3.1 → 5.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"BackendInit.js","sourceRoot":"","sources":["../../src/backend/BackendInit.ts"],"names":[],"mappings":";;AAAA;;;+FAG+F;AAC/F,8DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAC7B,yDAAgE;AAChE,yBAAyB;AAEzB,sDAAsD;AACtD,SAAS,OAAO,CAAC,OAAe;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO;IAET,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,4DAA4D;IAC9F,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,4DAA4D;IAC3G,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,SAAS,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;IAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,IAAA,qCAAsB,GAAE,CAAC;AAC3B,CAAC,CAAC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport \"@itwin/oidc-signin-tool/lib/cjs/certa/certaBackend\";\r\n// Sets up certa to allow a method on the frontend to get an access token\r\nimport * as path from \"path\";\r\nimport { exposeBackendCallbacks } from \"../common/SideChannels\";\r\nimport * as fs from \"fs\";\r\n\r\n/** Loads the provided `.env` file into process.env */\r\nfunction loadEnv(envFile: string) {\r\n if (!fs.existsSync(envFile))\r\n return;\r\n\r\n const dotenv = require(\"dotenv\"); // eslint-disable-line @typescript-eslint/no-require-imports\r\n const dotenvExpand = require(\"dotenv-expand\"); // eslint-disable-line @typescript-eslint/no-require-imports\r\n const envResult = dotenv.config({ path: envFile });\r\n if (envResult.error) {\r\n throw envResult.error;\r\n }\r\n\r\n dotenvExpand(envResult);\r\n}\r\n\r\nmodule.exports = (async () => {\r\n loadEnv(path.join(__dirname, \"..\", \"..\", \".env\"));\r\n\r\n exposeBackendCallbacks();\r\n})();\r\n"]}
1
+ {"version":3,"file":"BackendInit.js","sourceRoot":"","sources":["../../src/backend/BackendInit.ts"],"names":[],"mappings":";;AAAA;;;+FAG+F;AAC/F,8DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAC7B,yDAAgE;AAChE,yBAAyB;AAEzB,sDAAsD;AACtD,SAAS,OAAO,CAAC,OAAe;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO;IAET,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,4DAA4D;IAC9F,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,4DAA4D;IAC3G,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,SAAS,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;IAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,IAAA,qCAAsB,GAAE,CAAC;AAC3B,CAAC,CAAC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport \"@itwin/oidc-signin-tool/lib/cjs/certa/certaBackend\";\n// Sets up certa to allow a method on the frontend to get an access token\nimport * as path from \"path\";\nimport { exposeBackendCallbacks } from \"../common/SideChannels\";\nimport * as fs from \"fs\";\n\n/** Loads the provided `.env` file into process.env */\nfunction loadEnv(envFile: string) {\n if (!fs.existsSync(envFile))\n return;\n\n const dotenv = require(\"dotenv\"); // eslint-disable-line @typescript-eslint/no-require-imports\n const dotenvExpand = require(\"dotenv-expand\"); // eslint-disable-line @typescript-eslint/no-require-imports\n const envResult = dotenv.config({ path: envFile });\n if (envResult.error) {\n throw envResult.error;\n }\n\n dotenvExpand(envResult);\n}\n\nmodule.exports = (async () => {\n loadEnv(path.join(__dirname, \"..\", \"..\", \".env\"));\n\n exposeBackendCallbacks();\n})();\n"]}
@@ -144,18 +144,18 @@ class Settings {
144
144
  }
145
145
  }
146
146
  toString() {
147
- return `Configurations:
148
- backend location: ${this.Backend.location},
149
- backend name: ${this.Backend.name},
150
- backend version: ${this.Backend.version},
151
- oidc client id: ${this.oidcClientId},
152
- oidc scopes: ${this.oidcScopes},
153
- applicationId: ${this.gprid},
154
- log level: ${this.logLevel},
155
- testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
156
- testing PresentationRpcTest: ${this.runPresentationRpcTests},
157
- testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
158
- testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
147
+ return `Configurations:
148
+ backend location: ${this.Backend.location},
149
+ backend name: ${this.Backend.name},
150
+ backend version: ${this.Backend.version},
151
+ oidc client id: ${this.oidcClientId},
152
+ oidc scopes: ${this.oidcScopes},
153
+ applicationId: ${this.gprid},
154
+ log level: ${this.logLevel},
155
+ testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
156
+ testing PresentationRpcTest: ${this.runPresentationRpcTests},
157
+ testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
158
+ testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
159
159
  testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;
160
160
  }
161
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/common/Settings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { ServiceAuthorizationClientConfiguration } from \"@itwin/service-authorization\";\r\nimport { LogLevel } from \"@itwin/core-bentley\";\r\nimport { DevToolsRpcInterface, IModelReadRpcInterface, IModelTileRpcInterface } from \"@itwin/core-common\";\r\nimport { TestUserCredentials } from \"@itwin/oidc-signin-tool\";\r\nimport { PresentationRpcInterface } from \"@itwin/presentation-common\";\r\n\r\nexport interface Backend {\r\n version: string;\r\n location: string;\r\n name: string;\r\n path: string;\r\n}\r\n\r\n/**\r\n * Holds the information required to u identify an iModel\r\n */\r\nexport interface IModelData {\r\n useName: boolean; // Defines whether or not to use the name of the iModel\r\n id?: string; // The iModel Id - This is not required\r\n name?: string; // The name is not required to actually get the iModel, only the id.\r\n useITwinName: boolean;\r\n iTwinId?: string;\r\n iTwinName?: string;\r\n changeSetId?: string;\r\n}\r\n\r\nexport function getRpcInterfaces(settings: Settings) {\r\n const rpcInterfaces = [];\r\n if (settings.runDevToolsRpcTests)\r\n rpcInterfaces.push(DevToolsRpcInterface);\r\n if (settings.runPresentationRpcTests)\r\n rpcInterfaces.push(PresentationRpcInterface);\r\n if (settings.runiModelReadRpcTests)\r\n rpcInterfaces.push(IModelReadRpcInterface);\r\n if (settings.runiModelTileRpcTests)\r\n rpcInterfaces.push(IModelTileRpcInterface);\r\n\r\n return rpcInterfaces;\r\n}\r\n\r\nfunction checkEnabled(envVariable: string | undefined): boolean {\r\n if (undefined === envVariable)\r\n return false;\r\n\r\n const regex = /true/i;\r\n return regex.test(envVariable);\r\n}\r\n\r\nexport class Settings {\r\n private _backend: Backend = {} as Backend;\r\n public env: number = 0;\r\n public oidcClientId!: string;\r\n public oidcScopes!: string;\r\n public oidcRedirect!: string;\r\n public oidcAuthority?: string;\r\n public gprid?: string;\r\n public logLevel?: number;\r\n public users: TestUserCredentials[] = [];\r\n public clientConfiguration?: ServiceAuthorizationClientConfiguration;\r\n\r\n public iModels: IModelData[] = [];\r\n public get iModel(): IModelData { return this.iModels[0]; }\r\n public get writeIModel(): IModelData { return this.iModels[1]; }\r\n public get user(): TestUserCredentials { return this.users[0]; }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public get Backend(): Backend { return this._backend; }\r\n\r\n public get runiModelTileRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELTILE_ENABLE); }\r\n public get runPresentationRpcTests(): boolean { return checkEnabled(process.env.RPC_PRESENTATION_ENABLE); }\r\n public get runiModelReadRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELREAD_ENABLE); }\r\n public get runiModelWriteRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELWRITE_ENABLE); }\r\n public get runDevToolsRpcTests(): boolean { return checkEnabled(process.env.RPC_DEVTOOLS_ENABLE); }\r\n\r\n constructor(env: NodeJS.ProcessEnv) {\r\n const isFrontend = (typeof (process) === \"undefined\");\r\n if (!isFrontend && undefined === env.TF_BUILD) {\r\n const path = require(\"path\"); // eslint-disable-line @typescript-eslint/no-require-imports\r\n const dotenv = require(\"dotenv\"); // eslint-disable-line @typescript-eslint/no-require-imports\r\n const dotenvExpand = require(\"dotenv-expand\"); // eslint-disable-line @typescript-eslint/no-require-imports\r\n // First check in process.cwd() for the config\r\n let result = dotenv.config();\r\n if (result.error) {\r\n const potential = path.resolve(process.cwd(), \"..\", \"..\", \"..\", \"imodeljs-config\", \".env\");\r\n result = dotenv.config({ path: potential });\r\n if (result.error)\r\n throw result.error;\r\n }\r\n\r\n dotenvExpand(result);\r\n }\r\n\r\n if (isFrontend)\r\n globalThis.process = { browser: true, env } as any;\r\n\r\n // Loads the config out of the environment.\r\n this.load();\r\n }\r\n\r\n /** Loads the necessary variables from `process.env`.\r\n */\r\n private load() {\r\n // Parse OIDC\r\n if (undefined === process.env.OIDC_CLIENT_ID)\r\n throw new Error(\"Missing the 'OIDC_CLIENT_ID' setting.\");\r\n this.oidcClientId = process.env.OIDC_CLIENT_ID!;\r\n\r\n if (undefined === process.env.OIDC_SCOPES)\r\n throw new Error(\"Missing the 'OIDC_SCOPES' setting\");\r\n this.oidcScopes = process.env.OIDC_SCOPES;\r\n\r\n if (process.env.OIDC_AUTHORITY)\r\n this.oidcAuthority = process.env.OIDC_AUTHORITY;\r\n\r\n this.oidcRedirect = (undefined === process.env.OIDC_REDIRECT) ? \"http://localhost:5000\" : process.env.OIDC_REDIRECT;\r\n\r\n // Parse GPRId\r\n if (undefined !== process.env.GPRID)\r\n this.gprid = process.env.GPRID;\r\n\r\n // Parse the iModel variables\r\n if (!process.env.IMODEL_PROJECTID && !process.env.IMODEL_PROJECTNAME)\r\n throw new Error(\"Missing the 'IMODEL_PROJECTID' or 'IMODEL_PROJECTNAME' setting.\");\r\n\r\n if (!process.env.IMODEL_IMODELID && !process.env.IMODEL_IMODELNAME)\r\n throw new Error(\"Missing the 'IMODEL_IMODELID' or 'IMODEL_IMODELNAME' setting.\");\r\n\r\n // Note: This is kind of messy but we don't sign-in to resolve the Names into IDs until the TestContext.\r\n this.iModels.push({\r\n useName: !process.env.IMODEL_IMODELID,\r\n id: process.env.IMODEL_IMODELID,\r\n name: process.env.IMODEL_IMODELNAME,\r\n useITwinName: !process.env.IMODEL_PROJECTID,\r\n iTwinId: process.env.IMODEL_PROJECTID,\r\n iTwinName: process.env.IMODEL_PROJECTNAME,\r\n\r\n // Neither of the next 2 are needed but since they'll be undefined anyway, just always set it.\r\n changeSetId: process.env.IMODEL_CHANGESETID,\r\n });\r\n\r\n // If write rpc interface is defined expect a separate iModel to be used.\r\n if (this.runiModelWriteRpcTests) {\r\n if (!process.env.IMODEL_WRITE_PROJECTID && !process.env.IMODEL_WRITE_PROJECTNAME)\r\n throw new Error(\"Missing the 'IMODEL_WRITE_PROJECTID' or 'IMODEL_WRITE_PROJECTNAME' setting.\");\r\n\r\n if (!process.env.IMODEL_WRITE_IMODELID && !process.env.IMODEL_WRITE_IMODELNAME)\r\n throw new Error(\"Missing the 'IMODEL_WRITE_IMODELID' or 'IMODEL_WRITE_IMODELNAME' setting.\");\r\n\r\n this.iModels.push({\r\n useName: !process.env.IMODEL_WRITE_IMODELID,\r\n id: process.env.IMODEL_WRITE_IMODELID,\r\n name: process.env.IMODEL_WRITE_IMODELNAME,\r\n useITwinName: !process.env.IMODEL_WRITE_PROJECTID,\r\n iTwinId: process.env.IMODEL_WRITE_PROJECTID,\r\n iTwinName: process.env.IMODEL_WRITE_PROJECTNAME,\r\n });\r\n }\r\n\r\n // Parse logging level\r\n if (undefined !== process.env.LOG_LEVEL) {\r\n const level = parseInt(process.env.LOG_LEVEL, 10);\r\n if (!isNaN(level) && undefined !== LogLevel[level])\r\n this.logLevel = level;\r\n }\r\n\r\n // Get backend data\r\n if (undefined === process.env.BACKEND_LOCATION)\r\n throw new Error(\"Missing the 'BACKEND_LOCATION' setting.\");\r\n this._backend.location = process.env.BACKEND_LOCATION;\r\n\r\n if (undefined === process.env.BACKEND_VERSION)\r\n throw new Error(\"Missing the 'BACKEND_VERSION' setting.\");\r\n this._backend.version = process.env.BACKEND_VERSION;\r\n\r\n if (undefined === process.env.BACKEND_NAME)\r\n throw new Error(\"Missing the 'BACKEND_NAME' setting.\");\r\n this._backend.name = process.env.BACKEND_NAME;\r\n\r\n // Get users\r\n this.users.push({\r\n email: process.env.USER_WITH_ACCESS_USERNAME || \"\",\r\n password: process.env.USER_WITH_ACCESS_PASSWORD || \"\",\r\n });\r\n\r\n if (undefined !== process.env.CLIENT_WITH_ACCESS_ID && undefined !== process.env.CLIENT_WITH_ACCESS_SECRET && undefined !== process.env.CLIENT_WITH_ACCESS_SCOPES) {\r\n this.clientConfiguration = {\r\n clientId: process.env.CLIENT_WITH_ACCESS_ID,\r\n clientSecret: process.env.CLIENT_WITH_ACCESS_SECRET,\r\n scope: process.env.CLIENT_WITH_ACCESS_SCOPES,\r\n authority: this.oidcAuthority,\r\n };\r\n }\r\n }\r\n\r\n public toString(): string {\r\n return `Configurations:\r\n backend location: ${this.Backend.location},\r\n backend name: ${this.Backend.name},\r\n backend version: ${this.Backend.version},\r\n oidc client id: ${this.oidcClientId},\r\n oidc scopes: ${this.oidcScopes},\r\n applicationId: ${this.gprid},\r\n log level: ${this.logLevel},\r\n testing iModelTileRpcTests: ${this.runiModelTileRpcTests},\r\n testing PresentationRpcTest: ${this.runPresentationRpcTests},\r\n testing iModelReadRpcTests: ${this.runiModelReadRpcTests},\r\n testing DevToolsRpcTests: ${this.runDevToolsRpcTests},\r\n testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/common/Settings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { ServiceAuthorizationClientConfiguration } from \"@itwin/service-authorization\";\nimport { LogLevel } from \"@itwin/core-bentley\";\nimport { DevToolsRpcInterface, IModelReadRpcInterface, IModelTileRpcInterface } from \"@itwin/core-common\";\nimport { TestUserCredentials } from \"@itwin/oidc-signin-tool\";\nimport { PresentationRpcInterface } from \"@itwin/presentation-common\";\n\nexport interface Backend {\n version: string;\n location: string;\n name: string;\n path: string;\n}\n\n/**\n * Holds the information required to u identify an iModel\n */\nexport interface IModelData {\n useName: boolean; // Defines whether or not to use the name of the iModel\n id?: string; // The iModel Id - This is not required\n name?: string; // The name is not required to actually get the iModel, only the id.\n useITwinName: boolean;\n iTwinId?: string;\n iTwinName?: string;\n changeSetId?: string;\n}\n\nexport function getRpcInterfaces(settings: Settings) {\n const rpcInterfaces = [];\n if (settings.runDevToolsRpcTests)\n rpcInterfaces.push(DevToolsRpcInterface);\n if (settings.runPresentationRpcTests)\n rpcInterfaces.push(PresentationRpcInterface);\n if (settings.runiModelReadRpcTests)\n rpcInterfaces.push(IModelReadRpcInterface);\n if (settings.runiModelTileRpcTests)\n rpcInterfaces.push(IModelTileRpcInterface);\n\n return rpcInterfaces;\n}\n\nfunction checkEnabled(envVariable: string | undefined): boolean {\n if (undefined === envVariable)\n return false;\n\n const regex = /true/i;\n return regex.test(envVariable);\n}\n\nexport class Settings {\n private _backend: Backend = {} as Backend;\n public env: number = 0;\n public oidcClientId!: string;\n public oidcScopes!: string;\n public oidcRedirect!: string;\n public oidcAuthority?: string;\n public gprid?: string;\n public logLevel?: number;\n public users: TestUserCredentials[] = [];\n public clientConfiguration?: ServiceAuthorizationClientConfiguration;\n\n public iModels: IModelData[] = [];\n public get iModel(): IModelData { return this.iModels[0]; }\n public get writeIModel(): IModelData { return this.iModels[1]; }\n public get user(): TestUserCredentials { return this.users[0]; }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public get Backend(): Backend { return this._backend; }\n\n public get runiModelTileRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELTILE_ENABLE); }\n public get runPresentationRpcTests(): boolean { return checkEnabled(process.env.RPC_PRESENTATION_ENABLE); }\n public get runiModelReadRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELREAD_ENABLE); }\n public get runiModelWriteRpcTests(): boolean { return checkEnabled(process.env.RPC_IMODELWRITE_ENABLE); }\n public get runDevToolsRpcTests(): boolean { return checkEnabled(process.env.RPC_DEVTOOLS_ENABLE); }\n\n constructor(env: NodeJS.ProcessEnv) {\n const isFrontend = (typeof (process) === \"undefined\");\n if (!isFrontend && undefined === env.TF_BUILD) {\n const path = require(\"path\"); // eslint-disable-line @typescript-eslint/no-require-imports\n const dotenv = require(\"dotenv\"); // eslint-disable-line @typescript-eslint/no-require-imports\n const dotenvExpand = require(\"dotenv-expand\"); // eslint-disable-line @typescript-eslint/no-require-imports\n // First check in process.cwd() for the config\n let result = dotenv.config();\n if (result.error) {\n const potential = path.resolve(process.cwd(), \"..\", \"..\", \"..\", \"imodeljs-config\", \".env\");\n result = dotenv.config({ path: potential });\n if (result.error)\n throw result.error;\n }\n\n dotenvExpand(result);\n }\n\n if (isFrontend)\n globalThis.process = { browser: true, env } as any;\n\n // Loads the config out of the environment.\n this.load();\n }\n\n /** Loads the necessary variables from `process.env`.\n */\n private load() {\n // Parse OIDC\n if (undefined === process.env.OIDC_CLIENT_ID)\n throw new Error(\"Missing the 'OIDC_CLIENT_ID' setting.\");\n this.oidcClientId = process.env.OIDC_CLIENT_ID!;\n\n if (undefined === process.env.OIDC_SCOPES)\n throw new Error(\"Missing the 'OIDC_SCOPES' setting\");\n this.oidcScopes = process.env.OIDC_SCOPES;\n\n if (process.env.OIDC_AUTHORITY)\n this.oidcAuthority = process.env.OIDC_AUTHORITY;\n\n this.oidcRedirect = (undefined === process.env.OIDC_REDIRECT) ? \"http://localhost:5000\" : process.env.OIDC_REDIRECT;\n\n // Parse GPRId\n if (undefined !== process.env.GPRID)\n this.gprid = process.env.GPRID;\n\n // Parse the iModel variables\n if (!process.env.IMODEL_PROJECTID && !process.env.IMODEL_PROJECTNAME)\n throw new Error(\"Missing the 'IMODEL_PROJECTID' or 'IMODEL_PROJECTNAME' setting.\");\n\n if (!process.env.IMODEL_IMODELID && !process.env.IMODEL_IMODELNAME)\n throw new Error(\"Missing the 'IMODEL_IMODELID' or 'IMODEL_IMODELNAME' setting.\");\n\n // Note: This is kind of messy but we don't sign-in to resolve the Names into IDs until the TestContext.\n this.iModels.push({\n useName: !process.env.IMODEL_IMODELID,\n id: process.env.IMODEL_IMODELID,\n name: process.env.IMODEL_IMODELNAME,\n useITwinName: !process.env.IMODEL_PROJECTID,\n iTwinId: process.env.IMODEL_PROJECTID,\n iTwinName: process.env.IMODEL_PROJECTNAME,\n\n // Neither of the next 2 are needed but since they'll be undefined anyway, just always set it.\n changeSetId: process.env.IMODEL_CHANGESETID,\n });\n\n // If write rpc interface is defined expect a separate iModel to be used.\n if (this.runiModelWriteRpcTests) {\n if (!process.env.IMODEL_WRITE_PROJECTID && !process.env.IMODEL_WRITE_PROJECTNAME)\n throw new Error(\"Missing the 'IMODEL_WRITE_PROJECTID' or 'IMODEL_WRITE_PROJECTNAME' setting.\");\n\n if (!process.env.IMODEL_WRITE_IMODELID && !process.env.IMODEL_WRITE_IMODELNAME)\n throw new Error(\"Missing the 'IMODEL_WRITE_IMODELID' or 'IMODEL_WRITE_IMODELNAME' setting.\");\n\n this.iModels.push({\n useName: !process.env.IMODEL_WRITE_IMODELID,\n id: process.env.IMODEL_WRITE_IMODELID,\n name: process.env.IMODEL_WRITE_IMODELNAME,\n useITwinName: !process.env.IMODEL_WRITE_PROJECTID,\n iTwinId: process.env.IMODEL_WRITE_PROJECTID,\n iTwinName: process.env.IMODEL_WRITE_PROJECTNAME,\n });\n }\n\n // Parse logging level\n if (undefined !== process.env.LOG_LEVEL) {\n const level = parseInt(process.env.LOG_LEVEL, 10);\n if (!isNaN(level) && undefined !== LogLevel[level])\n this.logLevel = level;\n }\n\n // Get backend data\n if (undefined === process.env.BACKEND_LOCATION)\n throw new Error(\"Missing the 'BACKEND_LOCATION' setting.\");\n this._backend.location = process.env.BACKEND_LOCATION;\n\n if (undefined === process.env.BACKEND_VERSION)\n throw new Error(\"Missing the 'BACKEND_VERSION' setting.\");\n this._backend.version = process.env.BACKEND_VERSION;\n\n if (undefined === process.env.BACKEND_NAME)\n throw new Error(\"Missing the 'BACKEND_NAME' setting.\");\n this._backend.name = process.env.BACKEND_NAME;\n\n // Get users\n this.users.push({\n email: process.env.USER_WITH_ACCESS_USERNAME || \"\",\n password: process.env.USER_WITH_ACCESS_PASSWORD || \"\",\n });\n\n if (undefined !== process.env.CLIENT_WITH_ACCESS_ID && undefined !== process.env.CLIENT_WITH_ACCESS_SECRET && undefined !== process.env.CLIENT_WITH_ACCESS_SCOPES) {\n this.clientConfiguration = {\n clientId: process.env.CLIENT_WITH_ACCESS_ID,\n clientSecret: process.env.CLIENT_WITH_ACCESS_SECRET,\n scope: process.env.CLIENT_WITH_ACCESS_SCOPES,\n authority: this.oidcAuthority,\n };\n }\n }\n\n public toString(): string {\n return `Configurations:\n backend location: ${this.Backend.location},\n backend name: ${this.Backend.name},\n backend version: ${this.Backend.version},\n oidc client id: ${this.oidcClientId},\n oidc scopes: ${this.oidcScopes},\n applicationId: ${this.gprid},\n log level: ${this.logLevel},\n testing iModelTileRpcTests: ${this.runiModelTileRpcTests},\n testing PresentationRpcTest: ${this.runPresentationRpcTests},\n testing iModelReadRpcTests: ${this.runiModelReadRpcTests},\n testing DevToolsRpcTests: ${this.runDevToolsRpcTests},\n testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SideChannels.js","sourceRoot":"","sources":["../../src/common/SideChannels.ts"],"names":[],"mappings":";;AAWA,wDAUC;AAED,4DAEC;AACD,0EAGC;AAvBD,wEAAuG;AAEvG,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AACpC,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAEhE,SAAgB,sBAAsB;IACpC,IAAA,uCAAuB,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAuB,EAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QACnE,0EAA0E;QAC1E,mDAAmD;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,sCAAsB,EAAC,kBAAkB,CAAC,CAAC,CAAC;AACtE,CAAC;AACM,KAAK,UAAU,+BAA+B;IACnD,2GAA2G;IAC3G,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n// import { ServiceAuthorizationClient, ServiceAuthorizationClientConfiguration } from \"@itwin/service-authorization\";\r\nimport { AccessToken } from \"@itwin/core-bentley\";\r\nimport { executeBackendCallback, registerBackendCallback } from \"@itwin/certa/lib/utils/CallbackUtils\";\r\n\r\nconst getEnvCallbackName = \"getEnv\";\r\nconst getClientAccessTokenCallbackName = \"getClientAccessToken\";\r\n\r\nexport function exposeBackendCallbacks() {\r\n registerBackendCallback(getEnvCallbackName, () => {\r\n return JSON.stringify(process.env);\r\n });\r\n\r\n registerBackendCallback(getClientAccessTokenCallbackName, async () => {\r\n // const authClient = new ServiceAuthorizationClient(clientConfiguration);\r\n // const token = await authClient.getAccessToken();\r\n return \"\";\r\n });\r\n}\r\n\r\nexport async function getProcessEnvFromBackend(): Promise<NodeJS.ProcessEnv> {\r\n return JSON.parse(await executeBackendCallback(getEnvCallbackName));\r\n}\r\nexport async function getClientAccessTokenFromBackend(): Promise<AccessToken> {\r\n // const tokenString = await executeBackendCallback(getClientAccessTokenCallbackName, clientConfiguration);\r\n return \"\";\r\n}\r\n"]}
1
+ {"version":3,"file":"SideChannels.js","sourceRoot":"","sources":["../../src/common/SideChannels.ts"],"names":[],"mappings":";;AAWA,wDAUC;AAED,4DAEC;AACD,0EAGC;AAvBD,wEAAuG;AAEvG,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AACpC,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAEhE,SAAgB,sBAAsB;IACpC,IAAA,uCAAuB,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAuB,EAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QACnE,0EAA0E;QAC1E,mDAAmD;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,sCAAsB,EAAC,kBAAkB,CAAC,CAAC,CAAC;AACtE,CAAC;AACM,KAAK,UAAU,+BAA+B;IACnD,2GAA2G;IAC3G,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n// import { ServiceAuthorizationClient, ServiceAuthorizationClientConfiguration } from \"@itwin/service-authorization\";\nimport { AccessToken } from \"@itwin/core-bentley\";\nimport { executeBackendCallback, registerBackendCallback } from \"@itwin/certa/lib/utils/CallbackUtils\";\n\nconst getEnvCallbackName = \"getEnv\";\nconst getClientAccessTokenCallbackName = \"getClientAccessToken\";\n\nexport function exposeBackendCallbacks() {\n registerBackendCallback(getEnvCallbackName, () => {\n return JSON.stringify(process.env);\n });\n\n registerBackendCallback(getClientAccessTokenCallbackName, async () => {\n // const authClient = new ServiceAuthorizationClient(clientConfiguration);\n // const token = await authClient.getAccessToken();\n return \"\";\n });\n}\n\nexport async function getProcessEnvFromBackend(): Promise<NodeJS.ProcessEnv> {\n return JSON.parse(await executeBackendCallback(getEnvCallbackName));\n}\nexport async function getClientAccessTokenFromBackend(): Promise<AccessToken> {\n // const tokenString = await executeBackendCallback(getClientAccessTokenCallbackName, clientConfiguration);\n return \"\";\n}\n"]}