@itwin/rpcinterface-full-stack-tests 3.7.17 → 3.8.0

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.
Files changed (46) hide show
  1. package/lib/backend/BackendInit.d.ts +1 -1
  2. package/lib/backend/BackendInit.js +28 -28
  3. package/lib/backend/BackendInit.js.map +1 -1
  4. package/lib/common/Settings.d.ts +51 -51
  5. package/lib/common/Settings.js +155 -155
  6. package/lib/common/Settings.js.map +1 -1
  7. package/lib/common/SideChannels.d.ts +5 -5
  8. package/lib/common/SideChannels.js +26 -26
  9. package/lib/common/SideChannels.js.map +1 -1
  10. package/lib/dist/bundled-tests.js +98621 -98621
  11. package/lib/dist/bundled-tests.js.map +1 -1
  12. package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js +9 -9
  13. package/lib/frontend/CodeSpecs.test.d.ts +1 -1
  14. package/lib/frontend/CodeSpecs.test.js +46 -46
  15. package/lib/frontend/CodeSpecs.test.js.map +1 -1
  16. package/lib/frontend/DevToolsRpc.test.d.ts +1 -1
  17. package/lib/frontend/DevToolsRpc.test.js +49 -49
  18. package/lib/frontend/DevToolsRpc.test.js.map +1 -1
  19. package/lib/frontend/Elements.test.d.ts +1 -1
  20. package/lib/frontend/Elements.test.js +68 -68
  21. package/lib/frontend/Elements.test.js.map +1 -1
  22. package/lib/frontend/IModel.test.d.ts +1 -1
  23. package/lib/frontend/IModel.test.js +30 -30
  24. package/lib/frontend/IModel.test.js.map +1 -1
  25. package/lib/frontend/IModelConnection.test.d.ts +1 -1
  26. package/lib/frontend/IModelConnection.test.js +331 -331
  27. package/lib/frontend/IModelConnection.test.js.map +1 -1
  28. package/lib/frontend/Models.test.d.ts +1 -1
  29. package/lib/frontend/Models.test.js +29 -29
  30. package/lib/frontend/Models.test.js.map +1 -1
  31. package/lib/frontend/PresentationRpc.test.d.ts +1 -1
  32. package/lib/frontend/PresentationRpc.test.js +185 -185
  33. package/lib/frontend/PresentationRpc.test.js.map +1 -1
  34. package/lib/frontend/Views.test.d.ts +1 -1
  35. package/lib/frontend/Views.test.js +37 -37
  36. package/lib/frontend/Views.test.js.map +1 -1
  37. package/lib/frontend/setup/IModelSession.d.ts +14 -14
  38. package/lib/frontend/setup/IModelSession.js +100 -100
  39. package/lib/frontend/setup/IModelSession.js.map +1 -1
  40. package/lib/frontend/setup/TestContext.d.ts +17 -17
  41. package/lib/frontend/setup/TestContext.js +75 -75
  42. package/lib/frontend/setup/TestContext.js.map +1 -1
  43. package/lib/frontend/workflows/BasicScenarios.test.d.ts +1 -1
  44. package/lib/frontend/workflows/BasicScenarios.test.js +63 -63
  45. package/lib/frontend/workflows/BasicScenarios.test.js.map +1 -1
  46. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRpc.test.js","sourceRoot":"","sources":["../../src/frontend/PresentationRpc.test.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 { Id64 } from \"@itwin/core-bentley\";\r\nimport { CheckpointConnection, IModelApp, IModelConnection } from \"@itwin/core-frontend\";\r\nimport { TestFrontendAuthorizationClient } from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\r\nimport { ChildNodeSpecificationTypes, ContentSpecificationTypes, InstanceKey, KeySet, Ruleset, RuleTypes } from \"@itwin/presentation-common\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { TestContext } from \"./setup/TestContext\";\r\n\r\ndescribe(\"PresentationRpcInterface tests\", () => {\r\n\r\n let imodel: IModelConnection;\r\n\r\n before(async function () {\r\n const testContext = await TestContext.instance();\r\n if (!testContext.settings.runPresentationRpcTests)\r\n this.skip();\r\n\r\n await Presentation.initialize();\r\n\r\n const iModelId = testContext.iModelWithChangesets!.iModelId;\r\n const iTwinId = testContext.iModelWithChangesets!.iTwinId;\r\n const accessToken = testContext.adminUserAccessToken;\r\n IModelApp.authorizationClient = new TestFrontendAuthorizationClient(accessToken);\r\n imodel = await CheckpointConnection.openRemote(iTwinId, iModelId);\r\n });\r\n\r\n after(() => {\r\n Presentation.terminate();\r\n });\r\n\r\n it(\"getNodes works as expected\", async () => {\r\n const rootNodes = await Presentation.presentation.getNodes({\r\n imodel,\r\n rulesetOrId: createNodesRuleset(),\r\n });\r\n expect(rootNodes).to.not.be.empty;\r\n });\r\n\r\n it(\"getNodesAndCount works as expected\", async () => {\r\n const nodesAndCount = await Presentation.presentation.getNodesAndCount({\r\n imodel,\r\n rulesetOrId: createNodesRuleset(),\r\n });\r\n expect(nodesAndCount.count).to.not.be.undefined;\r\n });\r\n\r\n it(\"getNodesCount works as expected\", async () => {\r\n const count = await Presentation.presentation.getNodesCount({\r\n imodel,\r\n rulesetOrId: createNodesRuleset(),\r\n });\r\n expect(count).to.not.be.undefined;\r\n });\r\n\r\n it(\"getNodePaths works as expected\", async () => {\r\n const result = await Presentation.presentation.getNodePaths({\r\n imodel,\r\n rulesetOrId: createNodesRuleset(),\r\n instancePaths: [[{ id: Id64.fromString(\"0x1\"), className: \"BisCore:RepositoryModel\" }]],\r\n markedIndex: 0,\r\n });\r\n expect(result).to.not.be.undefined;\r\n });\r\n\r\n it(\"getFilteredNodePaths works as expected\", async () => {\r\n const result = await Presentation.presentation.getFilteredNodePaths({\r\n imodel,\r\n rulesetOrId: createNodesRuleset(),\r\n filterText: \"\",\r\n });\r\n expect(result).to.not.be.undefined;\r\n });\r\n\r\n it(\"getContentSources works as expected\", async () => {\r\n const result = await Presentation.presentation.getContentSources({\r\n imodel,\r\n classes: [\"BisCore:Subject\"],\r\n });\r\n expect(result).to.not.be.undefined;\r\n });\r\n\r\n it(\"getContentDescriptor works as expected\", async () => {\r\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\r\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\r\n const keys = new KeySet([key1, key2]);\r\n const descriptor = await Presentation.presentation.getContentDescriptor({\r\n imodel,\r\n rulesetOrId: createContentRuleset(),\r\n displayType: \"Grid\",\r\n keys,\r\n });\r\n expect(descriptor).to.not.be.undefined;\r\n });\r\n\r\n it(\"getContentAndSize works as expected\", async () => {\r\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\r\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\r\n const keys = new KeySet([key1, key2]);\r\n const contentAndSize = await Presentation.presentation.getContentAndSize({\r\n imodel,\r\n rulesetOrId: createContentRuleset(),\r\n descriptor: {},\r\n keys,\r\n });\r\n expect(contentAndSize).to.not.be.undefined;\r\n });\r\n\r\n it(\"getContent works as expected\", async () => {\r\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\r\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\r\n const keys = new KeySet([key1, key2]);\r\n const content = await Presentation.presentation.getContent({\r\n imodel,\r\n rulesetOrId: createContentRuleset(),\r\n descriptor: {},\r\n keys,\r\n });\r\n expect(content).to.not.be.undefined;\r\n });\r\n\r\n it(\"getContentSetSize works as expected\", async () => {\r\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\r\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\r\n const keys = new KeySet([key1, key2]);\r\n const contentSetSize = await Presentation.presentation.getContentSetSize({\r\n imodel,\r\n rulesetOrId: createContentRuleset(),\r\n descriptor: {},\r\n keys,\r\n });\r\n expect(contentSetSize).to.not.be.undefined;\r\n });\r\n\r\n it(\"getElementProperties works as expected\", async () => {\r\n const result = await Presentation.presentation.getElementProperties({\r\n imodel,\r\n elementId: \"0x1\",\r\n });\r\n expect(result).to.not.be.undefined;\r\n });\r\n\r\n it(\"getDisplayLabelDefinition works as expected\", async () => {\r\n const displayLabel = await Presentation.presentation.getDisplayLabelDefinition({\r\n imodel,\r\n key: { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" },\r\n });\r\n expect(displayLabel).to.not.be.undefined;\r\n });\r\n\r\n it(\"getDisplayLabelDefinitions works as expected\", async () => {\r\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\r\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\r\n const displayLabels = await Presentation.presentation.getDisplayLabelDefinitions({\r\n imodel,\r\n keys: [key1, key2],\r\n });\r\n expect(displayLabels).to.not.be.undefined;\r\n });\r\n\r\n it(\"getSelectionScopes works as expected\", async () => {\r\n const scopeIds = await Presentation.selection.scopes.getSelectionScopes(imodel);\r\n expect(scopeIds).to.not.be.undefined;\r\n });\r\n\r\n it(\"computeSelection works as expected\", async () => {\r\n const computedSelections = await Presentation.selection.scopes.computeSelection(imodel, [\"0x1\"], \"element\");\r\n expect(computedSelections).to.not.be.undefined;\r\n });\r\n\r\n});\r\n\r\nconst createNodesRuleset = (): Ruleset => ({\r\n id: \"nodes\",\r\n rules: [\r\n {\r\n ruleType: RuleTypes.RootNodes,\r\n specifications: [\r\n {\r\n specType: ChildNodeSpecificationTypes.InstanceNodesOfSpecificClasses,\r\n classes: {\r\n schemaName: \"BisCore\",\r\n classNames: [\"Model\"],\r\n },\r\n arePolymorphic: true,\r\n },\r\n ],\r\n },\r\n ],\r\n});\r\n\r\nconst createContentRuleset = (): Ruleset => ({\r\n id: \"content\",\r\n rules: [\r\n {\r\n ruleType: RuleTypes.Content,\r\n specifications: [\r\n {\r\n specType: ContentSpecificationTypes.SelectedNodeInstances,\r\n },\r\n ],\r\n },\r\n ],\r\n});\r\n"]}
