@itwin/insights-client
Version:
Insights client for the iTwin platform
38 lines • 1.57 kB
JavaScript
export class TestIModelGroup {
_iModelsClient;
_testAuthorizationProvider;
_testITwinProvider;
_iModelNamePrefix;
constructor(_iModelsClient, _testAuthorizationProvider, _testITwinProvider, testRunContext) {
this._iModelsClient = _iModelsClient;
this._testAuthorizationProvider = _testAuthorizationProvider;
this._testITwinProvider = _testITwinProvider;
this._iModelNamePrefix = `[${testRunContext.testRunId}][${testRunContext.packageName}]`;
if (testRunContext.testSuiteName)
this._iModelNamePrefix += `[${testRunContext.testSuiteName}]`;
}
getPrefixedUniqueIModelName(iModelName) {
return `${this._iModelNamePrefix} ${iModelName}`;
}
async cleanupIModels() {
const iTwinId = await this._testITwinProvider.getOrCreate();
const iModels = this._iModelsClient.iModels.getMinimalList({
authorization: this._testAuthorizationProvider.getAdmin1Authorization(),
urlParams: {
iTwinId,
},
});
for await (const iModel of iModels) {
if (this.doesIModelBelongToContext(iModel.displayName)) {
await this._iModelsClient.iModels.delete({
authorization: this._testAuthorizationProvider.getAdmin1Authorization(),
iModelId: iModel.id,
});
}
}
}
doesIModelBelongToContext(iModelName) {
return iModelName.startsWith(this._iModelNamePrefix);
}
}
//# sourceMappingURL=TestIModelGroup.js.map