UNPKG

@mindconnect/mindconnect-nodejs

Version:

MindConnect Library for NodeJS (community based)

217 lines 9.74 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const chai = require("chai"); require("url-search-params-polyfill"); const sdk_1 = require("../src/api/sdk"); const utils_1 = require("../src/api/utils"); const test_utils_1 = require("./test-utils"); chai.should(); const timeOffset = new Date().getTime(); describe("[SDK] AssetManagementClient.Assets", () => { const auth = utils_1.loadAuth(); const sdk = new sdk_1.MindSphereSdk({ basicAuth: utils_1.decrypt(auth, "passkey.4.unit.test"), tenant: auth.tenant, gateway: auth.gateway }); const am = sdk.GetAssetManagementClient(); const tenant = sdk.GetTenant(); let falconAassetId = ""; const testAsset = { name: "MilleniumFalcon", externalId: "SN 123456-123-123456", description: "The ship of Han Solo and Chewbacca", location: { country: "Austria", region: "Tyrol", locality: "Innsbruck", streetAddress: "Industriestraße 21 A/II", postalCode: "6020", longitude: 53.5125546, latitude: 9.9763411 }, variables: [], aspects: [], fileAssignments: [], typeId: `core.basicsite`, timezone: "Europe/Berlin", twinType: sdk_1.AssetManagementModels.TwinType.Performance }; before(() => __awaiter(void 0, void 0, void 0, function* () { yield deleteAssets(am); testAsset.parentId = (yield am.GetRootAsset()).assetId; testAsset.name = `Falcon_${timeOffset}_A`; const result = yield am.PostAsset(testAsset); falconAassetId = `${result.assetId}`; testAsset.name = `Falcon_${timeOffset}_B`; yield am.PostAsset(testAsset); testAsset.name = `Falcon_${timeOffset}_C`; yield am.PostAsset(testAsset); })); after(() => __awaiter(void 0, void 0, void 0, function* () { yield deleteAssets(am); })); it("SDK should not be undefined", () => __awaiter(void 0, void 0, void 0, function* () { sdk.should.not.be.undefined; })); it("standard properties shoud be defined", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; am.GetGateway().should.be.equal(auth.gateway); (yield am.GetToken()).length.should.be.greaterThan(200); (yield am.GetServiceToken()).length.should.be.greaterThan(200); })); it("should GET asset(s)", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const assets = yield am.GetAssets(); assets.should.not.be.undefined; assets.should.not.be.null; assets.page.number.should.equal(0); assets.page.size.should.equal(10); assets._embedded.assets.length.should.be.greaterThan(0); })); it("should GET asset(s) with filter", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const assets = yield am.GetAssets({ filter: JSON.stringify({ typeId: { startsWith: `${tenant}` } }) }); assets.should.not.be.undefined; assets.should.not.be.null; assets._embedded || utils_1.throwError("there have to be some aspecttypes with that filter!"); assets._embedded.assets.length.should.be.greaterThan(0); })); it("should GET asset(s) with sorting", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const assets = yield am.GetAssets({ filter: JSON.stringify({ and: { deleted: null, name: { startsWith: `Falcon_${timeOffset}` } } }), sort: "ASC", page: 0, size: 0 }); assets.should.not.be.undefined; assets.should.not.be.null; assets._embedded || utils_1.throwError("there have to be some assets with that filter!"); assets._embedded.assets.length.should.be.greaterThan(0); })); it("should GET specific asset ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetAsset(falconAassetId); asset.should.not.be.undefined; })); it("should POST specific asset ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; testAsset.name = `Falcon_${timeOffset}_D`; const asset = yield am.PostAsset(testAsset); asset.should.not.be.null; yield am.DeleteAsset(`${asset.assetId}`, { ifMatch: `${asset.etag}` }); })); it("should PATCH specific asset ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; testAsset.name = `FalconE`; const asset = yield am.PostAsset(testAsset); asset.externalId = "12354"; const patchedAssetType = yield am.PatchAsset(`${asset.assetId}`, asset, { ifMatch: `${asset.etag}` }); patchedAssetType.should.not.be.null; patchedAssetType.externalId.should.be.equal("12354"); asset.should.not.be.null; yield am.DeleteAsset(`${asset.assetId}`, { ifMatch: `${patchedAssetType.etag}` }); })); it("should DELETE specific asset ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; testAsset.name = `Falcon_${timeOffset}_F`; const asset = yield am.PostAsset(testAsset); yield am.DeleteAsset(`${asset.assetId}`, { ifMatch: `${asset.etag}` }); })); it("should throw error on Put File assignment ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetAsset(falconAassetId); try { yield am.PutAssetFileAssignment(`${asset.assetId}`, "Keyword", { fileId: "abcd" }, { ifMatch: `${asset.etag}` }); } catch (err) { err.message.should.contain("abcd"); } })); it("should throw error on Delete File assignment ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetAsset(falconAassetId); try { yield am.DeleteAssetFileAssignment(`${asset.assetId}`, "xyz", { ifMatch: `${asset.etag}` }); } catch (err) { err.message.should.contain("xyz"); } })); it("should GET root asset ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetRootAsset(); asset.should.not.be.undefined; `${asset.assetId}`.length.should.equal(32); })); it("should GET aspects ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetRootAsset(); const aspects = yield am.GetAspects(`${asset.assetId}`, { size: 2000 }); aspects._embedded.aspects.length.should.be.greaterThan(0); })); it("should GET Variables ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetRootAsset(); const variables = yield am.GetVariables(`${asset.assetId}`, { size: 2000 }); variables._embedded.variables.length.should.be.greaterThan(0); })); it("should PUT LOCATION ", () => __awaiter(void 0, void 0, void 0, function* () { am.should.not.be.undefined; const asset = yield am.GetAsset(falconAassetId); const updatedAsset = yield am.PutAssetLocation(falconAassetId, { country: "Bosnia", locality: "Sarajevo", streetAddress: "Ferhadija 1" }, { ifMatch: `${asset.etag}` }); updatedAsset.location.country.should.be.equal("Bosnia"); updatedAsset.location.locality.should.be.equal("Sarajevo"); updatedAsset.location.streetAddress.should.be.equal("Ferhadija 1"); })); }); function deleteAssets(am) { return __awaiter(this, void 0, void 0, function* () { yield test_utils_1.sleep(2000); const assets = (yield am.GetAssets({ filter: JSON.stringify({ and: { deleted: null, name: { startsWith: `Falcon_${timeOffset}` } } }), sort: "DESC", page: 0, size: 0 })); yield test_utils_1.sleep(2000); for (const x of assets._embedded.assets) { yield am.DeleteAsset(x.assetId, { ifMatch: x.etag }); } }); } //# sourceMappingURL=asset-management-assets.spec.js.map