1
+ {"version":3,"file":"PresentationRpc.test.js","sourceRoot":"","sources":["../../src/frontend/PresentationRpc.test.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 { expect } from \"chai\";\nimport { Id64 } from \"@itwin/core-bentley\";\nimport { CheckpointConnection, IModelApp, IModelConnection } from \"@itwin/core-frontend\";\nimport { TestFrontendAuthorizationClient } from \"@itwin/oidc-signin-tool/lib/cjs/frontend\";\nimport { ChildNodeSpecificationTypes, ContentSpecificationTypes, InstanceKey, KeySet, Ruleset, RuleTypes } from \"@itwin/presentation-common\";\nimport { Presentation } from \"@itwin/presentation-frontend\";\nimport { TestContext } from \"./setup/TestContext\";\n\ndescribe(\"PresentationRpcInterface tests\", () => {\n\n let imodel: IModelConnection;\n\n before(async function () {\n const testContext = await TestContext.instance();\n if (!testContext.settings.runPresentationRpcTests)\n this.skip();\n\n await Presentation.initialize();\n\n const iModelId = testContext.iModelWithChangesets!.iModelId;\n const iTwinId = testContext.iModelWithChangesets!.iTwinId;\n const accessToken = testContext.adminUserAccessToken;\n IModelApp.authorizationClient = new TestFrontendAuthorizationClient(accessToken);\n imodel = await CheckpointConnection.openRemote(iTwinId, iModelId);\n });\n\n after(() => {\n Presentation.terminate();\n });\n\n it(\"getNodes works as expected\", async () => {\n const rootNodes = await Presentation.presentation.getNodes({\n imodel,\n rulesetOrId: createNodesRuleset(),\n });\n expect(rootNodes).to.not.be.empty;\n });\n\n it(\"getNodesAndCount works as expected\", async () => {\n const nodesAndCount = await Presentation.presentation.getNodesAndCount({\n imodel,\n rulesetOrId: createNodesRuleset(),\n });\n expect(nodesAndCount.count).to.not.be.undefined;\n });\n\n it(\"getNodesCount works as expected\", async () => {\n const count = await Presentation.presentation.getNodesCount({\n imodel,\n rulesetOrId: createNodesRuleset(),\n });\n expect(count).to.not.be.undefined;\n });\n\n it(\"getNodePaths works as expected\", async () => {\n const result = await Presentation.presentation.getNodePaths({\n imodel,\n rulesetOrId: createNodesRuleset(),\n instancePaths: [[{ id: Id64.fromString(\"0x1\"), className: \"BisCore:RepositoryModel\" }]],\n markedIndex: 0,\n });\n expect(result).to.not.be.undefined;\n });\n\n it(\"getFilteredNodePaths works as expected\", async () => {\n const result = await Presentation.presentation.getFilteredNodePaths({\n imodel,\n rulesetOrId: createNodesRuleset(),\n filterText: \"\",\n });\n expect(result).to.not.be.undefined;\n });\n\n it(\"getContentSources works as expected\", async () => {\n const result = await Presentation.presentation.getContentSources({\n imodel,\n classes: [\"BisCore:Subject\"],\n });\n expect(result).to.not.be.undefined;\n });\n\n it(\"getContentDescriptor works as expected\", async () => {\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\n const keys = new KeySet([key1, key2]);\n const descriptor = await Presentation.presentation.getContentDescriptor({\n imodel,\n rulesetOrId: createContentRuleset(),\n displayType: \"Grid\",\n keys,\n });\n expect(descriptor).to.not.be.undefined;\n });\n\n it(\"getContentAndSize works as expected\", async () => {\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\n const keys = new KeySet([key1, key2]);\n const contentAndSize = await Presentation.presentation.getContentAndSize({\n imodel,\n rulesetOrId: createContentRuleset(),\n descriptor: {},\n keys,\n });\n expect(contentAndSize).to.not.be.undefined;\n });\n\n it(\"getContent works as expected\", async () => {\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\n const keys = new KeySet([key1, key2]);\n const content = await Presentation.presentation.getContent({\n imodel,\n rulesetOrId: createContentRuleset(),\n descriptor: {},\n keys,\n });\n expect(content).to.not.be.undefined;\n });\n\n it(\"getContentSetSize works as expected\", async () => {\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\n const keys = new KeySet([key1, key2]);\n const contentSetSize = await Presentation.presentation.getContentSetSize({\n imodel,\n rulesetOrId: createContentRuleset(),\n descriptor: {},\n keys,\n });\n expect(contentSetSize).to.not.be.undefined;\n });\n\n it(\"getElementProperties works as expected\", async () => {\n const result = await Presentation.presentation.getElementProperties({\n imodel,\n elementId: \"0x1\",\n });\n expect(result).to.not.be.undefined;\n });\n\n it(\"getDisplayLabelDefinition works as expected\", async () => {\n const displayLabel = await Presentation.presentation.getDisplayLabelDefinition({\n imodel,\n key: { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" },\n });\n expect(displayLabel).to.not.be.undefined;\n });\n\n it(\"getDisplayLabelDefinitions works as expected\", async () => {\n const key1: InstanceKey = { id: Id64.fromString(\"0x1\"), className: \"BisCore:Subject\" };\n const key2: InstanceKey = { id: Id64.fromString(\"0x17\"), className: \"BisCore:SpatialCategory\" };\n const displayLabels = await Presentation.presentation.getDisplayLabelDefinitions({\n imodel,\n keys: [key1, key2],\n });\n expect(displayLabels).to.not.be.undefined;\n });\n\n it(\"getSelectionScopes works as expected\", async () => {\n const scopeIds = await Presentation.selection.scopes.getSelectionScopes(imodel);\n expect(scopeIds).to.not.be.undefined;\n });\n\n it(\"computeSelection works as expected\", async () => {\n const computedSelections = await Presentation.selection.scopes.computeSelection(imodel, [\"0x1\"], \"element\");\n expect(computedSelections).to.not.be.undefined;\n });\n\n});\n\nconst createNodesRuleset = (): Ruleset => ({\n id: \"nodes\",\n rules: [\n {\n ruleType: RuleTypes.RootNodes,\n specifications: [\n {\n specType: ChildNodeSpecificationTypes.InstanceNodesOfSpecificClasses,\n classes: {\n schemaName: \"BisCore\",\n classNames: [\"Model\"],\n },\n arePolymorphic: true,\n },\n ],\n },\n ],\n});\n\nconst createContentRuleset = (): Ruleset => ({\n id: \"content\",\n rules: [\n {\n ruleType: RuleTypes.Content,\n specifications: [\n {\n specType: ContentSpecificationTypes.SelectedNodeInstances,\n },\n ],\n },\n ],\n});\n"]}
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=Views.test.d.ts.map
@@ -1,38 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /*---------------------------------------------------------------------------------------------
4
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
5
- * See LICENSE.md in the project root for license terms and full copyright notice.
6
- *--------------------------------------------------------------------------------------------*/
7
- const chai = require("chai");
8
- const core_frontend_1 = require("@itwin/core-frontend");
9
- const TestContext_1 = require("./setup/TestContext");
10
- const expect = chai.expect;
11
- describe("IModel Views", () => {
12
- let iModel;
13
- let views;
14
- before(async function () {
15
- // Ensure the singleton is setup
16
- const testContext = await TestContext_1.TestContext.instance();
17
- if (!testContext.settings.runiModelReadRpcTests) {
18
- this.skip();
19
- }
20
- iModel = await testContext.iModelWithChangesets.getConnection();
21
- views = iModel.views;
22
- });
23
- it("should query ids", async () => {
24
- const props = await views.queryProps({ from: core_frontend_1.SpatialViewState.classFullName });
25
- expect(props).to.exist.and.be.not.empty;
26
- });
27
- it("should load", async () => {
28
- const props = await views.queryProps({ from: core_frontend_1.SpatialViewState.classFullName });
29
- const viewState = await views.load(props[0].id);
30
- expect(viewState).to.exist.and.be.not.empty;
31
- });
32
- it("should create viewstate3d using viewcreator3d", async () => {
33
- const viewcreator3d = new core_frontend_1.ViewCreator3d(iModel);
34
- const viewState = await viewcreator3d.createDefaultView();
35
- expect(viewState).to.exist.and.be.not.empty;
36
- });
37
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /*---------------------------------------------------------------------------------------------
4
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
5
+ * See LICENSE.md in the project root for license terms and full copyright notice.
6
+ *--------------------------------------------------------------------------------------------*/
7
+ const chai = require("chai");
8
+ const core_frontend_1 = require("@itwin/core-frontend");
9
+ const TestContext_1 = require("./setup/TestContext");
10
+ const expect = chai.expect;
11
+ describe("IModel Views", () => {
12
+ let iModel;
13
+ let views;
14
+ before(async function () {
15
+ // Ensure the singleton is setup
16
+ const testContext = await TestContext_1.TestContext.instance();
17
+ if (!testContext.settings.runiModelReadRpcTests) {
18
+ this.skip();
19
+ }
20
+ iModel = await testContext.iModelWithChangesets.getConnection();
21
+ views = iModel.views;
22
+ });
23
+ it("should query ids", async () => {
24
+ const props = await views.queryProps({ from: core_frontend_1.SpatialViewState.classFullName });
25
+ expect(props).to.exist.and.be.not.empty;
26
+ });
27
+ it("should load", async () => {
28
+ const props = await views.queryProps({ from: core_frontend_1.SpatialViewState.classFullName });
29
+ const viewState = await views.load(props[0].id);
30
+ expect(viewState).to.exist.and.be.not.empty;
31
+ });
32
+ it("should create viewstate3d using viewcreator3d", async () => {
33
+ const viewcreator3d = new core_frontend_1.ViewCreator3d(iModel);
34
+ const viewState = await viewcreator3d.createDefaultView();
35
+ expect(viewState).to.exist.and.be.not.empty;
36
+ });
37
+ });
38
38
  //# sourceMappingURL=Views.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Views.test.js","sourceRoot":"","sources":["../../src/frontend/Views.test.ts"],"names":[],"mappings":";;AAAA;;;+FAG+F;AAC/F,6BAA6B;AAC7B,wDAAyF;AACzF,qDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,MAAwB,CAAC;IAC7B,IAAI,KAA6B,CAAC;IAElC,MAAM,CAAC,KAAK;QACV,gCAAgC;QAChC,MAAM,WAAW,GAAG,MAAM,yBAAW,CAAC,QAAQ,EAAE,CAAC;QAEjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,EAAE;YAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAqB,CAAC,aAAa,EAAE,CAAC;QACjE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gCAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gCAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;QAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAE1D,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,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\nimport * as chai from \"chai\";\r\nimport { IModelConnection, SpatialViewState, ViewCreator3d } from \"@itwin/core-frontend\";\r\nimport { TestContext } from \"./setup/TestContext\";\r\n\r\nconst expect = chai.expect;\r\n\r\ndescribe(\"IModel Views\", () => {\r\n let iModel: IModelConnection;\r\n let views: IModelConnection.Views;\r\n\r\n before(async function () {\r\n // Ensure the singleton is setup\r\n const testContext = await TestContext.instance();\r\n\r\n if (!testContext.settings.runiModelReadRpcTests) {\r\n this.skip();\r\n }\r\n\r\n iModel = await testContext.iModelWithChangesets!.getConnection();\r\n views = iModel.views;\r\n });\r\n\r\n it(\"should query ids\", async () => {\r\n const props = await views.queryProps({ from: SpatialViewState.classFullName });\r\n expect(props).to.exist.and.be.not.empty;\r\n });\r\n\r\n it(\"should load\", async () => {\r\n const props = await views.queryProps({ from: SpatialViewState.classFullName });\r\n const viewState = await views.load(props[0].id!);\r\n\r\n expect(viewState).to.exist.and.be.not.empty;\r\n });\r\n\r\n it(\"should create viewstate3d using viewcreator3d\", async () => {\r\n const viewcreator3d = new ViewCreator3d(iModel);\r\n const viewState = await viewcreator3d.createDefaultView();\r\n\r\n expect(viewState).to.exist.and.be.not.empty;\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"Views.test.js","sourceRoot":"","sources":["../../src/frontend/Views.test.ts"],"names":[],"mappings":";;AAAA;;;+FAG+F;AAC/F,6BAA6B;AAC7B,wDAAyF;AACzF,qDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,MAAwB,CAAC;IAC7B,IAAI,KAA6B,CAAC;IAElC,MAAM,CAAC,KAAK;QACV,gCAAgC;QAChC,MAAM,WAAW,GAAG,MAAM,yBAAW,CAAC,QAAQ,EAAE,CAAC;QAEjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,EAAE;YAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAqB,CAAC,aAAa,EAAE,CAAC;QACjE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gCAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gCAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;QAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAE1D,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,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 * as chai from \"chai\";\nimport { IModelConnection, SpatialViewState, ViewCreator3d } from \"@itwin/core-frontend\";\nimport { TestContext } from \"./setup/TestContext\";\n\nconst expect = chai.expect;\n\ndescribe(\"IModel Views\", () => {\n let iModel: IModelConnection;\n let views: IModelConnection.Views;\n\n before(async function () {\n // Ensure the singleton is setup\n const testContext = await TestContext.instance();\n\n if (!testContext.settings.runiModelReadRpcTests) {\n this.skip();\n }\n\n iModel = await testContext.iModelWithChangesets!.getConnection();\n views = iModel.views;\n });\n\n it(\"should query ids\", async () => {\n const props = await views.queryProps({ from: SpatialViewState.classFullName });\n expect(props).to.exist.and.be.not.empty;\n });\n\n it(\"should load\", async () => {\n const props = await views.queryProps({ from: SpatialViewState.classFullName });\n const viewState = await views.load(props[0].id!);\n\n expect(viewState).to.exist.and.be.not.empty;\n });\n\n it(\"should create viewstate3d using viewcreator3d\", async () => {\n const viewcreator3d = new ViewCreator3d(iModel);\n const viewState = await viewcreator3d.createDefaultView();\n\n expect(viewState).to.exist.and.be.not.empty;\n });\n});\n"]}
@@ -1,15 +1,15 @@
1
- import { CheckpointConnection } from "@itwin/core-frontend";
2
- import { IModelData } from "../../common/Settings";
3
- import { AccessToken } from "@itwin/core-bentley";
4
- export declare class IModelSession {
5
- iTwinId: string;
6
- iModelId: string;
7
- changesetId?: string;
8
- private _imodelVersion;
9
- private _iModel?;
10
- private constructor();
11
- static create(requestContext: AccessToken, iModelData: IModelData): Promise<IModelSession>;
12
- getConnection(): Promise<CheckpointConnection>;
13
- open(): Promise<CheckpointConnection>;
14
- }
1
+ import { CheckpointConnection } from "@itwin/core-frontend";
2
+ import { IModelData } from "../../common/Settings";
3
+ import { AccessToken } from "@itwin/core-bentley";
4
+ export declare class IModelSession {
5
+ iTwinId: string;
6
+ iModelId: string;
7
+ changesetId?: string;
8
+ private _imodelVersion;
9
+ private _iModel?;
10
+ private constructor();
11
+ static create(requestContext: AccessToken, iModelData: IModelData): Promise<IModelSession>;
12
+ getConnection(): Promise<CheckpointConnection>;
13
+ open(): Promise<CheckpointConnection>;
14
+ }
15
15
  //# sourceMappingURL=IModelSession.d.ts.map
@@ -1,101 +1,101 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.IModelSession = void 0;
11
- /*---------------------------------------------------------------------------------------------
12
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
13
- * See LICENSE.md in the project root for license terms and full copyright notice.
14
- *--------------------------------------------------------------------------------------------*/
15
- const chai_1 = require("chai");
16
- const core_frontend_1 = require("@itwin/core-frontend");
17
- const itwins_client_1 = require("@itwin/itwins-client");
18
- const core_common_1 = require("@itwin/core-common");
19
- const imodels_client_management_1 = require("@itwin/imodels-client-management");
20
- const imodels_access_frontend_1 = require("@itwin/imodels-access-frontend");
21
- class IModelSession {
22
- constructor(iTwinId, imodelId, changesetId) {
23
- this.iTwinId = iTwinId;
24
- this.iModelId = imodelId;
25
- this.changesetId = changesetId;
26
- this._imodelVersion = changesetId ? core_common_1.IModelVersion.asOfChangeSet(changesetId) : core_common_1.IModelVersion.latest();
27
- }
28
- static async create(requestContext, iModelData) {
29
- var e_1, _a;
30
- var _b, _c;
31
- let iTwinId;
32
- let imodelId;
33
- // Turn the iTwin name into an id
34
- if (iModelData.useITwinName) {
35
- if (!iModelData.iTwinName)
36
- throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);
37
- const client = new itwins_client_1.ITwinsAccessClient();
38
- const iTwinListResponse = await client.queryAsync(requestContext, itwins_client_1.ITwinSubClass.Project, {
39
- displayName: iModelData.iTwinName,
40
- });
41
- const iTwinList = iTwinListResponse.data;
42
- if (!iTwinList) {
43
- throw new Error(`ITwin ${iModelData.iTwinName} returned with no data when queried.`);
44
- }
45
- if (iTwinList.length === 0)
46
- throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);
47
- else if (iTwinList.length > 1)
48
- throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);
49
- iTwinId = (_b = iTwinList[0].id) !== null && _b !== void 0 ? _b : iModelData.iTwinId;
50
- }
51
- else
52
- iTwinId = iModelData.iTwinId;
53
- if (iModelData.useName) {
54
- const imodelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_c = process.env.IMJS_URL_PREFIX) !== null && _c !== void 0 ? _c : ""}api.bentley.com/imodels` } });
55
- const imodels = imodelClient.iModels.getRepresentationList({
56
- authorization: imodels_access_frontend_1.AccessTokenAdapter.toAuthorizationCallback(await core_frontend_1.IModelApp.getAccessToken()),
57
- urlParams: {
58
- iTwinId,
59
- name: iModelData.name,
60
- },
61
- });
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; }
75
- }
76
- if (!imodelId)
77
- throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);
78
- }
79
- else
80
- imodelId = iModelData.id;
81
- console.log(`Using iModel { name:${iModelData.name}, id:${iModelData.id}, iTwinId:${iModelData.iTwinId}, changesetId:${iModelData.changeSetId} }`); // eslint-disable-line no-console
82
- return new IModelSession(iTwinId, imodelId, iModelData.changeSetId);
83
- }
84
- async getConnection() {
85
- return undefined === this._iModel ? this.open() : this._iModel;
86
- }
87
- async open() {
88
- try {
89
- // eslint-disable-next-line no-console
90
- console.log(`Environment: ${process.env.IMJS_URL_PREFIX}`);
91
- this._iModel = await core_frontend_1.CheckpointConnection.openRemote(this.iTwinId, this.iModelId, this._imodelVersion);
92
- (0, chai_1.expect)(this._iModel).to.exist;
93
- }
94
- catch (e) {
95
- throw new Error(`Failed to open test iModel. Error: ${e.message}`);
96
- }
97
- return this._iModel;
98
- }
99
- }
100
- exports.IModelSession = IModelSession;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.IModelSession = void 0;
11
+ /*---------------------------------------------------------------------------------------------
12
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
13
+ * See LICENSE.md in the project root for license terms and full copyright notice.
14
+ *--------------------------------------------------------------------------------------------*/
15
+ const chai_1 = require("chai");
16
+ const core_frontend_1 = require("@itwin/core-frontend");
17
+ const itwins_client_1 = require("@itwin/itwins-client");
18
+ const core_common_1 = require("@itwin/core-common");
19
+ const imodels_client_management_1 = require("@itwin/imodels-client-management");
20
+ const imodels_access_frontend_1 = require("@itwin/imodels-access-frontend");
21
+ class IModelSession {
22
+ constructor(iTwinId, imodelId, changesetId) {
23
+ this.iTwinId = iTwinId;
24
+ this.iModelId = imodelId;
25
+ this.changesetId = changesetId;
26
+ this._imodelVersion = changesetId ? core_common_1.IModelVersion.asOfChangeSet(changesetId) : core_common_1.IModelVersion.latest();
27
+ }
28
+ static async create(requestContext, iModelData) {
29
+ var e_1, _a;
30
+ var _b, _c;
31
+ let iTwinId;
32
+ let imodelId;
33
+ // Turn the iTwin name into an id
34
+ if (iModelData.useITwinName) {
35
+ if (!iModelData.iTwinName)
36
+ throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);
37
+ const client = new itwins_client_1.ITwinsAccessClient();
38
+ const iTwinListResponse = await client.queryAsync(requestContext, itwins_client_1.ITwinSubClass.Project, {
39
+ displayName: iModelData.iTwinName,
40
+ });
41
+ const iTwinList = iTwinListResponse.data;
42
+ if (!iTwinList) {
43
+ throw new Error(`ITwin ${iModelData.iTwinName} returned with no data when queried.`);
44
+ }
45
+ if (iTwinList.length === 0)
46
+ throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);
47
+ else if (iTwinList.length > 1)
48
+ throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);
49
+ iTwinId = (_b = iTwinList[0].id) !== null && _b !== void 0 ? _b : iModelData.iTwinId;
50
+ }
51
+ else
52
+ iTwinId = iModelData.iTwinId;
53
+ if (iModelData.useName) {
54
+ const imodelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_c = process.env.IMJS_URL_PREFIX) !== null && _c !== void 0 ? _c : ""}api.bentley.com/imodels` } });
55
+ const imodels = imodelClient.iModels.getRepresentationList({
56
+ authorization: imodels_access_frontend_1.AccessTokenAdapter.toAuthorizationCallback(await core_frontend_1.IModelApp.getAccessToken()),
57
+ urlParams: {
58
+ iTwinId,
59
+ name: iModelData.name,
60
+ },
61
+ });
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; }
75
+ }
76
+ if (!imodelId)
77
+ throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);
78
+ }
79
+ else
80
+ imodelId = iModelData.id;
81
+ console.log(`Using iModel { name:${iModelData.name}, id:${iModelData.id}, iTwinId:${iModelData.iTwinId}, changesetId:${iModelData.changeSetId} }`); // eslint-disable-line no-console
82
+ return new IModelSession(iTwinId, imodelId, iModelData.changeSetId);
83
+ }
84
+ async getConnection() {
85
+ return undefined === this._iModel ? this.open() : this._iModel;
86
+ }
87
+ async open() {
88
+ try {
89
+ // eslint-disable-next-line no-console
90
+ console.log(`Environment: ${process.env.IMJS_URL_PREFIX}`);
91
+ this._iModel = await core_frontend_1.CheckpointConnection.openRemote(this.iTwinId, this.iModelId, this._imodelVersion);
92
+ (0, chai_1.expect)(this._iModel).to.exist;
93
+ }
94
+ catch (e) {
95
+ throw new Error(`Failed to open test iModel. Error: ${e.message}`);
96
+ }
97
+ return this._iModel;
98
+ }
99
+ }
100
+ exports.IModelSession = IModelSession;
101
101
  //# sourceMappingURL=IModelSession.js.map
