@itwin/core-backend 5.1.1 → 5.1.3-experimental.1
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.
- package/CHANGELOG.md +11 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +19 -5
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +22 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +23 -3
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +57 -10
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +76 -13
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +20 -6
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +22 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +23 -3
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +57 -10
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +77 -14
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/Rebase.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/Rebase.test.js +172 -0
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -0
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +10 -10
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubMock.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/HubMock.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\n\r\nimport { assert, expect } from \"chai\";\r\nimport { join } from \"path\";\r\nimport { AccessToken, Guid, Mutable } from \"@itwin/core-bentley\";\r\nimport { ChangesetFileProps, ChangesetType, LockState } from \"@itwin/core-common\";\r\nimport { LockProps } from \"../../BackendHubAccess\";\r\nimport { BriefcaseManager } from \"../../BriefcaseManager\";\r\nimport { IModelHost } from \"../../IModelHost\";\r\nimport { IModelJsFs } from \"../../IModelJsFs\";\r\nimport { HubMock } from \"../../internal/HubMock\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\nimport { KnownTestLocations } from \"../KnownTestLocations\";\r\nimport { LockStatusExclusive, LockStatusShared } from \"../../LocalHub\";\r\nimport { ProgressFunction, ProgressStatus } from \"../../CheckpointManager\";\r\nimport { _hubAccess } from \"../../internal/Symbols\";\r\n\r\ndescribe(\"HubMock\", () => {\r\n const tmpDir = join(KnownTestLocations.outputDir, \"HubMockTest\");\r\n const iTwinId = Guid.createValue();\r\n const version0 = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const accessToken: AccessToken = \"fake token\";\r\n\r\n before(() => {\r\n HubMock.startup(\"HubMockTest\", KnownTestLocations.outputDir);\r\n });\r\n after(() => {\r\n HubMock.shutdown();\r\n });\r\n\r\n it(\"should be able to create HubMock\", async () => {\r\n const iModelId = await IModelHost[_hubAccess].createNewIModel({ iTwinId, iModelName: \"test imodel\", version0 });\r\n const localHub = HubMock.findLocalHub(iModelId);\r\n let checkpoints = localHub.getCheckpoints();\r\n assert.equal(checkpoints.length, 1);\r\n assert.equal(checkpoints[0], 0);\r\n\r\n const cp1 = join(tmpDir, \"cp-1.bim\");\r\n localHub.downloadCheckpoint({ changeset: { index: 0 }, targetFile: cp1 });\r\n const stat1 = IModelJsFs.lstatSync(cp1);\r\n const statRev0 = IModelJsFs.lstatSync(version0);\r\n assert.equal(stat1?.size, statRev0?.size);\r\n\r\n assert.equal(2, localHub.acquireNewBriefcaseId(\"user1\", \"user1 briefcase 1\"));\r\n assert.equal(3, localHub.acquireNewBriefcaseId(\"user2\", \"user2 briefcase 1\"));\r\n assert.equal(4, localHub.acquireNewBriefcaseId(\"user3\", \"user3 briefcase 1\"));\r\n\r\n let briefcases = localHub.getBriefcases();\r\n assert.equal(briefcases.length, 3);\r\n assert.deepEqual(briefcases[0], { id: 2, user: \"user1\", alias: \"user1 briefcase 1\", assigned: true });\r\n assert.deepEqual(briefcases[1], { id: 3, user: \"user2\", alias: \"user2 briefcase 1\", assigned: true });\r\n assert.deepEqual(briefcases[2], { id: 4, user: \"user3\", alias: \"user3 briefcase 1\", assigned: true });\r\n\r\n // releasing a briefcaseId should mark it as unassigned\r\n localHub.releaseBriefcaseId(2);\r\n briefcases = localHub.getBriefcases(false);\r\n assert.equal(briefcases.length, 3);\r\n assert.deepEqual(briefcases[0], { id: 2, user: \"user1\", alias: \"user1 briefcase 1\", assigned: false });\r\n assert.deepEqual(briefcases[1], { id: 3, user: \"user2\", alias: \"user2 briefcase 1\", assigned: true });\r\n assert.deepEqual(briefcases[2], { id: 4, user: \"user3\", alias: \"user3 briefcase 1\", assigned: true });\r\n\r\n localHub.releaseBriefcaseId(4);\r\n briefcases = localHub.getBriefcases();\r\n assert.equal(briefcases.length, 1);\r\n assert.deepEqual(briefcases[0], { id: 3, user: \"user2\", alias: \"user2 briefcase 1\", assigned: true });\r\n\r\n assert.equal(5, localHub.acquireNewBriefcaseId(\"user4\"));\r\n briefcases = localHub.getBriefcases();\r\n assert.equal(briefcases.length, 2);\r\n assert.deepEqual(briefcases[0], { id: 3, user: \"user2\", alias: \"user2 briefcase 1\", assigned: true });\r\n assert.deepEqual(briefcases[1], { id: 5, user: \"user4\", alias: \"user4 (5)\", assigned: true });\r\n\r\n let pathname = IModelTestUtils.resolveAssetFile(\"CloneTest.01.00.00.ecschema.xml\");\r\n let fileSize = IModelJsFs.lstatSync(pathname)!.size;\r\n\r\n // try pushing changesets\r\n const cs1: ChangesetFileProps = {\r\n id: \"changeset0\", description: \"first changeset\", changesType: ChangesetType.Regular, parentId: \"\", briefcaseId: 5, pushDate: \"\", index: 0,\r\n userCreated: \"user1\", pathname, size: fileSize,\r\n };\r\n cs1.index = localHub.addChangeset(cs1); // first changeset\r\n const changesets1 = localHub.queryChangesets();\r\n assert.equal(changesets1.length, 1);\r\n assert.equal(changesets1[0].id, cs1.id);\r\n assert.equal(changesets1[0].description, cs1.description);\r\n assert.equal(changesets1[0].changesType, cs1.changesType);\r\n assert.equal(changesets1[0].index, 1);\r\n assert.equal(changesets1[0].briefcaseId, 5);\r\n assert.isAtLeast(changesets1[0].size, 1);\r\n assert.equal(changesets1[0].parentId, \"\");\r\n assert.isDefined(changesets1[0].pushDate);\r\n assert.equal(cs1.id, localHub.getLatestChangeset().id);\r\n\r\n pathname = IModelTestUtils.resolveAssetFile(\"CloneTest.01.00.01.ecschema.xml\");\r\n fileSize = IModelJsFs.lstatSync(pathname)!.size;\r\n\r\n const cs2: ChangesetFileProps = {\r\n id: \"changeset1\", parentId: cs1.id, description: \"second changeset\", changesType: ChangesetType.Schema, briefcaseId: 5, pushDate: \"\", index: 0,\r\n userCreated: \"user2\", pathname: IModelTestUtils.resolveAssetFile(\"CloneTest.01.00.01.ecschema.xml\"),\r\n size: fileSize,\r\n };\r\n cs2.index = localHub.addChangeset(cs2); // second changeset, parent = cs1\r\n const changesets2 = localHub.queryChangesets();\r\n assert.equal(changesets2.length, 2);\r\n assert.deepEqual(changesets1[0], changesets2[0]);\r\n assert.equal(changesets2[1].id, cs2.id);\r\n assert.equal(changesets2[1].parentId, cs2.parentId);\r\n assert.equal(changesets2[1].description, cs2.description);\r\n assert.equal(changesets2[1].changesType, cs2.changesType);\r\n assert.equal(changesets2[1].index, 2);\r\n assert.equal(changesets2[1].briefcaseId, 5);\r\n assert.isAtLeast(changesets2[1].size, 1);\r\n assert.isDefined(changesets2[1].pushDate);\r\n assert.equal(cs2.id, localHub.getLatestChangeset().id);\r\n\r\n localHub.uploadCheckpoint({ changesetIndex: cs2.index, localFile: version0 });\r\n checkpoints = localHub.getCheckpoints();\r\n assert.equal(checkpoints.length, 2);\r\n assert.equal(checkpoints[1], 2);\r\n\r\n // test named versions\r\n const version1 = \"release 1\";\r\n const version2 = \"release 2\";\r\n localHub.addNamedVersion({ versionName: version1, csIndex: cs1.index });\r\n localHub.addNamedVersion({ versionName: version2, csIndex: cs2.index });\r\n assert.equal(localHub.findNamedVersion(version1).index, cs1.index);\r\n expect(() => localHub.findNamedVersion(\"not there\")).throws(\"not found\");\r\n expect(() => localHub.addNamedVersion({ versionName: version2, csIndex: cs2.index })).throws(\"insert\");\r\n localHub.deleteNamedVersion(version1);\r\n expect(() => localHub.findNamedVersion(version1)).throws(\"not found\");\r\n\r\n // test for duplicate changeset id fails\r\n const cs3: ChangesetFileProps = {\r\n id: \"changeset0\", parentId: \"changeset1\",\r\n description: \"third changeset\", changesType: ChangesetType.Regular, pathname: cs1.pathname, briefcaseId: 500, userCreated: \"\", pushDate: \"\", index: 0,\r\n size: fileSize,\r\n };\r\n expect(() => localHub.addChangeset(cs3)).throws(\"no briefcase with that id\");\r\n cs3.briefcaseId = 5;\r\n expect(() => localHub.addChangeset(cs3)).throws(\"can't insert\");\r\n // now test for valid changeset id, but bad parentId\r\n const cs4 = { ...cs3, id: \"changeset4\", parentId: \"bad\", description: \"fourth changeset\" };\r\n expect(() => localHub.addChangeset(cs4)).throws(\"bad not found\");\r\n\r\n cs3.id = \"changeset3\";\r\n cs3.parentId = cs2.id;\r\n cs3.index = localHub.addChangeset(cs3);\r\n assert.equal(0, localHub.queryPreviousCheckpoint(0));\r\n assert.equal(0, localHub.queryPreviousCheckpoint(cs1.index));\r\n assert.equal(cs2.index, localHub.queryPreviousCheckpoint(cs2.index));\r\n assert.equal(cs2.index, localHub.queryPreviousCheckpoint(cs3.index));\r\n\r\n // downloading changesets\r\n const cSets = localHub.downloadChangesets({ range: { first: cs1.index, end: cs2.index }, targetDir: tmpDir });\r\n assert.equal(cSets.length, 2);\r\n assert.equal(cSets[0].id, cs1.id);\r\n assert.equal(cSets[0].changesType, cs1.changesType);\r\n assert.equal(cSets[0].userCreated, cs1.userCreated);\r\n assert.equal(cSets[0].parentId, cs1.parentId);\r\n assert.equal(cSets[0].description, cs1.description);\r\n\r\n assert.equal(cSets[1].id, cs2.id);\r\n assert.equal(cSets[1].changesType, cs2.changesType);\r\n assert.equal(cSets[1].userCreated, cs2.userCreated);\r\n assert.equal(cSets[1].parentId, cs2.parentId);\r\n assert.equal(cSets[1].description, cs2.description);\r\n\r\n const orig1 = IModelJsFs.readFileSync(cs1.pathname);\r\n const downloaded1 = IModelJsFs.readFileSync(cSets[0].pathname);\r\n assert.deepEqual(orig1, downloaded1);\r\n\r\n const orig2 = IModelJsFs.readFileSync(cs2.pathname);\r\n const downloaded2 = IModelJsFs.readFileSync(cSets[1].pathname);\r\n assert.deepEqual(orig2, downloaded2);\r\n assert.notDeepEqual(orig1, orig2);\r\n\r\n const latest = await BriefcaseManager.getLatestChangeset({ iModelId });\r\n expect(latest.index).to.equal(cs3.index);\r\n expect(latest.id).to.equal(cs3.id);\r\n expect(latest.parentId).to.equal(cs3.parentId);\r\n\r\n const cs1q = await BriefcaseManager.queryChangeset({ changeset: { index: cs1.index }, iModelId });\r\n expect(cs1q.description).to.equal(cs1.description);\r\n\r\n const changes = await BriefcaseManager.queryChangesets({ range: { first: cs1.index }, iModelId });\r\n expect(changes.length).to.equal(3);\r\n\r\n // test locks\r\n const lock1: Mutable<LockProps> = {\r\n state: LockState.Shared,\r\n id: \"0x12\",\r\n };\r\n // get a new briefcaseId for some locks\r\n assert.equal(6, localHub.acquireNewBriefcaseId(\"user5\", \"alias for 5\"));\r\n\r\n localHub.acquireLock(lock1, { briefcaseId: 3, changeset: cs1 });\r\n assert.equal(localHub.countSharedLocks(), 1);\r\n assert.equal(localHub.countLocks(), 1);\r\n\r\n let lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal(lockStat.state, LockState.Shared);\r\n assert.equal((lockStat as LockStatusShared).sharedBy.size, 1);\r\n assert.isTrue((lockStat as LockStatusShared).sharedBy.has(3));\r\n\r\n assert.isUndefined(lockStat.lastCsIndex);\r\n localHub.acquireLock(lock1, { briefcaseId: 5, changeset: cs1 });\r\n assert.equal(localHub.countSharedLocks(), 2);\r\n assert.equal(localHub.countLocks(), 1);\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal((lockStat as LockStatusShared).sharedBy.size, 2);\r\n assert.isTrue((lockStat as LockStatusShared).sharedBy.has(3));\r\n assert.isTrue((lockStat as LockStatusShared).sharedBy.has(5));\r\n\r\n expect(() => localHub.acquireLock({ ...lock1, state: LockState.Exclusive }, { briefcaseId: 6, changeset: { id: \"cs1\" } })).to.throw(\"shared lock is held\").include({ briefcaseId: 3, briefcaseAlias: \"user2 briefcase 1\" });\r\n expect(() => localHub.releaseLocks([lock1], { briefcaseId: 9, changesetIndex: cs1.index })).to.throw(\"shared lock not held\");\r\n\r\n localHub.releaseLocks([lock1], { briefcaseId: 3, changesetIndex: cs1.index });\r\n assert.equal(localHub.countSharedLocks(), 1);\r\n assert.equal(localHub.countLocks(), 1);\r\n\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal((lockStat as LockStatusShared).sharedBy.size, 1);\r\n\r\n localHub.releaseLocks([lock1], { briefcaseId: 5, changesetIndex: cs1.index });\r\n assert.equal(localHub.countSharedLocks(), 0);\r\n assert.equal(localHub.countLocks(), 1);\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal(lockStat.state, LockState.None);\r\n\r\n lock1.state = LockState.Exclusive;\r\n localHub.acquireLock(lock1, { briefcaseId: 6, changeset: cs1 });\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal(lockStat.state, LockState.Exclusive);\r\n localHub.acquireLock(lock1, { briefcaseId: 6, changeset: cs1 });\r\n assert.equal(localHub.countSharedLocks(), 0);\r\n assert.equal(localHub.countLocks(), 1);\r\n expect(() => localHub.acquireLock(lock1, { briefcaseId: 5, changeset: cs1 })).to.throw(\"exclusive lock is already held\").include({ briefcaseId: 6, briefcaseAlias: \"alias for 5\" });\r\n expect(() => localHub.acquireLock({ ...lock1, state: LockState.Shared }, { briefcaseId: 5, changeset: cs1 })).to.throw(\"exclusive lock is already held\").include({ briefcaseId: 6, briefcaseAlias: \"alias for 5\" });\r\n localHub.releaseLocks([lock1], { briefcaseId: 6, changesetIndex: cs2.index });\r\n assert.equal(localHub.countLocks(), 1);\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal(lockStat.state, LockState.None);\r\n assert.equal(lockStat.lastCsIndex, cs2.index);\r\n\r\n expect(() => localHub.acquireLock(lock1, { briefcaseId: 5, changeset: cs1 })).to.throw(\"pull is required\");\r\n localHub.acquireLock(lock1, { briefcaseId: 5, changeset: cs2 });\r\n lockStat = localHub.queryLockStatus(lock1.id);\r\n assert.equal(lockStat.state, LockState.Exclusive);\r\n assert.equal((lockStat as LockStatusExclusive).briefcaseId, 5);\r\n assert.equal(lockStat.lastCsIndex, cs2.index);\r\n\r\n localHub.acquireLock({ state: LockState.Exclusive, id: \"0x22\" }, { briefcaseId: 5, changeset: cs1 });\r\n lockStat = localHub.queryLockStatus(\"0x22\");\r\n assert.equal(lockStat.state, LockState.Exclusive);\r\n assert.equal((lockStat as LockStatusExclusive).briefcaseId, 5);\r\n assert.isUndefined(lockStat.lastCsIndex);\r\n\r\n localHub.acquireLock({ state: LockState.Exclusive, id: \"0x23\" }, { briefcaseId: 6, changeset: cs1 });\r\n localHub.acquireLock({ state: LockState.Shared, id: \"0x24\" }, { briefcaseId: 6, changeset: cs1 });\r\n localHub.acquireLock({ state: LockState.Shared, id: \"0x24\" }, { briefcaseId: 5, changeset: cs1 });\r\n\r\n let locks = localHub.queryAllLocks(5);\r\n assert.equal(locks.length, 3);\r\n\r\n localHub.releaseBriefcaseId(5); // releasing a briefcaseId with held locks should release them\r\n lockStat = localHub.queryLockStatus(\"0x22\");\r\n locks = localHub.queryAllLocks(5);\r\n assert.equal(locks.length, 0);\r\n assert.equal(localHub.countSharedLocks(), 1);\r\n\r\n localHub.releaseAllLocks({ briefcaseId: 6, changesetIndex: 3 });\r\n assert.equal(localHub.countSharedLocks(), 0);\r\n assert.equal(localHub.countLocks(), 4);\r\n\r\n lockStat = localHub.queryLockStatus(\"0x23\");\r\n assert.equal(lockStat.lastCsIndex, 3);\r\n assert.equal(lockStat.state, 0);\r\n\r\n lockStat = localHub.queryLockStatus(\"0x24\");\r\n assert.equal(lockStat.lastCsIndex, undefined);\r\n assert.equal(lockStat.state, 0);\r\n\r\n await IModelHost[_hubAccess].deleteIModel({ iTwinId, iModelId });\r\n });\r\n\r\n it(\"HubMock report progress of changesets 'downloads'\", async () => {\r\n const iModelId = await IModelHost[_hubAccess].createNewIModel({ iTwinId, iModelName: \"test imodel\", version0 });\r\n const localHub = HubMock.findLocalHub(iModelId);\r\n const briefcaseId = await HubMock.acquireNewBriefcaseId({ iModelId });\r\n\r\n const pathname = IModelTestUtils.resolveAssetFile(\"CloneTest.01.00.00.ecschema.xml\");\r\n const fileSize = IModelJsFs.lstatSync(pathname)!.size;\r\n\r\n const cs1: ChangesetFileProps = {\r\n id: \"changeset0\", description: \"first changeset\", changesType: ChangesetType.Regular, parentId: \"\", briefcaseId, pushDate: \"\", index: 0,\r\n size: fileSize,\r\n userCreated: \"user1\", pathname,\r\n };\r\n const cs2: ChangesetFileProps = {\r\n id: \"changeset1\", parentId: cs1.id, description: \"second changeset\", changesType: ChangesetType.Schema, briefcaseId, pushDate: \"\", index: 0,\r\n size: fileSize,\r\n userCreated: \"user2\", pathname: IModelTestUtils.resolveAssetFile(\"CloneTest.01.00.01.ecschema.xml\"),\r\n };\r\n cs1.index = localHub.addChangeset(cs1);\r\n cs2.index = localHub.addChangeset(cs2);\r\n\r\n // Progress reporting of single changeset \"download\"\r\n let progressReports: { downloaded: number, total: number }[] = [];\r\n let progressCallback: ProgressFunction = (downloaded, total) => {\r\n progressReports.push({ downloaded, total });\r\n return ProgressStatus.Continue;\r\n };\r\n let cProps = await HubMock.downloadChangeset({\r\n iModelId,\r\n changeset: {\r\n index: cs1.index,\r\n },\r\n targetDir: tmpDir,\r\n progressCallback,\r\n });\r\n let previousReport = { downloaded: 0, total: 0 };\r\n for (const report of progressReports) {\r\n assert.isTrue(report.downloaded > previousReport.downloaded);\r\n assert.equal(report.total, cProps.size);\r\n }\r\n\r\n // Progress reporting of multiple changesets \"download\"\r\n progressReports = [];\r\n let cPropsSet = await HubMock.downloadChangesets({\r\n iModelId,\r\n targetDir: tmpDir,\r\n progressCallback,\r\n });\r\n previousReport = { downloaded: 0, total: 0 };\r\n const totalSize = cPropsSet.reduce((sum, props) => sum + (props.size ?? 0), 0);\r\n for (const report of progressReports) {\r\n assert.isTrue(report.downloaded > previousReport.downloaded);\r\n assert.equal(report.total, totalSize);\r\n }\r\n\r\n // Cancel single changeset \"download\"\r\n progressReports = [];\r\n progressCallback = (downloaded, total) => {\r\n progressReports.push({ downloaded, total });\r\n return downloaded > total / 2 ? ProgressStatus.Abort : ProgressStatus.Continue;\r\n };\r\n let errorThrown: boolean = false;\r\n try {\r\n cProps = await HubMock.downloadChangeset({\r\n iModelId,\r\n changeset: {\r\n index: cs1.index,\r\n },\r\n targetDir: tmpDir,\r\n progressCallback,\r\n });\r\n } catch {\r\n errorThrown = true;\r\n }\r\n assert.isTrue(errorThrown);\r\n let lastReport = progressReports[progressReports.length - 1];\r\n assert.isBelow(lastReport.downloaded, lastReport.total);\r\n\r\n // Cancel multiple changesets \"download\"\r\n progressReports = [];\r\n errorThrown = false;\r\n try {\r\n cPropsSet = await HubMock.downloadChangesets({\r\n iModelId,\r\n targetDir: tmpDir,\r\n progressCallback,\r\n });\r\n } catch {\r\n errorThrown = true;\r\n }\r\n assert.isTrue(errorThrown);\r\n lastReport = progressReports[progressReports.length - 1];\r\n assert.isBelow(lastReport.downloaded, lastReport.total);\r\n });\r\n\r\n it(\"use HubMock with BriefcaseManager\", async () => {\r\n const iModelId = await IModelHost[_hubAccess].createNewIModel({ iTwinId, iModelName: \"test imodel\", version0 });\r\n const briefcase = await BriefcaseManager.downloadBriefcase({ accessToken, iTwinId, iModelId });\r\n assert.equal(briefcase.briefcaseId, 2);\r\n assert.equal(briefcase.changeset.id, \"\");\r\n assert.equal(briefcase.iModelId, iModelId);\r\n assert.equal(briefcase.iTwinId, iTwinId);\r\n await IModelHost[_hubAccess].deleteIModel({ iTwinId, iModelId });\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"HubMock.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/HubMock.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelLimits.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/IModelLimits.test.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"IModelLimits.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/IModelLimits.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelWrite.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/IModelWrite.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\n\r\nimport { AccessToken, DbResult, GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIdWithIndex, Code, ColorDef,\r\n GeometricElement2dProps, GeometryStreamProps, IModel, IModelVersion, LockState, QueryRowFormat, RequestNewBriefcaseProps, SchemaState, SubCategoryAppearance,\r\n} from \"@itwin/core-common\";\r\nimport { Arc3d, IModelJson, Point2d, Point3d } from \"@itwin/core-geometry\";\r\nimport * as chai from \"chai\";\r\nimport { assert, expect } from \"chai\";\r\nimport * as chaiAsPromised from \"chai-as-promised\";\r\nimport * as fs from \"fs\";\r\nimport * as semver from \"semver\";\r\nimport * as sinon from \"sinon\";\r\nimport { HubWrappers, KnownTestLocations } from \"../\";\r\nimport { DrawingCategory } from \"../../Category\";\r\nimport { ECSqlStatement } from \"../../ECSqlStatement\";\r\nimport { HubMock } from \"../../internal/HubMock\";\r\nimport {\r\n _nativeDb,\r\n BriefcaseDb,\r\n BriefcaseManager,\r\n ChannelControl,\r\n CodeService, DefinitionModel, DictionaryModel, DocumentListModel, Drawing, DrawingGraphic, OpenBriefcaseArgs, SpatialCategory, Subject,\r\n} from \"../../core-backend\";\r\nimport { IModelTestUtils, TestUserType } from \"../IModelTestUtils\";\r\nimport { ServerBasedLocks } from \"../../internal/ServerBasedLocks\";\r\n\r\nchai.use(chaiAsPromised);\r\n\r\nexport async function createNewModelAndCategory(rwIModel: BriefcaseDb, parent?: Id64String) {\r\n // Create a new physical model.\r\n const [, modelId] = await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(rwIModel, IModelTestUtils.getUniqueModelCode(rwIModel, \"newPhysicalModel\"), true, parent);\r\n\r\n // Find or create a SpatialCategory.\r\n const dictionary: DictionaryModel = rwIModel.models.getModel<DictionaryModel>(IModel.dictionaryId);\r\n const newCategoryCode = IModelTestUtils.getUniqueSpatialCategoryCode(dictionary, \"ThisTestSpatialCategory\");\r\n const category = SpatialCategory.create(rwIModel, IModel.dictionaryId, newCategoryCode.value);\r\n const spatialCategoryId = rwIModel.elements.insertElement(category.toJSON());\r\n category.setDefaultAppearance(new SubCategoryAppearance({ color: 0xff0000 }));\r\n // const spatialCategoryId: Id64String = SpatialCategory.insert(rwIModel, IModel.dictionaryId, newCategoryCode.value!, new SubCategoryAppearance({ color: 0xff0000 }));\r\n\r\n return { modelId, spatialCategoryId };\r\n}\r\n\r\ndescribe(\"IModelWriteTest\", () => {\r\n let managerAccessToken: AccessToken;\r\n let superAccessToken: AccessToken;\r\n let iTwinId: GuidString;\r\n\r\n before(() => {\r\n HubMock.startup(\"IModelWriteTest\", KnownTestLocations.outputDir);\r\n iTwinId = HubMock.iTwinId;\r\n });\r\n after(() => HubMock.shutdown());\r\n\r\n it(\"Check busyTimeout option\", async () => {\r\n const iModelProps = {\r\n iModelName: \"ReadWriteTest\",\r\n iTwinId,\r\n };\r\n\r\n const iModelId = await HubMock.createNewIModel(iModelProps);\r\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: \"test token\", iTwinId, iModelId });\r\n\r\n const tryOpen = async (args: OpenBriefcaseArgs) => {\r\n const start = performance.now();\r\n let didThrow = false;\r\n try {\r\n await BriefcaseDb.open(args);\r\n\r\n } catch (e: any) {\r\n assert.strictEqual(e.errorNumber, DbResult.BE_SQLITE_BUSY, \"Expect error 'Db is busy'\");\r\n didThrow = true;\r\n }\r\n assert.isTrue(didThrow);\r\n return performance.now() - start;\r\n };\r\n const seconds = (s: number) => s * 1000;\r\n\r\n const db = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n db.saveChanges();\r\n // lock db so another connection cannot write to it.\r\n db.saveFileProperty({ name: \"test\", namespace: \"test\" }, \"\");\r\n\r\n assert.isAtMost(await tryOpen({ fileName: briefcaseProps.fileName, busyTimeout: seconds(0) }), seconds(1), \"open should fail with busy error instantly\");\r\n assert.isAtLeast(await tryOpen({ fileName: briefcaseProps.fileName, busyTimeout: seconds(1) }), seconds(1), \"open should fail with atleast 1 sec delay due to retry\");\r\n assert.isAtLeast(await tryOpen({ fileName: briefcaseProps.fileName, busyTimeout: seconds(2) }), seconds(2), \"open should fail with atleast 2 sec delay due to retry\");\r\n assert.isAtLeast(await tryOpen({ fileName: briefcaseProps.fileName, busyTimeout: seconds(3) }), seconds(3), \"open should fail with atleast 3 sec delay due to retry\");\r\n\r\n db.abandonChanges();\r\n db.close();\r\n });\r\n\r\n it(\"WatchForChanges\", async () => {\r\n const iModelProps = {\r\n iModelName: \"ReadWriteTest\",\r\n iTwinId,\r\n };\r\n\r\n const iModelId = await HubMock.createNewIModel(iModelProps);\r\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: \"test token\", iTwinId, iModelId });\r\n\r\n let nClosed = 0;\r\n const fsWatcher = {\r\n callback: () => { },\r\n close: () => ++nClosed,\r\n };\r\n const watchStub: any = (_filename: fs.PathLike, _opts: fs.WatchOptions, fn: () => void) => {\r\n fsWatcher.callback = fn;\r\n return fsWatcher;\r\n };\r\n const watchStubResult = sinon.stub(fs, \"watch\").callsFake(watchStub);\r\n\r\n const bc = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n bc.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n const roBC = await BriefcaseDb.open({ fileName: briefcaseProps.fileName, watchForChanges: true });\r\n\r\n const code1 = IModelTestUtils.getUniqueModelCode(bc, \"newPhysicalModel1\");\r\n await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(bc, code1, true);\r\n bc.saveChanges();\r\n\r\n // immediately after save changes the current txnId in the writeable briefcase changes, but it isn't reflected\r\n // in the readonly briefcase until the file watcher fires.\r\n expect(bc[_nativeDb].getCurrentTxnId()).not.equal(roBC[_nativeDb].getCurrentTxnId());\r\n\r\n // trigger watcher via stub\r\n fsWatcher.callback();\r\n\r\n // now they should match because restartDefaultTxn in the readonly briefcase reads the changes from the writeable connection\r\n expect(bc[_nativeDb].getCurrentTxnId()).equal(roBC[_nativeDb].getCurrentTxnId());\r\n\r\n roBC.close();\r\n expect(nClosed).equal(1);\r\n\r\n bc.close();\r\n // NOTE: Since HubMock.startup() is called in the before() block and not beforeEach(), we CANNOT\r\n // call sinon.restore() here. This is because sinon.restore() will restore the stubs for\r\n // CloudSqlite that HubMock.startup() put in place.\r\n watchStubResult.restore();\r\n });\r\n\r\n function expectEqualChangesets(a: ChangesetIdWithIndex, b: ChangesetIdWithIndex): void {\r\n expect(a.id).to.equal(b.id);\r\n expect(a.index).to.equal(b.index);\r\n }\r\n\r\n it(\"WatchForChanges - push\", async () => {\r\n const adminAccessToken = await HubWrappers.getAccessToken(TestUserType.SuperManager);\r\n const iModelProps = {\r\n iModelName: \"ReadWriteTest\",\r\n iTwinId,\r\n };\r\n\r\n const iModelId = await HubMock.createNewIModel(iModelProps);\r\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: adminAccessToken, iTwinId, iModelId });\r\n\r\n let nClosed = 0;\r\n const fsWatcher = {\r\n callback: () => { },\r\n close: () => ++nClosed,\r\n };\r\n const watchStub: any = (_filename: fs.PathLike, _opts: fs.WatchOptions, fn: () => void) => {\r\n fsWatcher.callback = fn;\r\n return fsWatcher;\r\n };\r\n const watchStubResult = sinon.stub(fs, \"watch\").callsFake(watchStub);\r\n\r\n const bc = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n bc.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n const roBC = await BriefcaseDb.open({ fileName: briefcaseProps.fileName, watchForChanges: true });\r\n\r\n const code1 = IModelTestUtils.getUniqueModelCode(bc, \"newPhysicalModel1\");\r\n await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(bc, code1, true);\r\n bc.saveChanges();\r\n\r\n // immediately after save changes the current txnId in the writeable briefcase changes, but it isn't reflected\r\n // in the readonly briefcase until the file watcher fires.\r\n expect(bc[_nativeDb].getCurrentTxnId()).not.equal(roBC[_nativeDb].getCurrentTxnId());\r\n\r\n // trigger watcher via stub\r\n fsWatcher.callback();\r\n\r\n // now they should match because restartDefaultTxn in the readonly briefcase reads the changes from the writeable connection\r\n expect(bc[_nativeDb].getCurrentTxnId()).equal(roBC[_nativeDb].getCurrentTxnId());\r\n\r\n // Push the changes to the hub\r\n\r\n const prePushChangeset = bc.changeset;\r\n let eventRaised = false;\r\n roBC.onChangesetChanged.addOnce((prevCS) => {\r\n expectEqualChangesets(prevCS, prePushChangeset);\r\n eventRaised = true;\r\n });\r\n\r\n await bc.pushChanges({ accessToken: adminAccessToken, description: \"test\" });\r\n const postPushChangeset = bc.changeset;\r\n assert(!!postPushChangeset);\r\n expect(prePushChangeset !== postPushChangeset, \"changes should be pushed\");\r\n\r\n // trigger watcher via stub\r\n fsWatcher.callback();\r\n\r\n expectEqualChangesets(roBC.changeset, postPushChangeset);\r\n expect(roBC[_nativeDb].getCurrentTxnId(), \"txn should be updated\").equal(bc[_nativeDb].getCurrentTxnId());\r\n expect(eventRaised).to.be.true;\r\n\r\n roBC.close();\r\n expect(nClosed).equal(1);\r\n\r\n bc.close();\r\n // NOTE: Since HubMock.startup() is called in the before() block and not beforeEach(), we CANNOT\r\n // call sinon.restore() here. This is because sinon.restore() will restore the stubs for\r\n // CloudSqlite that HubMock.startup() put in place.\r\n watchStubResult.restore();\r\n });\r\n\r\n it(\"WatchForChanges - pull\", async () => {\r\n const adminAccessToken = await HubWrappers.getAccessToken(TestUserType.SuperManager);\r\n\r\n const pathname = IModelTestUtils.resolveAssetFile(\"CompatibilityTestSeed.bim\");\r\n const hubName = \"CompatibilityTest\";\r\n const iModelId = await HubWrappers.pushIModel(managerAccessToken, iTwinId, pathname, hubName, true);\r\n\r\n // Download two copies of the briefcase - manager and super\r\n const args: RequestNewBriefcaseProps = { iTwinId, iModelId };\r\n const initialDb = await BriefcaseManager.downloadBriefcase({ accessToken: adminAccessToken, ...args });\r\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: adminAccessToken, ...args });\r\n\r\n // Push some changes - prep for pull workflow.\r\n const bc1 = await BriefcaseDb.open({ fileName: initialDb.fileName });\r\n bc1.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n const code2 = IModelTestUtils.getUniqueModelCode(bc1, \"newPhysicalModel2\");\r\n await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(bc1, code2, true);\r\n const prePushChangeset = bc1.changeset;\r\n bc1.saveChanges();\r\n await bc1.pushChanges({ accessToken: adminAccessToken, description: \"test\" });\r\n const postPushChangeset = bc1.changeset;\r\n assert(!!prePushChangeset);\r\n expect(prePushChangeset !== postPushChangeset, \"changes should be pushed\");\r\n\r\n bc1.close();\r\n\r\n // Writer that pulls + watcher.\r\n let nClosed = 0;\r\n const fsWatcher = {\r\n callback: () => { },\r\n close: () => ++nClosed,\r\n };\r\n const watchStub: any = (_filename: fs.PathLike, _opts: fs.WatchOptions, fn: () => void) => {\r\n fsWatcher.callback = fn;\r\n return fsWatcher;\r\n };\r\n const watchStubResult = sinon.stub(fs, \"watch\").callsFake(watchStub);\r\n\r\n const bc = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n bc.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n const roBC = await BriefcaseDb.open({ fileName: briefcaseProps.fileName, watchForChanges: true });\r\n\r\n const prePullChangeset = bc.changeset;\r\n let eventRaised = false;\r\n roBC.onChangesetChanged.addOnce((prevCS) => {\r\n expectEqualChangesets(prevCS, prePushChangeset);\r\n eventRaised = true;\r\n });\r\n\r\n await bc.pullChanges();\r\n\r\n const postPullChangeset = bc.changeset;\r\n assert(!!postPullChangeset);\r\n expect(prePullChangeset !== postPullChangeset, \"changes should be pulled\");\r\n\r\n // trigger watcher via stub\r\n fsWatcher.callback();\r\n\r\n expectEqualChangesets(roBC.changeset, postPullChangeset);\r\n expect(roBC[_nativeDb].getCurrentTxnId(), \"txn should be updated\").equal(bc[_nativeDb].getCurrentTxnId());\r\n expect(eventRaised).to.be.true;\r\n\r\n roBC.close();\r\n expect(nClosed).equal(1);\r\n\r\n bc.close();\r\n // NOTE: Since HubMock.startup() is called in the before() block and not beforeEach(), we CANNOT\r\n // call sinon.restore() here. This is because sinon.restore() will restore the stubs for\r\n // CloudSqlite that HubMock.startup() put in place.\r\n watchStubResult.restore();\r\n });\r\n\r\n it(\"should handle undo/redo\", async () => {\r\n const adminAccessToken = await HubWrappers.getAccessToken(TestUserType.SuperManager);\r\n // Delete any existing iModels with the same name as the read-write test iModel\r\n const iModelName = \"CodesUndoRedoPushTest\";\r\n\r\n // Create a new empty iModel on the Hub & obtain a briefcase\r\n const rwIModelId = await HubMock.createNewIModel({ accessToken: adminAccessToken, iTwinId, iModelName, description: \"TestSubject\" });\r\n assert.isNotEmpty(rwIModelId);\r\n const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ accessToken: adminAccessToken, iTwinId, iModelId: rwIModelId });\r\n rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n\r\n // create and insert a new model with code1\r\n const code1 = IModelTestUtils.getUniqueModelCode(rwIModel, \"newPhysicalModel1\");\r\n await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(rwIModel, code1, true);\r\n assert.isTrue(rwIModel.elements.getElement(code1) !== undefined); // throws if element is not found\r\n\r\n // create a local txn with that change\r\n rwIModel.saveChanges(\"inserted newPhysicalModel\");\r\n\r\n // Reverse that local txn\r\n rwIModel.txns.reverseSingleTxn();\r\n\r\n try {\r\n // The model that I just created with code1 should no longer be there.\r\n const theNewModel = rwIModel.elements.getElement(code1); // throws if element is not found\r\n assert.isTrue(theNewModel === undefined); // really should not be here.\r\n assert.fail(); // should not be here.\r\n } catch {\r\n // this is what I expect\r\n }\r\n\r\n // Create and insert a model with code2\r\n const code2 = IModelTestUtils.getUniqueModelCode(rwIModel, \"newPhysicalModel2\");\r\n await IModelTestUtils.createAndInsertPhysicalPartitionAndModelAsync(rwIModel, code2, true);\r\n rwIModel.saveChanges(\"inserted generic objects\");\r\n\r\n // The iModel should have a model with code1 and not code2\r\n assert.isTrue(rwIModel.elements.getElement(code2) !== undefined); // throws if element is not found\r\n\r\n // Push the changes to the hub\r\n const prePushChangeset = rwIModel.changeset;\r\n await rwIModel.pushChanges({ accessToken: adminAccessToken, description: \"test\" });\r\n const postPushChangeset = rwIModel.changeset;\r\n assert(!!postPushChangeset);\r\n expect(prePushChangeset !== postPushChangeset);\r\n\r\n rwIModel.close();\r\n });\r\n\r\n it(\"should be able to upgrade a briefcase with an older schema\", async () => {\r\n /**\r\n * Test validates that -\r\n * - User \"manager\" upgrades the BisCore schema in the briefcase from version 1.0.0 to 1.0.10+\r\n * - User \"super\" can get the upgrade \"manager\" made\r\n */\r\n\r\n /* Setup test - Push an iModel with an old BisCore schema up to the Hub */\r\n const pathname = IModelTestUtils.resolveAssetFile(\"CompatibilityTestSeed.bim\");\r\n const hubName = \"CompatibilityTest\";\r\n const iModelId = await HubWrappers.pushIModel(managerAccessToken, iTwinId, pathname, hubName, true);\r\n\r\n // Download two copies of the briefcase - manager and super\r\n const args: RequestNewBriefcaseProps = { iTwinId, iModelId };\r\n const managerBriefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: managerAccessToken, ...args });\r\n const superBriefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: superAccessToken, ...args });\r\n\r\n /* User \"manager\" upgrades the briefcase */\r\n\r\n // Validate the original state of the BisCore schema in the briefcase\r\n let iModel = await BriefcaseDb.open({ fileName: managerBriefcaseProps.fileName });\r\n const beforeVersion = iModel.querySchemaVersion(\"BisCore\");\r\n assert.isTrue(semver.satisfies(beforeVersion!, \"= 1.0.0\"));\r\n assert.isFalse(iModel[_nativeDb].hasPendingTxns());\r\n iModel.close();\r\n\r\n // Validate that the BisCore schema is recognized as a recommended upgrade\r\n let schemaState = BriefcaseDb.validateSchemas(managerBriefcaseProps.fileName, true);\r\n assert.strictEqual(schemaState, SchemaState.UpgradeRecommended);\r\n\r\n // Upgrade the schemas\r\n await BriefcaseDb.upgradeSchemas(managerBriefcaseProps);\r\n\r\n // Validate state after upgrade\r\n iModel = await BriefcaseDb.open({ fileName: managerBriefcaseProps.fileName });\r\n const afterVersion = iModel.querySchemaVersion(\"BisCore\");\r\n assert.isTrue(semver.satisfies(afterVersion!, \">= 1.0.10\"));\r\n assert.isFalse(iModel[_nativeDb].hasPendingTxns());\r\n assert.isFalse(iModel.holdsSchemaLock);\r\n assert.isFalse(iModel[_nativeDb].hasUnsavedChanges());\r\n iModel.close();\r\n\r\n /* User \"super\" can get the upgrade \"manager\" made */\r\n\r\n // Validate that the BisCore schema is recognized as a recommended upgrade\r\n schemaState = BriefcaseDb.validateSchemas(superBriefcaseProps.fileName, true);\r\n assert.strictEqual(schemaState, SchemaState.UpgradeRecommended);\r\n\r\n // Open briefcase and pull change sets to upgrade\r\n const superIModel = await BriefcaseDb.open({ fileName: superBriefcaseProps.fileName });\r\n (superBriefcaseProps.changeset as any) = await superIModel.pullChanges({ accessToken: superAccessToken });\r\n const superVersion = superIModel.querySchemaVersion(\"BisCore\");\r\n assert.isTrue(semver.satisfies(superVersion!, \">= 1.0.10\"));\r\n assert.isFalse(superIModel[_nativeDb].hasUnsavedChanges()); // Validate no changes were made\r\n assert.isFalse(superIModel[_nativeDb].hasPendingTxns()); // Validate no changes were made\r\n superIModel.close();\r\n\r\n // Validate that there are no upgrades required\r\n schemaState = BriefcaseDb.validateSchemas(superBriefcaseProps.fileName, true);\r\n assert.strictEqual(schemaState, SchemaState.UpToDate);\r\n\r\n // Upgrade the schemas - ensure this is a no-op\r\n await BriefcaseDb.upgradeSchemas(superBriefcaseProps);\r\n await HubMock.deleteIModel({ accessToken: managerAccessToken, iTwinId, iModelId });\r\n });\r\n\r\n it(\"changeset size and ec schema version change\", async () => {\r\n const adminToken = \"super manager token\";\r\n const iModelName = \"changeset_size\";\r\n const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: \"TestSubject\", accessToken: adminToken });\r\n assert.isNotEmpty(rwIModelId);\r\n const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });\r\n assert.equal(rwIModel[_nativeDb].enableChangesetSizeStats(true), DbResult.BE_SQLITE_OK);\r\n const schema = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <ECSchema schemaName=\"TestDomain\" alias=\"ts\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\r\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\r\n <ECEntityClass typeName=\"Test2dElement\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n <ECProperty propertyName=\"s\" typeName=\"string\"/>\r\n </ECEntityClass>\r\n </ECSchema>`;\r\n await rwIModel.importSchemaStrings([schema]);\r\n rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n rwIModel.saveChanges(\"user 1: schema changeset\");\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel.changeset.id;\r\n await rwIModel.pushChanges({ description: \"push schema changeset\", accessToken: adminToken });\r\n const postPushChangeSetId = rwIModel.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: superAccessToken });\r\n assert.equal(changesets.length, 1);\r\n }\r\n await rwIModel.locks.acquireLocks({ shared: IModel.dictionaryId });\r\n const codeProps = Code.createEmpty();\r\n codeProps.value = \"DrawingModel\";\r\n let totalEl = 0;\r\n const [, drawingModelId] = IModelTestUtils.createAndInsertDrawingPartitionAndModel(rwIModel, codeProps, true);\r\n let drawingCategoryId = DrawingCategory.queryCategoryIdByName(rwIModel, IModel.dictionaryId, \"MyDrawingCategory\");\r\n if (undefined === drawingCategoryId)\r\n drawingCategoryId = DrawingCategory.insert(rwIModel, IModel.dictionaryId, \"MyDrawingCategory\", new SubCategoryAppearance({ color: ColorDef.fromString(\"rgb(255,0,0)\").toJSON() }));\r\n\r\n const insertElements = (imodel: BriefcaseDb, className: string = \"Test2dElement\", noOfElements: number = 10, userProp: (n: number) => object) => {\r\n for (let m = 0; m < noOfElements; ++m) {\r\n const geomArray: Arc3d[] = [\r\n Arc3d.createXY(Point3d.create(0, 0), 5),\r\n Arc3d.createXY(Point3d.create(5, 5), 2),\r\n Arc3d.createXY(Point3d.create(-5, -5), 20),\r\n ];\r\n const geometryStream: GeometryStreamProps = [];\r\n for (const geom of geomArray) {\r\n const arcData = IModelJson.Writer.toIModelJson(geom);\r\n geometryStream.push(arcData);\r\n }\r\n const prop = userProp(++totalEl);\r\n // Create props\r\n const geomElement = {\r\n classFullName: `TestDomain:${className}`,\r\n model: drawingModelId,\r\n category: drawingCategoryId,\r\n code: Code.createEmpty(),\r\n geom: geometryStream,\r\n ...prop,\r\n };\r\n const id = imodel.elements.insertElement(geomElement);\r\n assert.isTrue(Id64.isValidId64(id), \"insert worked\");\r\n }\r\n };\r\n const str = new Array(1024).join(\"x\");\r\n insertElements(rwIModel, \"Test2dElement\", 1024, () => {\r\n return { s: str };\r\n });\r\n assert.equal(1357648, rwIModel[_nativeDb].getChangesetSize());\r\n\r\n rwIModel.saveChanges(\"user 1: data\");\r\n assert.equal(0, rwIModel[_nativeDb].getChangesetSize());\r\n await rwIModel.pushChanges({ description: \"schema changeset\", accessToken: adminToken });\r\n rwIModel.close();\r\n });\r\n\r\n it(\"should set a fake verifyCode for codeService that throws error for operations that affect code, if failed to open codeService \", async () => {\r\n const iModelProps = {\r\n iModelName: \"codeServiceTest\",\r\n iTwinId,\r\n };\r\n const iModelId = await HubMock.createNewIModel(iModelProps);\r\n const briefcaseProps = await BriefcaseManager.downloadBriefcase({ accessToken: \"codeServiceTest\", iTwinId, iModelId });\r\n const originalCreateForIModel = CodeService.createForIModel;\r\n // can be any errors except 'NoCodeIndex'\r\n CodeService.createForIModel = async () => {\r\n throw new CodeService.Error(\"MissingCode\", 0x10000 + 1, \" \");\r\n };\r\n const briefcaseDb = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n briefcaseDb.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n let firstNonRootElement = { id: undefined, codeValue: \"test\" };\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n briefcaseDb.withPreparedStatement(\"SELECT * from Bis.Element LIMIT 1 OFFSET 1\", (stmt: ECSqlStatement) => {\r\n if (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n firstNonRootElement = stmt.getRow();\r\n }\r\n });\r\n // make change to the briefcaseDb that does not affect code, e.g., save file property\r\n // expect no error from verifyCode\r\n expect(() => briefcaseDb.saveFileProperty({ name: \"codeServiceProp\", namespace: \"codeService\", id: 1, subId: 1 }, \"codeService test\")).to.not.throw();\r\n // make change to the briefcaseDb that affects code that will invoke verifyCode, e.g., update an element with a non-null code\r\n // expect error from verifyCode\r\n let newProps = { id: firstNonRootElement.id, code: { ...Code.createEmpty(), value: firstNonRootElement.codeValue }, classFullName: undefined, model: undefined };\r\n await briefcaseDb.locks.acquireLocks({ exclusive: firstNonRootElement.id });\r\n expect(() => briefcaseDb.elements.updateElement(newProps)).to.throw(CodeService.Error);\r\n // make change to the briefcaseDb that will invoke verifyCode with a null(empty) code, e.g., update an element with a null(empty) code\r\n // expect no error from verifyCode\r\n newProps = { id: firstNonRootElement.id, code: Code.createEmpty(), classFullName: undefined, model: undefined };\r\n expect(() => briefcaseDb.elements.updateElement(newProps)).to.not.throw();\r\n briefcaseDb.close();\r\n // throw \"NoCodeIndex\", this error should get ignored because it means the iModel isn't enforcing codes. updating an element with an empty code and a non empty code should work without issue.\r\n CodeService.createForIModel = async () => {\r\n throw new CodeService.Error(\"NoCodeIndex\", 0x10000 + 1, \" \");\r\n };\r\n const briefcaseDb2 = await BriefcaseDb.open({ fileName: briefcaseProps.fileName });\r\n briefcaseDb2.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n await briefcaseDb2.locks.acquireLocks({ exclusive: firstNonRootElement.id });\r\n // expect no error from verifyCode for empty code\r\n expect(() => briefcaseDb2.elements.updateElement(newProps)).to.not.throw();\r\n newProps = { id: firstNonRootElement.id, code: { ...Code.createEmpty(), value: firstNonRootElement.codeValue }, classFullName: undefined, model: undefined };\r\n // make change to the briefcaseDb that affects code that will invoke verifyCode, e.g., update an element with a non-null code\r\n // expect no error from verifyCode\r\n expect(() => briefcaseDb2.elements.updateElement(newProps)).to.not.throw();\r\n // clean up\r\n CodeService.createForIModel = originalCreateForIModel;\r\n briefcaseDb2.close();\r\n });\r\n\r\n it(\"clear cache on schema changes\", async () => {\r\n const adminToken = await HubWrappers.getAccessToken(TestUserType.SuperManager);\r\n const userToken = await HubWrappers.getAccessToken(TestUserType.Super);\r\n // Delete any existing iModels with the same name as the OptimisticConcurrencyTest iModel\r\n const iModelName = \"SchemaChanges\";\r\n\r\n // Create a new empty iModel on the Hub & obtain a briefcase\r\n const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: \"TestSubject\" });\r\n assert.isNotEmpty(rwIModelId);\r\n const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });\r\n\r\n const rwIModel2 = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: userToken });\r\n\r\n // enable change tracking\r\n assert.equal(rwIModel[_nativeDb].enableChangesetSizeStats(true), DbResult.BE_SQLITE_OK);\r\n assert.equal(rwIModel2[_nativeDb].enableChangesetSizeStats(true), DbResult.BE_SQLITE_OK);\r\n\r\n const schema = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <ECSchema schemaName=\"TestDomain\" alias=\"ts\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\r\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\r\n <ECEntityClass typeName=\"Test2dElement\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n <ECProperty propertyName=\"s\" typeName=\"string\"/>\r\n </ECEntityClass>\r\n </ECSchema>`;\r\n await rwIModel.importSchemaStrings([schema]);\r\n rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n rwIModel2.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n\r\n rwIModel.saveChanges(\"user 1: schema changeset\");\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel.changeset.id;\r\n await rwIModel.pushChanges({ description: \"schema changeset\", accessToken: adminToken });\r\n const postPushChangeSetId = rwIModel.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: superAccessToken });\r\n assert.equal(changesets.length, 1);\r\n }\r\n const codeProps = Code.createEmpty();\r\n codeProps.value = \"DrawingModel\";\r\n let totalEl = 0;\r\n await rwIModel.locks.acquireLocks({ shared: IModel.dictionaryId });\r\n const [, drawingModelId] = IModelTestUtils.createAndInsertDrawingPartitionAndModel(rwIModel, codeProps, true);\r\n let drawingCategoryId = DrawingCategory.queryCategoryIdByName(rwIModel, IModel.dictionaryId, \"MyDrawingCategory\");\r\n if (undefined === drawingCategoryId)\r\n drawingCategoryId = DrawingCategory.insert(rwIModel, IModel.dictionaryId, \"MyDrawingCategory\", new SubCategoryAppearance({ color: ColorDef.fromString(\"rgb(255,0,0)\").toJSON() }));\r\n\r\n const insertElements = (imodel: BriefcaseDb, className: string = \"Test2dElement\", noOfElements: number = 10, userProp: (n: number) => object) => {\r\n for (let m = 0; m < noOfElements; ++m) {\r\n const geomArray: Arc3d[] = [\r\n Arc3d.createXY(Point3d.create(0, 0), 5),\r\n Arc3d.createXY(Point3d.create(5, 5), 2),\r\n Arc3d.createXY(Point3d.create(-5, -5), 20),\r\n ];\r\n const geometryStream: GeometryStreamProps = [];\r\n for (const geom of geomArray) {\r\n const arcData = IModelJson.Writer.toIModelJson(geom);\r\n geometryStream.push(arcData);\r\n }\r\n const prop = userProp(++totalEl);\r\n // Create props\r\n const geomElement = {\r\n classFullName: `TestDomain:${className}`,\r\n model: drawingModelId,\r\n category: drawingCategoryId,\r\n code: Code.createEmpty(),\r\n geom: geometryStream,\r\n ...prop,\r\n };\r\n const id = imodel.elements.insertElement(geomElement);\r\n assert.isTrue(Id64.isValidId64(id), \"insert worked\");\r\n }\r\n };\r\n\r\n insertElements(rwIModel, \"Test2dElement\", 10, (n: number) => {\r\n return { s: `s-${n}` };\r\n });\r\n\r\n assert.equal(3889, rwIModel[_nativeDb].getChangesetSize());\r\n rwIModel.saveChanges(\"user 1: data changeset\");\r\n\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel.changeset.id;\r\n await rwIModel.pushChanges({ description: \"10 instances of test2dElement\", accessToken: adminToken });\r\n const postPushChangeSetId = rwIModel.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: superAccessToken });\r\n assert.equal(changesets.length, 2);\r\n }\r\n let rows: any[] = [];\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 10);\r\n rows = [];\r\n for await (const queryRow of rwIModel.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 10);\r\n if (true || \"user pull/merge\") {\r\n // pull and merge changes\r\n await rwIModel2.pullChanges({ accessToken: userToken });\r\n rows = [];\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel2.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 10);\r\n rows = [];\r\n for await (const queryRow of rwIModel2.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 10);\r\n // create some element and push those changes\r\n await rwIModel2.locks.acquireLocks({ shared: drawingModelId });\r\n insertElements(rwIModel2, \"Test2dElement\", 10, (n: number) => {\r\n return { s: `s-${n}` };\r\n });\r\n assert.equal(0, rwIModel[_nativeDb].getChangesetSize());\r\n rwIModel2.saveChanges(\"user 2: data changeset\");\r\n\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel2.changeset.id;\r\n await rwIModel2.pushChanges({ accessToken: userToken, description: \"10 instances of test2dElement\" });\r\n const postPushChangeSetId = rwIModel2.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: userToken });\r\n assert.equal(changesets.length, 3);\r\n }\r\n }\r\n await rwIModel.pullChanges({ accessToken: adminToken });\r\n // second schema import ==============================================================\r\n const schemaV2 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <ECSchema schemaName=\"TestDomain\" alias=\"ts\" version=\"01.01\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\r\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\r\n <ECEntityClass typeName=\"Test2dElement\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n <ECProperty propertyName=\"s\" typeName=\"string\"/>\r\n <ECProperty propertyName=\"v\" typeName=\"string\"/>\r\n </ECEntityClass>\r\n <ECEntityClass typeName=\"Test2dElement2nd\">\r\n <BaseClass>bis:GraphicalElement2d</BaseClass>\r\n <ECProperty propertyName=\"t\" typeName=\"string\"/>\r\n <ECProperty propertyName=\"r\" typeName=\"string\"/>\r\n </ECEntityClass>\r\n </ECSchema>`;\r\n await rwIModel.importSchemaStrings([schemaV2]);\r\n assert.equal(0, rwIModel[_nativeDb].getChangesetSize());\r\n rwIModel.saveChanges(\"user 1: schema changeset2\");\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel.changeset.id;\r\n await rwIModel.pushChanges({ accessToken: adminToken, description: \"schema changeset\" });\r\n const postPushChangeSetId = rwIModel.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: superAccessToken });\r\n assert.equal(changesets.length, 4);\r\n }\r\n // create some element and push those changes\r\n await rwIModel.locks.acquireLocks({ shared: drawingModelId });\r\n insertElements(rwIModel, \"Test2dElement\", 10, (n: number) => {\r\n return {\r\n s: `s-${n}`, v: `v-${n}`,\r\n };\r\n });\r\n\r\n // create some element and push those changes\r\n insertElements(rwIModel, \"Test2dElement2nd\", 10, (n: number) => {\r\n return {\r\n t: `t-${n}`, r: `r-${n}`,\r\n };\r\n });\r\n assert.equal(6266, rwIModel[_nativeDb].getChangesetSize());\r\n rwIModel.saveChanges(\"user 1: data changeset\");\r\n\r\n if (true || \"push changes\") {\r\n // Push the changes to the hub\r\n const prePushChangeSetId = rwIModel.changeset.id;\r\n await rwIModel.pushChanges({ accessToken: adminToken, description: \"10 instances of test2dElement\" });\r\n const postPushChangeSetId = rwIModel.changeset.id;\r\n assert(!!postPushChangeSetId);\r\n expect(prePushChangeSetId !== postPushChangeSetId);\r\n const changesets = await HubMock.queryChangesets({ iModelId: rwIModelId, accessToken: superAccessToken });\r\n assert.equal(changesets.length, 5);\r\n }\r\n rows = [];\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 30);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 30);\r\n assert.equal(rows.map((r) => r.v).filter((v) => v).length, 10);\r\n rows = [];\r\n for await (const queryRow of rwIModel.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 30);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 30);\r\n assert.equal(rows.map((r) => r.v).filter((v) => v).length, 10);\r\n\r\n rows = [];\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement2nd\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.t).filter((v) => v).length, 10);\r\n assert.equal(rows.map((r) => r.r).filter((v) => v).length, 10);\r\n rows = [];\r\n for await (const queryRow of rwIModel.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement2nd\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.t).filter((v) => v).length, 10);\r\n assert.equal(rows.map((r) => r.r).filter((v) => v).length, 10);\r\n\r\n if (true || \"user pull/merge\") {\r\n // pull and merge changes\r\n await rwIModel2.pullChanges({ accessToken: userToken });\r\n rows = [];\r\n // Following fail without the fix in briefcase manager where we clear statement cache on schema changeset apply\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel2.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 30);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 30);\r\n assert.equal(rows.map((r) => r.v).filter((v) => v).length, 10);\r\n rows = [];\r\n // Following fail without native side fix where we clear concurrent query cache on schema changeset apply\r\n for await (const queryRow of rwIModel2.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 30);\r\n assert.equal(rows.map((r) => r.s).filter((v) => v).length, 30);\r\n assert.equal(rows.map((r) => r.v).filter((v) => v).length, 10);\r\n for (const row of rows) {\r\n const el: any = rwIModel2.elements.getElementProps(row.id);\r\n assert.isDefined(el);\r\n if (row.s) {\r\n assert.equal(row.s, el.s);\r\n } else {\r\n assert.isUndefined(el.s);\r\n }\r\n if (row.v) {\r\n assert.equal(row.v, el.v);\r\n } else {\r\n assert.isUndefined(el.v);\r\n }\r\n }\r\n rows = [];\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n rwIModel2.withPreparedStatement(\"SELECT * FROM TestDomain.Test2dElement2nd\", (stmt: ECSqlStatement) => {\r\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\r\n rows.push(stmt.getRow());\r\n }\r\n });\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.t).filter((v) => v).length, 10);\r\n assert.equal(rows.map((r) => r.r).filter((v) => v).length, 10);\r\n for (const row of rows) {\r\n const el: any = rwIModel2.elements.getElementProps(row.id);\r\n assert.isDefined(el);\r\n if (row.s) {\r\n assert.equal(row.s, el.s);\r\n } else {\r\n assert.isUndefined(el.s);\r\n }\r\n if (row.v) {\r\n assert.equal(row.v, el.v);\r\n } else {\r\n assert.isUndefined(el.v);\r\n }\r\n }\r\n rows = [];\r\n for await (const queryRow of rwIModel2.createQueryReader(\"SELECT * FROM TestDomain.Test2dElement2nd\", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n rows.push(queryRow.toRow());\r\n }\r\n assert.equal(rows.length, 10);\r\n assert.equal(rows.map((r) => r.t).filter((v) => v).length, 10);\r\n assert.equal(rows.map((r) => r.r).filter((v) => v).length, 10);\r\n for (const row of rows) {\r\n const el: any = rwIModel2.elements.getElementProps(row.id);\r\n assert.isDefined(el);\r\n if (row.t) {\r\n assert.equal(row.t, el.t);\r\n } else {\r\n assert.isUndefined(el.t);\r\n }\r\n if (row.r) {\r\n assert.equal(row.r, el.r);\r\n } else {\r\n assert.isUndefined(el.r);\r\n }\r\n }\r\n }\r\n rwIModel.close();\r\n rwIModel2.close();\r\n });\r\n\r\n it(\"pulling a changeset with extents changes should update the extents of the opened imodel\", async () => {\r\n const accessToken = await HubWrappers.getAccessToken(TestUserType.Regular);\r\n const version0 = IModelTestUtils.resolveAssetFile(\"mirukuru.ibim\");\r\n const iModelId = await HubMock.createNewIModel({ iTwinId, iModelName: \"projectExtentsTest\", version0 });\r\n const iModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId });\r\n const changesetIdBeforeExtentsChange = iModel.changeset.id;\r\n const extents = iModel.projectExtents;\r\n const newExtents = extents.clone();\r\n newExtents.low.x += 100;\r\n newExtents.low.y += 100;\r\n newExtents.high.x += 100;\r\n newExtents.high.y += 100;\r\n iModel.updateProjectExtents(newExtents);\r\n iModel.saveChanges(\"update project extents\");\r\n await iModel.pushChanges({ description: \"update project extents\" });\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModel);\r\n const iModelBeforeExtentsChange = await HubWrappers.downloadAndOpenBriefcase({ accessToken, iTwinId, iModelId, asOf: IModelVersion.asOfChangeSet(changesetIdBeforeExtentsChange).toJSON() });\r\n const extentsBeforePull = iModelBeforeExtentsChange.projectExtents;\r\n // Read the extents fileProperty.\r\n const extentsStrBeforePull = iModelBeforeExtentsChange.queryFilePropertyString({name: \"Extents\", namespace: \"dgn_Db\"});\r\n const ecefLocationBeforeExtentsChange = iModelBeforeExtentsChange.ecefLocation;\r\n await iModelBeforeExtentsChange.pullChanges(); // Pulls the extents change.\r\n const extentsAfterPull = iModelBeforeExtentsChange.projectExtents;\r\n const extentsStrAfterPull = iModelBeforeExtentsChange.queryFilePropertyString({name: \"Extents\", namespace: \"dgn_Db\"});\r\n const ecefLocationAfterExtentsChange = iModelBeforeExtentsChange.ecefLocation;\r\n\r\n expect(ecefLocationBeforeExtentsChange).to.not.be.undefined;\r\n expect(ecefLocationAfterExtentsChange).to.not.be.undefined;\r\n expect(ecefLocationBeforeExtentsChange?.isAlmostEqual(ecefLocationAfterExtentsChange!)).to.be.false;\r\n expect(extentsStrAfterPull).to.not.equal(extentsStrBeforePull);\r\n expect(extentsAfterPull.isAlmostEqual(extentsBeforePull)).to.be.false;\r\n await HubWrappers.closeAndDeleteBriefcaseDb(accessToken, iModelBeforeExtentsChange);\r\n });\r\n\r\n it(\"parent lock should suffice when inserting into deeply nested sub-model\", async () => {\r\n const version0 = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const iModelId = await HubMock.createNewIModel({ iTwinId, iModelName: \"subModelCoveredByParentLockTest\", version0 });\r\n let iModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId });\r\n iModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);\r\n\r\n /*\r\n Job Subject\r\n +- DefinitionPartition -- [DefinitionModel]\r\n */\r\n\r\n await iModel.locks.acquireLocks({ shared: IModel.repositoryModelId });\r\n const jobSubjectId = IModelTestUtils.createJobSubjectElement(iModel, \"JobSubject\").insert();\r\n const definitionModelId = DefinitionModel.insert(iModel, jobSubjectId, \"Definition\");\r\n\r\n iModel.saveChanges();\r\n const locks = iModel.locks;\r\n expect(locks.isServerBased).true;\r\n await iModel.pushChanges({ description: \"create model\" });\r\n expect(iModel.locks).equal(locks); // pushing should not change your locks\r\n\r\n /*\r\n Job Subject <--- Lock this\r\n +- DefinitionPartition -- [DefinitionModel]\r\n SpatialCategory <=== insert this\r\n DrawingCategory \"\r\n */\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(jobSubjectId));\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(definitionModelId));\r\n assert.isFalse(iModel.locks.holdsSharedLock(definitionModelId));\r\n await iModel.locks.acquireLocks({ exclusive: jobSubjectId });\r\n iModel.locks.checkExclusiveLock(jobSubjectId, \"\", \"\");\r\n iModel.locks.checkSharedLock(jobSubjectId, \"\", \"\");\r\n iModel.locks.checkSharedLock(definitionModelId, \"\", \"\");\r\n iModel.locks.checkExclusiveLock(definitionModelId, \"\", \"\");\r\n\r\n const spatialCategoryId = SpatialCategory.insert(iModel, definitionModelId, \"SpatialCategory\", new SubCategoryAppearance()); // throws if we get locking error\r\n const drawingCategoryId = DrawingCategory.insert(iModel, definitionModelId, \"DrawingCategory\", new SubCategoryAppearance());\r\n\r\n assert.isTrue(iModel.elements.getElement(spatialCategoryId).model === definitionModelId);\r\n assert.isTrue(iModel.elements.getElement(drawingCategoryId).model === definitionModelId);\r\n\r\n iModel.saveChanges();\r\n await iModel.pushChanges({ description: \"insert category\" });\r\n\r\n /*\r\n Create some more nesting.\r\n\r\n Job Subject <--- Lock this\r\n +- DefinitionPartition -- [DefinitionModel]\r\n | SpatialCategory\r\n +- Child Subject <== Insert\r\n +- DocumentList -- [DocumentListModel] \"\r\n Drawing -- [DrawingModel] \"\r\n */\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(jobSubjectId));\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(definitionModelId));\r\n assert.isFalse(iModel.locks.holdsSharedLock(definitionModelId));\r\n await iModel.locks.acquireLocks({ exclusive: jobSubjectId });\r\n iModel.locks.checkExclusiveLock(jobSubjectId, \"\", \"\");\r\n iModel.locks.checkSharedLock(IModel.repositoryModelId, \"\", \"\");\r\n\r\n const childSubjectId = Subject.insert(iModel, jobSubjectId, \"Child Subject\");\r\n\r\n const documentListModelId = DocumentListModel.insert(iModel, childSubjectId, \"Document\"); // creates DocumentList and DocumentListModel\r\n assert.isTrue(Id64.isValidId64(documentListModelId));\r\n const drawingModelId = Drawing.insert(iModel, documentListModelId, \"Drawing\"); // creates Drawing and DrawingModel\r\n\r\n assert.isTrue(iModel.elements.getElement(childSubjectId).parent?.id === jobSubjectId);\r\n assert.isTrue(iModel.elements.getElement(childSubjectId).model === IModel.repositoryModelId);\r\n assert.isTrue(iModel.elements.getElement(documentListModelId).parent?.id === childSubjectId);\r\n assert.isTrue(iModel.elements.getElement(documentListModelId).model === IModel.repositoryModelId);\r\n assert.isTrue(iModel.elements.getElement(drawingModelId).model === documentListModelId);\r\n\r\n iModel.saveChanges();\r\n await iModel.pushChanges({ description: \"insert doc list with nested drawing model\" });\r\n\r\n /*\r\n Verify that even a deeply nested insertion is covered by the exclusive lock on the top-level parent.\r\n\r\n Job Subject <--- Lock this\r\n +- DefinitionPartition -- DefinitionModel\r\n | SpatialCategory\r\n +- Child Subject\r\n +- DocumentList -- [DocumentListModel]\r\n Drawing -- [DrawingModel]\r\n DrawingGraphic <== Insert this\r\n */\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(jobSubjectId));\r\n assert.isFalse(iModel.locks.holdsExclusiveLock(definitionModelId));\r\n assert.isFalse(iModel.locks.holdsSharedLock(definitionModelId));\r\n assert.isFalse(iModel.locks.holdsSharedLock(documentListModelId));\r\n assert.isFalse(iModel.locks.holdsSharedLock(drawingModelId));\r\n await iModel.locks.acquireLocks({ exclusive: jobSubjectId });\r\n iModel.locks.checkExclusiveLock(jobSubjectId, \"\", \"\");\r\n iModel.locks.checkSharedLock(IModel.repositoryModelId, \"\", \"\");\r\n iModel.locks.checkSharedLock(documentListModelId, \"\", \"\");\r\n iModel.locks.checkSharedLock(drawingModelId, \"\", \"\");\r\n\r\n const drawingGraphicProps1: GeometricElement2dProps = {\r\n classFullName: DrawingGraphic.classFullName,\r\n model: drawingModelId,\r\n category: drawingCategoryId,\r\n code: Code.createEmpty(),\r\n userLabel: \"DrawingGraphic1\",\r\n geom: IModelTestUtils.createRectangle(Point2d.create(1, 1)),\r\n placement: { origin: Point2d.create(2, 2), angle: 0 },\r\n };\r\n const drawingGraphicId1 = iModel.elements.insertElement(drawingGraphicProps1);\r\n\r\n assert.isTrue(iModel.elements.getElement(drawingGraphicId1).model === drawingModelId);\r\n iModel.saveChanges();\r\n expect(iModel.locks.holdsExclusiveLock(drawingModelId)).true;\r\n\r\n const fileName = iModel[_nativeDb].getFilePath();\r\n iModel.close(); // close rw\r\n iModel = await BriefcaseDb.open({ fileName, readonly: true }); // reopen readonly\r\n expect(iModel.locks.isServerBased).false; // readonly sessions should not have server based locks\r\n\r\n // verify we can push changes from a readonly briefcase\r\n await iModel.pushChanges({ description: \"insert graphic into nested sub-model\" });\r\n\r\n // try it again to verify we can get the ServerBasedLocks again\r\n await iModel.pushChanges({ description: \"should do nothing\" });\r\n iModel.close();\r\n\r\n // reopen readwrite to verify we released all locks from readonly briefcase\r\n iModel = await BriefcaseDb.open({ fileName });\r\n expect(iModel.locks.isServerBased).true;\r\n const serverLocks = iModel.locks as ServerBasedLocks;\r\n expect(serverLocks.holdsExclusiveLock(drawingModelId)).false;\r\n expect(serverLocks.getLockCount(LockState.Shared)).equal(0);\r\n expect(serverLocks.getLockCount(LockState.Exclusive)).equal(0);\r\n iModel.close();\r\n\r\n });\r\n\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"IModelWrite.test.js","sourceRoot":"","sources":["../../../../src/test/standalone/IModelWrite.test.ts"],"names":[],"mappings":"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"}
|