@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
JavaScript
;
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