@@ -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 { ITwin, ITwinsAccessClient, ITwinsAPIResponse, ITwinSubClass } from \"@itwin/itwins-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 ITwinsAccessClient();\r\n const iTwinListResponse: ITwinsAPIResponse<ITwin[]> = await client.queryAsync(requestContext, ITwinSubClass.Project , {\r\n displayName: iModelData.iTwinName,\r\n });\r\n const iTwinList = iTwinListResponse.data;\r\n if (!iTwinList) {\r\n throw new Error(`ITwin ${iModelData.iTwinName} returned with no data when queried.`);\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 ?? iModelData.iTwinId!;\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 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":["/*---------------------------------------------------------------------------------------------\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 { expect } from \"chai\";\nimport { CheckpointConnection, IModelApp } from \"@itwin/core-frontend\";\nimport { ITwin, ITwinsAccessClient, ITwinsAPIResponse, ITwinSubClass } from \"@itwin/itwins-client\";\nimport { IModelData } from \"../../common/Settings\";\nimport { IModelVersion } from \"@itwin/core-common\";\nimport { AccessToken } from \"@itwin/core-bentley\";\nimport { IModelsClient } from \"@itwin/imodels-client-management\";\nimport { AccessTokenAdapter } from \"@itwin/imodels-access-frontend\";\n\nexport class IModelSession {\n\n public iTwinId: string;\n public iModelId: string;\n public changesetId?: string;\n private _imodelVersion: IModelVersion;\n\n private _iModel?: CheckpointConnection;\n\n private constructor(iTwinId: string, imodelId: string, changesetId?: string) {\n this.iTwinId = iTwinId;\n this.iModelId = imodelId;\n this.changesetId = changesetId;\n\n this._imodelVersion = changesetId ? IModelVersion.asOfChangeSet(changesetId) : IModelVersion.latest();\n }\n\n public static async create(requestContext: AccessToken, iModelData: IModelData): Promise<IModelSession> {\n let iTwinId;\n let imodelId;\n\n // Turn the iTwin name into an id\n if (iModelData.useITwinName) {\n if (!iModelData.iTwinName)\n throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);\n\n const client = new ITwinsAccessClient();\n const iTwinListResponse: ITwinsAPIResponse<ITwin[]> = await client.queryAsync(requestContext, ITwinSubClass.Project , {\n displayName: iModelData.iTwinName,\n });\n const iTwinList = iTwinListResponse.data;\n if (!iTwinList) {\n throw new Error(`ITwin ${iModelData.iTwinName} returned with no data when queried.`);\n }\n if (iTwinList.length === 0)\n throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);\n else if (iTwinList.length > 1)\n throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);\n\n iTwinId = iTwinList[0].id ?? iModelData.iTwinId!;\n } else\n iTwinId = iModelData.iTwinId!;\n\n if (iModelData.useName) {\n const imodelClient = new IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? \"\"}api.bentley.com/imodels`}});\n const imodels = imodelClient.iModels.getRepresentationList({\n authorization: AccessTokenAdapter.toAuthorizationCallback(await IModelApp.getAccessToken()),\n urlParams: {\n iTwinId,\n name: iModelData.name,\n },\n });\n for await (const iModel of imodels) {\n imodelId = iModel.id;\n break;\n }\n if (!imodelId)\n throw new Error(`The iModel ${iModelData.name} does not exist in iTwin ${iTwinId}.`);\n } else\n imodelId = iModelData.id!;\n\n console.log(`Using iModel { name:${iModelData.name}, id:${iModelData.id}, iTwinId:${iModelData.iTwinId}, changesetId:${iModelData.changeSetId} }`); // eslint-disable-line no-console\n\n return new IModelSession(iTwinId, imodelId, iModelData.changeSetId);\n }\n\n public async getConnection(): Promise<CheckpointConnection> {\n return undefined === this._iModel ? this.open() : this._iModel;\n }\n\n public async open(): Promise<CheckpointConnection> {\n try {\n // eslint-disable-next-line no-console\n console.log(`Environment: ${process.env.IMJS_URL_PREFIX}`);\n this._iModel = await CheckpointConnection.openRemote(this.iTwinId, this.iModelId, this._imodelVersion);\n expect(this._iModel).to.exist;\n } catch (e: any) {\n throw new Error(`Failed to open test iModel. Error: ${e.message}`);\n }\n\n return this._iModel;\n }\n}\n"]}
@@ -1,18 +1,18 @@
1
- import { AccessToken } from "@itwin/core-bentley";
2
- import { Settings } from "../../common/Settings";
3
- import { IModelSession } from "./IModelSession";
4
- export declare class TestContext {
5
- adminUserAccessToken: AccessToken;
6
- clientAccessToken?: AccessToken;
7
- iModelWithChangesets?: IModelSession;
8
- iModelForWrite?: IModelSession;
9
- iTwinId?: string;
10
- settings: Settings;
11
- private constructor();
12
- private static _instance?;
13
- static instance(): Promise<TestContext>;
14
- /** Initialize configuration for the rpc interfaces used by the application. */
15
- private initializeRpcInterfaces;
16
- private initialize;
17
- }
1
+ import { AccessToken } from "@itwin/core-bentley";
2
+ import { Settings } from "../../common/Settings";
3
+ import { IModelSession } from "./IModelSession";
4
+ export declare class TestContext {
5
+ adminUserAccessToken: AccessToken;
6
+ clientAccessToken?: AccessToken;
7
+ iModelWithChangesets?: IModelSession;
8
+ iModelForWrite?: IModelSession;
9
+ iTwinId?: string;
10
+ settings: Settings;
11
+ private constructor();
12
+ private static _instance?;
13
+ static instance(): Promise<TestContext>;
14
+ /** Initialize configuration for the rpc interfaces used by the application. */
15
+ private initializeRpcInterfaces;
16
+ private initialize;
17
+ }
18
18
  //# sourceMappingURL=TestContext.d.ts.map