@itwin/rpcinterface-full-stack-tests 4.0.0-dev.24 → 4.0.0-dev.30

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,11 +1,4 @@
1
1
  "use strict";
2
- var __asyncValues = (this && this.__asyncValues) || function (o) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var m = o[Symbol.asyncIterator], i;
5
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
- };
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
3
  exports.IModelSession = void 0;
11
4
  /*---------------------------------------------------------------------------------------------
@@ -26,8 +19,6 @@ class IModelSession {
26
19
  this._imodelVersion = changesetId ? core_common_1.IModelVersion.asOfChangeSet(changesetId) : core_common_1.IModelVersion.latest();
27
20
  }
28
21
  static async create(requestContext, iModelData) {
29
- var e_1, _a;
30
- var _b;
31
22
  let iTwinId;
32
23
  let imodelId;
33
24
  // Turn the iTwin name into an id
@@ -51,7 +42,7 @@ class IModelSession {
51
42
  else
52
43
  iTwinId = iModelData.iTwinId;
53
44
  if (iModelData.useName) {
54
- const imodelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_b = process.env.IMJS_URL_PREFIX) !== null && _b !== void 0 ? _b : ""}api.bentley.com/imodels` } });
45
+ const imodelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
55
46
  const imodels = imodelClient.iModels.getRepresentationList({
56
47
  authorization: imodels_access_frontend_1.AccessTokenAdapter.toAuthorizationCallback(await core_frontend_1.IModelApp.getAccessToken()),
57
48
  urlParams: {
@@ -59,19 +50,9 @@ class IModelSession {
59
50
  name: iModelData.name,
60
51
  },
61
52
  });
62
- try {
63
- for (var imodels_1 = __asyncValues(imodels), imodels_1_1; imodels_1_1 = await imodels_1.next(), !imodels_1_1.done;) {
64
- const iModel = imodels_1_1.value;
65
- imodelId = iModel.id;
66
- break;
67
- }
68
- }
69
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
70
- finally {
71
- try {
72
- if (imodels_1_1 && !imodels_1_1.done && (_a = imodels_1.return)) await _a.call(imodels_1);
73
- }
74
- finally { if (e_1) throw e_1.error; }
53
+ for await (const iModel of imodels) {
54
+ imodelId = iModel.id;
55
+ break;
75
56
  }
76
57
  if (!imodelId)
77
58
  throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"IModelSession.js","sourceRoot":"","sources":["../../../src/frontend/setup/IModelSession.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 { expect } from \"chai\";\r\nimport { CheckpointConnection, IModelApp } from \"@itwin/core-frontend\";\r\nimport { Project as ITwin, ProjectsAccessClient, ProjectsSearchableProperty } from \"@itwin/projects-client\";\r\nimport { IModelData } from \"../../common/Settings\";\r\nimport { IModelVersion } from \"@itwin/core-common\";\r\nimport { AccessToken } from \"@itwin/core-bentley\";\r\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\r\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\r\n\r\nexport class IModelSession {\r\n\r\n public iTwinId: string;\r\n public iModelId: string;\r\n public changesetId?: string;\r\n private _imodelVersion: IModelVersion;\r\n\r\n private _iModel?: CheckpointConnection;\r\n\r\n private constructor(iTwinId: string, imodelId: string, changesetId?: string) {\r\n this.iTwinId = iTwinId;\r\n this.iModelId = imodelId;\r\n this.changesetId = changesetId;\r\n\r\n this._imodelVersion = changesetId ? IModelVersion.asOfChangeSet(changesetId) : IModelVersion.latest();\r\n }\r\n\r\n public static async create(requestContext: AccessToken, iModelData: IModelData): Promise<IModelSession> {\r\n let iTwinId;\r\n let imodelId;\r\n\r\n // Turn the iTwin name into an id\r\n if (iModelData.useITwinName) {\r\n if (!iModelData.iTwinName)\r\n throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);\r\n\r\n const client = new ProjectsAccessClient();\r\n const iTwinList: ITwin[] = await client.getAll(requestContext, {\r\n search: {\r\n searchString: iModelData.iTwinName,\r\n propertyName: ProjectsSearchableProperty.Name,\r\n exactMatch: true,\r\n }});\r\n\r\n if (iTwinList.length === 0)\r\n throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);\r\n else if (iTwinList.length > 1)\r\n throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);\r\n\r\n iTwinId = iTwinList[0].id;\r\n } else\r\n iTwinId = iModelData.iTwinId!;\r\n\r\n if (iModelData.useName) {\r\n const imodelClient = new IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? \"\"}api.bentley.com/imodels`}});\r\n const imodels = imodelClient.iModels.getRepresentationList({\r\n authorization: AccessTokenAdapter.toAuthorizationCallback(await IModelApp.getAccessToken()),\r\n urlParams: {\r\n projectId: iTwinId,\r\n name: iModelData.name,\r\n },\r\n });\r\n for await (const iModel of imodels) {\r\n imodelId = iModel.id;\r\n break;\r\n }\r\n if (!imodelId)\r\n throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);\r\n } else\r\n imodelId = iModelData.id!;\r\n\r\n console.log(`Using iModel { name:${iModelData.name}, id:${iModelData.id}, iTwinId:${iModelData.iTwinId}, changesetId:${iModelData.changeSetId} }`); // eslint-disable-line no-console\r\n\r\n return new IModelSession(iTwinId, imodelId, iModelData.changeSetId);\r\n }\r\n\r\n public async getConnection(): Promise<CheckpointConnection> {\r\n return undefined === this._iModel ? this.open() : this._iModel;\r\n }\r\n\r\n public async open(): Promise<CheckpointConnection> {\r\n try {\r\n // eslint-disable-next-line no-console\r\n console.log(`Environment: ${process.env.IMJS_URL_PREFIX}`);\r\n this._iModel = await CheckpointConnection.openRemote(this.iTwinId, this.iModelId, this._imodelVersion);\r\n expect(this._iModel).to.exist;\r\n } catch (e: any) {\r\n throw new Error(`Failed to open test iModel. Error: ${e.message}`);\r\n }\r\n\r\n return this._iModel;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelSession.js","sourceRoot":"","sources":["../../../src/frontend/setup/IModelSession.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 { expect } from \"chai\";\r\nimport { CheckpointConnection, IModelApp } from \"@itwin/core-frontend\";\r\nimport { Project as ITwin, ProjectsAccessClient, ProjectsSearchableProperty } from \"@itwin/projects-client\";\r\nimport { IModelData } from \"../../common/Settings\";\r\nimport { IModelVersion } from \"@itwin/core-common\";\r\nimport { AccessToken } from \"@itwin/core-bentley\";\r\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\r\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\r\n\r\nexport class IModelSession {\r\n\r\n public iTwinId: string;\r\n public iModelId: string;\r\n public changesetId?: string;\r\n private _imodelVersion: IModelVersion;\r\n\r\n private _iModel?: CheckpointConnection;\r\n\r\n private constructor(iTwinId: string, imodelId: string, changesetId?: string) {\r\n this.iTwinId = iTwinId;\r\n this.iModelId = imodelId;\r\n this.changesetId = changesetId;\r\n\r\n this._imodelVersion = changesetId ? IModelVersion.asOfChangeSet(changesetId) : IModelVersion.latest();\r\n }\r\n\r\n public static async create(requestContext: AccessToken, iModelData: IModelData): Promise<IModelSession> {\r\n let iTwinId;\r\n let imodelId;\r\n\r\n // Turn the iTwin name into an id\r\n if (iModelData.useITwinName) {\r\n if (!iModelData.iTwinName)\r\n throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);\r\n\r\n const client = new ProjectsAccessClient();\r\n const iTwinList: ITwin[] = await client.getAll(requestContext, {\r\n search: {\r\n searchString: iModelData.iTwinName,\r\n propertyName: ProjectsSearchableProperty.Name,\r\n exactMatch: true,\r\n }});\r\n\r\n if (iTwinList.length === 0)\r\n throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);\r\n else if (iTwinList.length > 1)\r\n throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);\r\n\r\n iTwinId = iTwinList[0].id;\r\n } else\r\n iTwinId = iModelData.iTwinId!;\r\n\r\n if (iModelData.useName) {\r\n const imodelClient = new IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? \"\"}api.bentley.com/imodels`}});\r\n const imodels = imodelClient.iModels.getRepresentationList({\r\n authorization: AccessTokenAdapter.toAuthorizationCallback(await IModelApp.getAccessToken()),\r\n urlParams: {\r\n projectId: iTwinId,\r\n name: iModelData.name,\r\n },\r\n });\r\n for await (const iModel of imodels) {\r\n imodelId = iModel.id;\r\n break;\r\n }\r\n if (!imodelId)\r\n throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);\r\n } else\r\n imodelId = iModelData.id!;\r\n\r\n console.log(`Using iModel { name:${iModelData.name}, id:${iModelData.id}, iTwinId:${iModelData.iTwinId}, changesetId:${iModelData.changeSetId} }`); // eslint-disable-line no-console\r\n\r\n return new IModelSession(iTwinId, imodelId, iModelData.changeSetId);\r\n }\r\n\r\n public async getConnection(): Promise<CheckpointConnection> {\r\n return undefined === this._iModel ? this.open() : this._iModel;\r\n }\r\n\r\n public async open(): Promise<CheckpointConnection> {\r\n try {\r\n // eslint-disable-next-line no-console\r\n console.log(`Environment: ${process.env.IMJS_URL_PREFIX}`);\r\n this._iModel = await CheckpointConnection.openRemote(this.iTwinId, this.iModelId, this._imodelVersion);\r\n expect(this._iModel).to.exist;\r\n } catch (e: any) {\r\n throw new Error(`Failed to open test iModel. Error: ${e.message}`);\r\n }\r\n\r\n return this._iModel;\r\n }\r\n}\r\n"]}
@@ -35,7 +35,6 @@ class TestContext {
35
35
  core_common_1.BentleyCloudRpcManager.initializeClient({ info, uriPrefix }, (0, Settings_1.getRpcInterfaces)(this.settings));
36
36
  }
37
37
  async initialize() {
38
- var _a;
39
38
  (0, chai_1.expect)(this.settings.users.length).to.be.gte(1, `Unexpected number of users found in settings - got ${this.settings.users.length}, expected at least 2`);
40
39
  (0, chai_1.expect)(this.settings.iModels.length).to.be.gte(1, `Unexpected number of iModels found in settings - got ${this.settings.iModels.length}, expected at least 1`);
41
40
  // Print out the configuration
@@ -57,7 +56,7 @@ class TestContext {
57
56
  if (undefined !== this.settings.clientConfiguration)
58
57
  this.clientAccessToken = await (0, SideChannels_1.getClientAccessTokenFromBackend)();
59
58
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
60
- const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_a = process.env.IMJS_URL_PREFIX) !== null && _a !== void 0 ? _a : ""}api.bentley.com/imodels` } });
59
+ const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
61
60
  await core_frontend_1.NoRenderApp.startup({
62
61
  applicationVersion: PACKAGE_VERSION,
63
62
  applicationId: this.settings.gprid,
@@ -1 +1 @@
1
- {"version":3,"file":"TestContext.js","sourceRoot":"","sources":["../../../src/frontend/setup/TestContext.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\n\r\nimport { expect } from \"chai\";\r\nimport { AccessToken, Logger, LogLevel } from \"@itwin/core-bentley\";\r\nimport { BentleyCloudRpcManager, OpenAPIInfo } from \"@itwin/core-common\";\r\nimport { NoRenderApp } from \"@itwin/core-frontend\";\r\nimport {\r\n getAccessTokenFromBackend, TestBrowserAuthorizationClientConfiguration, TestFrontendAuthorizationClient, TestUserCredentials,\r\n} from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\r\nimport { FrontendIModelsAccess } from \"@itwin/imodels-access-frontend\";\r\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\r\nimport { getRpcInterfaces, Settings } from \"../../common/Settings\";\r\nimport { getClientAccessTokenFromBackend, getProcessEnvFromBackend } from \"../../common/SideChannels\";\r\nimport { IModelSession } from \"./IModelSession\";\r\n\r\ndeclare const PACKAGE_VERSION: string;\r\n\r\n/* eslint-disable no-console */\r\n/* eslint-disable @typescript-eslint/indent */\r\n\r\nexport class TestContext {\r\n public adminUserAccessToken!: AccessToken;\r\n public clientAccessToken?: AccessToken;\r\n\r\n public iModelWithChangesets?: IModelSession;\r\n public iModelForWrite?: IModelSession;\r\n public iTwinId?: string;\r\n\r\n public settings: Settings;\r\n\r\n private constructor(env: NodeJS.ProcessEnv) {\r\n this.settings = new Settings(env);\r\n }\r\n private static _instance?: TestContext = undefined;\r\n\r\n public static async instance(): Promise<TestContext> {\r\n if (this._instance === undefined) {\r\n this._instance = new TestContext(await getProcessEnvFromBackend());\r\n await this._instance.initialize();\r\n }\r\n return this._instance;\r\n }\r\n\r\n /** Initialize configuration for the rpc interfaces used by the application. */\r\n private initializeRpcInterfaces(info: OpenAPIInfo) { // eslint-disable-line deprecation/deprecation\r\n // Url without trailing slash\r\n const uriPrefix: string = this.settings.Backend.location.replace(/\\/$/, \"\");\r\n BentleyCloudRpcManager.initializeClient({ info, uriPrefix }, getRpcInterfaces(this.settings));\r\n }\r\n\r\n private async initialize() {\r\n expect(this.settings.users.length).to.be.gte(1, `Unexpected number of users found in settings - got ${this.settings.users.length}, expected at least 2`);\r\n expect(this.settings.iModels.length).to.be.gte(1, `Unexpected number of iModels found in settings - got ${this.settings.iModels.length}, expected at least 1`);\r\n\r\n // Print out the configuration\r\n console.log(this.settings.toString());\r\n\r\n // Configure iTwin.js frontend logging to go to the console\r\n Logger.initializeToConsole();\r\n Logger.setLevelDefault(this.settings.logLevel === undefined ? LogLevel.Warning : this.settings.logLevel);\r\n\r\n if (undefined !== this.settings.oidcClientId) {\r\n this.adminUserAccessToken = await getAccessTokenFromBackend({\r\n email: this.settings.users[0].email,\r\n password: this.settings.users[0].password,\r\n } as TestUserCredentials, {\r\n clientId: this.settings.oidcClientId,\r\n redirectUri: this.settings.oidcRedirect,\r\n scope: this.settings.oidcScopes,\r\n authority: this.settings.oidcAuthority,\r\n } as TestBrowserAuthorizationClientConfiguration);\r\n }\r\n\r\n if (undefined !== this.settings.clientConfiguration)\r\n this.clientAccessToken = await getClientAccessTokenFromBackend();\r\n\r\n this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });\r\n\r\n const iModelClient = new IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? \"\"}api.bentley.com/imodels` } });\r\n await NoRenderApp.startup({\r\n applicationVersion: PACKAGE_VERSION,\r\n applicationId: this.settings.gprid,\r\n authorizationClient: new TestFrontendAuthorizationClient(this.adminUserAccessToken),\r\n hubAccess: new FrontendIModelsAccess(iModelClient),\r\n });\r\n\r\n this.iModelWithChangesets = await IModelSession.create(this.adminUserAccessToken, this.settings.iModel);\r\n this.iTwinId = this.iModelWithChangesets.iTwinId;\r\n if (this.settings.runiModelWriteRpcTests)\r\n this.iModelForWrite = await IModelSession.create(this.adminUserAccessToken, this.settings.writeIModel);\r\n\r\n console.log(\"TestSetup: Done\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TestContext.js","sourceRoot":"","sources":["../../../src/frontend/setup/TestContext.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,+BAA8B;AAC9B,sDAAoE;AACpE,oDAAyE;AACzE,wDAAmD;AACnD,uEAEkD;AAClD,4EAAuE;AACvE,gFAAiE;AACjE,oDAAmE;AACnE,4DAAsG;AACtG,mDAAgD;AAIhD,+BAA+B;AAC/B,8CAA8C;AAE9C,MAAa,WAAW;IAUtB,YAAoB,GAAsB;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAGM,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,MAAM,IAAA,uCAAwB,GAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,+EAA+E;IACvE,uBAAuB,CAAC,IAAiB;QAC/C,6BAA6B;QAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,oCAAsB,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAA,2BAAgB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sDAAsD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACzJ,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wDAAwD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAE/J,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,2DAA2D;QAC3D,qBAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7B,qBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzG,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC5C,IAAI,CAAC,oBAAoB,GAAG,MAAM,IAAA,oCAAyB,EAAC;gBAC1D,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;aACnB,EAAE;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;gBACpC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;gBACvC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;aACQ,CAAC,CAAC;SACnD;QAED,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,mBAAmB;YACjD,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAA,8CAA+B,GAAE,CAAC;QAEnE,IAAI,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5G,MAAM,YAAY,GAAG,IAAI,yCAAa,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACpI,MAAM,2BAAW,CAAC,OAAO,CAAC;YACxB,kBAAkB,EAAE,eAAe;YACnC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAClC,mBAAmB,EAAE,IAAI,0CAA+B,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACnF,SAAS,EAAE,IAAI,+CAAqB,CAAC,YAAY,CAAC;SACnD,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,MAAM,6BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB;YACtC,IAAI,CAAC,cAAc,GAAG,MAAM,6BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEzG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;;AAxEH,kCAyEC;AA5DgB,qBAAS,GAAiB,SAAS,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\r\nimport { expect } from \"chai\";\r\nimport { AccessToken, Logger, LogLevel } from \"@itwin/core-bentley\";\r\nimport { BentleyCloudRpcManager, OpenAPIInfo } from \"@itwin/core-common\";\r\nimport { NoRenderApp } from \"@itwin/core-frontend\";\r\nimport {\r\n getAccessTokenFromBackend, TestBrowserAuthorizationClientConfiguration, TestFrontendAuthorizationClient, TestUserCredentials,\r\n} from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\r\nimport { FrontendIModelsAccess } from \"@itwin/imodels-access-frontend\";\r\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\r\nimport { getRpcInterfaces, Settings } from \"../../common/Settings\";\r\nimport { getClientAccessTokenFromBackend, getProcessEnvFromBackend } from \"../../common/SideChannels\";\r\nimport { IModelSession } from \"./IModelSession\";\r\n\r\ndeclare const PACKAGE_VERSION: string;\r\n\r\n/* eslint-disable no-console */\r\n/* eslint-disable @typescript-eslint/indent */\r\n\r\nexport class TestContext {\r\n public adminUserAccessToken!: AccessToken;\r\n public clientAccessToken?: AccessToken;\r\n\r\n public iModelWithChangesets?: IModelSession;\r\n public iModelForWrite?: IModelSession;\r\n public iTwinId?: string;\r\n\r\n public settings: Settings;\r\n\r\n private constructor(env: NodeJS.ProcessEnv) {\r\n this.settings = new Settings(env);\r\n }\r\n private static _instance?: TestContext = undefined;\r\n\r\n public static async instance(): Promise<TestContext> {\r\n if (this._instance === undefined) {\r\n this._instance = new TestContext(await getProcessEnvFromBackend());\r\n await this._instance.initialize();\r\n }\r\n return this._instance;\r\n }\r\n\r\n /** Initialize configuration for the rpc interfaces used by the application. */\r\n private initializeRpcInterfaces(info: OpenAPIInfo) { // eslint-disable-line deprecation/deprecation\r\n // Url without trailing slash\r\n const uriPrefix: string = this.settings.Backend.location.replace(/\\/$/, \"\");\r\n BentleyCloudRpcManager.initializeClient({ info, uriPrefix }, getRpcInterfaces(this.settings));\r\n }\r\n\r\n private async initialize() {\r\n expect(this.settings.users.length).to.be.gte(1, `Unexpected number of users found in settings - got ${this.settings.users.length}, expected at least 2`);\r\n expect(this.settings.iModels.length).to.be.gte(1, `Unexpected number of iModels found in settings - got ${this.settings.iModels.length}, expected at least 1`);\r\n\r\n // Print out the configuration\r\n console.log(this.settings.toString());\r\n\r\n // Configure iTwin.js frontend logging to go to the console\r\n Logger.initializeToConsole();\r\n Logger.setLevelDefault(this.settings.logLevel === undefined ? LogLevel.Warning : this.settings.logLevel);\r\n\r\n if (undefined !== this.settings.oidcClientId) {\r\n this.adminUserAccessToken = await getAccessTokenFromBackend({\r\n email: this.settings.users[0].email,\r\n password: this.settings.users[0].password,\r\n } as TestUserCredentials, {\r\n clientId: this.settings.oidcClientId,\r\n redirectUri: this.settings.oidcRedirect,\r\n scope: this.settings.oidcScopes,\r\n authority: this.settings.oidcAuthority,\r\n } as TestBrowserAuthorizationClientConfiguration);\r\n }\r\n\r\n if (undefined !== this.settings.clientConfiguration)\r\n this.clientAccessToken = await getClientAccessTokenFromBackend();\r\n\r\n this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });\r\n\r\n const iModelClient = new IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? \"\"}api.bentley.com/imodels` } });\r\n await NoRenderApp.startup({\r\n applicationVersion: PACKAGE_VERSION,\r\n applicationId: this.settings.gprid,\r\n authorizationClient: new TestFrontendAuthorizationClient(this.adminUserAccessToken),\r\n hubAccess: new FrontendIModelsAccess(iModelClient),\r\n });\r\n\r\n this.iModelWithChangesets = await IModelSession.create(this.adminUserAccessToken, this.settings.iModel);\r\n this.iTwinId = this.iModelWithChangesets.iTwinId;\r\n if (this.settings.runiModelWriteRpcTests)\r\n this.iModelForWrite = await IModelSession.create(this.adminUserAccessToken, this.settings.writeIModel);\r\n\r\n console.log(\"TestSetup: Done\");\r\n }\r\n}\r\n"]}
@@ -3,13 +3,6 @@
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
- var __asyncValues = (this && this.__asyncValues) || function (o) {
7
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
8
- var m = o[Symbol.asyncIterator], i;
9
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
10
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
11
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
12
- };
13
6
  Object.defineProperty(exports, "__esModule", { value: true });
14
7
  const chai = require("chai");
15
8
  const chaiAsPromised = require("chai-as-promised");
@@ -41,22 +34,10 @@ describe("Basic Scenarios", async () => {
41
34
  await openIModelAndQueryPage(iTwinId, iModelId);
42
35
  });
43
36
  it("should open iModel and Execute Query TestCase:819343", async () => {
44
- var e_1, _a;
45
37
  const iModel = await testContext.iModelWithChangesets.getConnection();
46
38
  const rows = [];
47
- try {
48
- for (var _b = __asyncValues(iModel.query("SELECT ECInstanceId AS id FROM BisCore.Element", undefined, { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames, limit: { count: 10 } })), _c; _c = await _b.next(), !_c.done;) {
49
- const row = _c.value;
50
- rows.push(row);
51
- }
52
- }
53
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
- finally {
55
- try {
56
- if (_c && !_c.done && (_a = _b.return)) await _a.call(_b);
57
- }
58
- finally { if (e_1) throw e_1.error; }
59
- }
39
+ for await (const row of iModel.query("SELECT ECInstanceId AS id FROM BisCore.Element", undefined, { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames, limit: { count: 10 } }))
40
+ rows.push(row);
60
41
  expect(rows).not.to.be.empty;
61
42
  });
62
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BasicScenarios.test.js","sourceRoot":"","sources":["../../../src/frontend/workflows/BasicScenarios.test.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;AAE/F,6BAA6B;AAC7B,mDAAmD;AACnD,oDAAoD;AACpD,wDAAuE;AACvE,uEAA2F;AAC3F,sDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACrC,IAAI,WAAwB,CAAC;IAE7B,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,WAAW,GAAG,MAAM,yBAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,CAAC;QACrD,yBAAS,CAAC,mBAAmB,GAAG,IAAI,0CAA+B,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;QACrE,MAAM,MAAM,GAAG,MAAM,oCAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,kHAAkH,EAAE,KAAK,IAAI,EAAE;QAChI,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAqB,CAAC,QAAQ,CAAC;QAC5D,MAAM,sBAAsB,CAAC,OAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;;QACpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAqB,CAAC,aAAa,EAAE,CAAC;QAEvE,MAAM,IAAI,GAAG,EAAE,CAAC;;YAChB,KAAwB,IAAA,KAAA,cAAA,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,4BAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,IAAA;gBAA9J,MAAM,GAAG,WAAA,CAAA;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAAA;;;;;;;;;QAEjB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,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\r\nimport * as chai from \"chai\";\r\nimport * as chaiAsPromised from \"chai-as-promised\";\r\nimport { QueryRowFormat } from \"@itwin/core-common\";\r\nimport { CheckpointConnection, IModelApp } from \"@itwin/core-frontend\";\r\nimport { TestFrontendAuthorizationClient } from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\r\nimport { TestContext } from \"../setup/TestContext\";\r\n\r\nconst expect = chai.expect;\r\n\r\nchai.use(chaiAsPromised);\r\n\r\ndescribe(\"Basic Scenarios\", async () => {\r\n let testContext: TestContext;\r\n\r\n before(async () => {\r\n testContext = await TestContext.instance();\r\n const accessToken = testContext.adminUserAccessToken;\r\n IModelApp.authorizationClient = new TestFrontendAuthorizationClient(accessToken);\r\n });\r\n\r\n async function openIModelAndQueryPage(iTwinId: string, iModelId: string) {\r\n const iModel = await CheckpointConnection.openRemote(iTwinId, iModelId);\r\n expect(iModel).to.exist;\r\n expect(iModel.elements).to.exist;\r\n\r\n const elements = iModel.elements;\r\n const elementProps = await elements.getProps(elements.rootSubjectId);\r\n expect(elementProps).to.exist;\r\n expect(elementProps.length).to.equal(1);\r\n }\r\n\r\n it(\"should successfully open a new IModel with changesets for read and Get Properties for an Element TestCase:819342\", async () => {\r\n const iTwinId = testContext.iTwinId;\r\n\r\n const iModelId = testContext.iModelWithChangesets!.iModelId;\r\n await openIModelAndQueryPage(iTwinId!, iModelId);\r\n });\r\n\r\n it(\"should open iModel and Execute Query TestCase:819343\", async () => {\r\n const iModel = await testContext.iModelWithChangesets!.getConnection();\r\n\r\n const rows = [];\r\n for await (const row of iModel.query(\"SELECT ECInstanceId AS id FROM BisCore.Element\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames, limit: { count: 10 } }))\r\n rows.push(row);\r\n\r\n expect(rows).not.to.be.empty;\r\n });\r\n\r\n});\r\n"]}
1
+ {"version":3,"file":"BasicScenarios.test.js","sourceRoot":"","sources":["../../../src/frontend/workflows/BasicScenarios.test.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAE/F,6BAA6B;AAC7B,mDAAmD;AACnD,oDAAoD;AACpD,wDAAuE;AACvE,uEAA2F;AAC3F,sDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACrC,IAAI,WAAwB,CAAC;IAE7B,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,WAAW,GAAG,MAAM,yBAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,CAAC;QACrD,yBAAS,CAAC,mBAAmB,GAAG,IAAI,0CAA+B,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;QACrE,MAAM,MAAM,GAAG,MAAM,oCAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,kHAAkH,EAAE,KAAK,IAAI,EAAE;QAChI,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAqB,CAAC,QAAQ,CAAC;QAC5D,MAAM,sBAAsB,CAAC,OAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAqB,CAAC,aAAa,EAAE,CAAC;QAEvE,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,4BAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YACvK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,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\r\nimport * as chai from \"chai\";\r\nimport * as chaiAsPromised from \"chai-as-promised\";\r\nimport { QueryRowFormat } from \"@itwin/core-common\";\r\nimport { CheckpointConnection, IModelApp } from \"@itwin/core-frontend\";\r\nimport { TestFrontendAuthorizationClient } from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\r\nimport { TestContext } from \"../setup/TestContext\";\r\n\r\nconst expect = chai.expect;\r\n\r\nchai.use(chaiAsPromised);\r\n\r\ndescribe(\"Basic Scenarios\", async () => {\r\n let testContext: TestContext;\r\n\r\n before(async () => {\r\n testContext = await TestContext.instance();\r\n const accessToken = testContext.adminUserAccessToken;\r\n IModelApp.authorizationClient = new TestFrontendAuthorizationClient(accessToken);\r\n });\r\n\r\n async function openIModelAndQueryPage(iTwinId: string, iModelId: string) {\r\n const iModel = await CheckpointConnection.openRemote(iTwinId, iModelId);\r\n expect(iModel).to.exist;\r\n expect(iModel.elements).to.exist;\r\n\r\n const elements = iModel.elements;\r\n const elementProps = await elements.getProps(elements.rootSubjectId);\r\n expect(elementProps).to.exist;\r\n expect(elementProps.length).to.equal(1);\r\n }\r\n\r\n it(\"should successfully open a new IModel with changesets for read and Get Properties for an Element TestCase:819342\", async () => {\r\n const iTwinId = testContext.iTwinId;\r\n\r\n const iModelId = testContext.iModelWithChangesets!.iModelId;\r\n await openIModelAndQueryPage(iTwinId!, iModelId);\r\n });\r\n\r\n it(\"should open iModel and Execute Query TestCase:819343\", async () => {\r\n const iModel = await testContext.iModelWithChangesets!.getConnection();\r\n\r\n const rows = [];\r\n for await (const row of iModel.query(\"SELECT ECInstanceId AS id FROM BisCore.Element\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames, limit: { count: 10 } }))\r\n rows.push(row);\r\n\r\n expect(rows).not.to.be.empty;\r\n });\r\n\r\n});\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/rpcinterface-full-stack-tests",
3
- "version": "4.0.0-dev.24",
3
+ "version": "4.0.0-dev.30",
4
4
  "description": "Test the full iTwin.js Core stack (frontend and backend) using standard RPC interfaces",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,17 +22,17 @@
22
22
  "@itwin/imodels-access-frontend": "^2.2.1",
23
23
  "@itwin/imodels-client-authoring": "^2.2.1",
24
24
  "@itwin/imodels-client-management": "^2.2.1",
25
- "@itwin/build-tools": "4.0.0-dev.24",
26
- "@itwin/core-bentley": "4.0.0-dev.24",
27
- "@itwin/core-common": "4.0.0-dev.24",
28
- "@itwin/core-frontend": "4.0.0-dev.24",
29
- "@itwin/core-geometry": "4.0.0-dev.24",
30
- "@itwin/core-quantity": "4.0.0-dev.24",
31
- "@itwin/certa": "4.0.0-dev.24",
32
- "@itwin/eslint-plugin": "4.0.0-dev.24",
25
+ "@itwin/build-tools": "4.0.0-dev.30",
26
+ "@itwin/core-bentley": "4.0.0-dev.30",
27
+ "@itwin/core-common": "4.0.0-dev.30",
28
+ "@itwin/core-frontend": "4.0.0-dev.30",
29
+ "@itwin/core-geometry": "4.0.0-dev.30",
30
+ "@itwin/core-quantity": "4.0.0-dev.30",
31
+ "@itwin/certa": "4.0.0-dev.30",
32
+ "@itwin/eslint-plugin": "4.0.0-dev.30",
33
33
  "@itwin/oidc-signin-tool": "^3.2.2",
34
- "@itwin/presentation-common": "4.0.0-dev.24",
35
- "@itwin/presentation-frontend": "4.0.0-dev.24",
34
+ "@itwin/presentation-common": "4.0.0-dev.30",
35
+ "@itwin/presentation-frontend": "4.0.0-dev.30",
36
36
  "@itwin/service-authorization": "^0.6.3",
37
37
  "chai": "^4.1.2",
38
38
  "chai-as-promised": "^7",
@@ -43,9 +43,9 @@
43
43
  "puppeteer": "15.5.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@itwin/core-backend": "4.0.0-dev.24",
47
- "@itwin/express-server": "4.0.0-dev.24",
48
- "@itwin/presentation-backend": "4.0.0-dev.24",
46
+ "@itwin/core-backend": "4.0.0-dev.30",
47
+ "@itwin/express-server": "4.0.0-dev.30",
48
+ "@itwin/presentation-backend": "4.0.0-dev.30",
49
49
  "@itwin/projects-client": "^0.6.0",
50
50
  "@types/chai": "4.3.1",
51
51
  "@types/chai-as-promised": "^7",