UNPKG

@mindconnect/mindconnect-nodejs

Version:

NodeJS Library for Siemens Insights Hub Connectivity - TypeScript SDK for Insights Hub and Industrial IoT - Command Line Interface - Insights Hub Development Proxy (Siemens Insights Hub was formerly known as MindSphere)

206 lines 9.18 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.skip("[SDK] ModelManagementClient.Models", () => { const auth = (0, utils_1.loadAuth)(); const sdk = new sdk_1.MindSphereSdk(Object.assign(Object.assign({}, auth), { basicAuth: (0, utils_1.decrypt)(auth, (0, test_utils_1.getPasskeyForUnitTest)()) })); const modelManagement = sdk.GetModelManagementClient(); let mmModelId = ""; const testModelDefinition = { name: "NN - Quasi Newton", description: "[Model] Newton using variable metrix methods", type: "Zeppelin notebook", lastVersion: { number: 1.0, expirationDate: "2099-10-01T12:00:00.001", dependencies: [ { name: "sklearn-theano", type: "Python", version: "2.7", }, ], io: { consumes: "CSV", input: [ { name: "variablename1", type: "integer", description: "description for variablename1", value: 5, }, ], output: [ { name: "outputname1", type: "integer", description: "description for outputname1", value: 1, }, ], optionalParameters: { freeFormParams: "for the author to use", param1: "value1", }, }, kpi: [ { name: "error rate", value: "0.9", }, ], }, }; before(() => __awaiter(void 0, void 0, void 0, function* () { yield deleteModels(modelManagement); testModelDefinition.name = `xyz_${timeOffset}_mm_A`; const result = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_A.txt`, mimeType: "text/plain", }); mmModelId = `${result.id}`; testModelDefinition.name = `xyz_${timeOffset}_mm_B`; yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_B.txt`, mimeType: "text/plain", }); testModelDefinition.name = `xyz_${timeOffset}_mm_C`; yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_C.txt`, mimeType: "text/plain", }); })); after(() => __awaiter(void 0, void 0, void 0, function* () { yield deleteModels(modelManagement); })); 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* () { modelManagement.should.not.be.undefined; modelManagement.GetGateway().should.be.equal(auth.gateway); (yield modelManagement.GetToken()).length.should.be.greaterThan(200); (yield modelManagement.GetToken()).length.should.be.greaterThan(200); })); it("should GET model(s) @sanity", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; const models = yield modelManagement.GetModels(); models.should.not.be.undefined; models.should.not.be.null; models.page.number.should.equal(0); models.page.size.should.be.gte(1); })); it("should POST specific model", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_mm_D`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_D.txt`, mimeType: "text/plain", }); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); it("should POST specific model of 8 mb 1byte large file", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_8mb_D`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.alloc(8 * 1024 * 1024 + 1), fileName: `xyz${timeOffset}_mm_8mb_D.txt`, mimeType: "text/plain", }); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); it("should POST specific model of 16 mb 1byte large file", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_16mb_D`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.alloc(16 * 1024 * 1024 + 1), fileName: `xyz${timeOffset}_mm_16mb_D.txt`, mimeType: "text/plain", }); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); it("should POST specific model of 0 byte large file", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_0b_D`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.alloc(0), fileName: `xyz${timeOffset}_mm_0b_D.txt`, mimeType: "text/plain", }); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); it("should GET specific model @sanity", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; const model = yield modelManagement.GetModel(mmModelId); model.should.not.be.undefined; })); it("should PATCH specific model", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_mm_E`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_E.txt`, mimeType: "text/plain", }); model.description = "Newton using variable metrix methods - Autotest update."; const patchedModel = yield modelManagement.PatchModel(`${model.id}`, { description: model.description, }); patchedModel.should.not.be.null; patchedModel.description.should.be.equal("Newton using variable metrix methods - Autotest update."); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); it("should DELETE specific model", () => __awaiter(void 0, void 0, void 0, function* () { modelManagement.should.not.be.undefined; testModelDefinition.name = `xyz_${timeOffset}_mm_F`; const model = yield modelManagement.PostModel(testModelDefinition, { buffer: Buffer.from("xyz"), fileName: `xyz${timeOffset}_mm_F.txt`, mimeType: "text/plain", }); model.should.not.be.null; yield modelManagement.DeleteModel(`${model.id}`); })); }); function deleteModels(mm) { return __awaiter(this, void 0, void 0, function* () { yield (0, test_utils_1.sleep)(2000); const models = (yield mm.GetModels({ filter: JSON.stringify({ name: "xyz*", }), sort: "desc", pageNumber: 0, pageSize: 1, })); yield (0, test_utils_1.sleep)(3000); for (const x of models.models) { yield mm.DeleteModel(x.id); } }); } //# sourceMappingURL=model-management-model.spec.js.map