@grnsft/if 0.0.6 → 0.1.0
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/.examples/ompls/azure.yml +205 -0
- package/.github/workflows/nodejs-ci.yml +0 -8
- package/README.md +48 -9
- package/build/index.js +1 -2
- package/examples/impls/test/azure.yml +8 -8
- package/examples/impls/test/ccf.yml +5 -3
- package/examples/impls/test/if-demo.yml +19 -9
- package/examples/impls/test/metadata.yml +3 -2
- package/examples/impls/test/nesting.yml +10 -13
- package/examples/impls/test/sci-e.yml +1 -1
- package/examples/impls/test/sci-m.yml +2 -2
- package/examples/impls/test/sci-o.yml +2 -4
- package/examples/impls/test/sci.yml +1 -2
- package/examples/impls/test/shell.yml +2 -1
- package/examples/impls/{tdp-finder-test.yml → test/tdp-finder.yml} +8 -8
- package/examples/ompls/ccf.yml +3 -1
- package/examples/ompls/if-demo.yml +46 -22
- package/package.json +12 -5
- package/tsconfig.build.json +7 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/build/__mocks__/azure/index.d.ts +0 -11
- package/build/__mocks__/azure/index.js +0 -132
- package/build/__mocks__/boavizta/countries.json +0 -138
- package/build/__mocks__/boavizta/instance_types.json +0 -625
- package/build/__mocks__/boavizta/providers.json +0 -1
- package/build/__mocks__/fs/index.d.ts +0 -3
- package/build/__mocks__/fs/index.js +0 -56
- package/build/__mocks__/model-universe/index.d.ts +0 -31
- package/build/__mocks__/model-universe/index.js +0 -64
- package/build/__mocks__/watt-time/data.json +0 -119
- package/build/__tests__/integration/ompl/index.test.d.ts +0 -1
- package/build/__tests__/integration/ompl/index.test.js +0 -61
- package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/azure-importer/index.test.js +0 -152
- package/build/__tests__/unit/lib/boavizta/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/boavizta/index.test.js +0 -579
- package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +0 -1
- package/build/__tests__/unit/lib/case-studies/aveva.test.js +0 -36
- package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +0 -1
- package/build/__tests__/unit/lib/case-studies/emem.test.js +0 -108
- package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +0 -1
- package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +0 -53
- package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +0 -1
- package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +0 -23
- package/build/__tests__/unit/lib/ccf/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/ccf/index.test.js +0 -223
- package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +0 -73
- package/build/__tests__/unit/lib/models-universe.test.d.ts +0 -1
- package/build/__tests__/unit/lib/models-universe.test.js +0 -193
- package/build/__tests__/unit/lib/observatory.test.d.ts +0 -1
- package/build/__tests__/unit/lib/observatory.test.js +0 -99
- package/build/__tests__/unit/lib/sci/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/sci/index.test.js +0 -106
- package/build/__tests__/unit/lib/sci-e/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/sci-e/index.test.js +0 -30
- package/build/__tests__/unit/lib/sci-m/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/sci-m/index.test.js +0 -58
- package/build/__tests__/unit/lib/sci-o/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/sci-o/index.test.js +0 -42
- package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/shell-imp/index.test.js +0 -21
- package/build/__tests__/unit/lib/supercomputer.test.d.ts +0 -1
- package/build/__tests__/unit/lib/supercomputer.test.js +0 -231
- package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/tdp-finder/index.test.js +0 -62
- package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/teads-aws/index.test.js +0 -170
- package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/teads-curve/index.test.js +0 -146
- package/build/__tests__/unit/lib/watt-time/index.test.d.ts +0 -1
- package/build/__tests__/unit/lib/watt-time/index.test.js +0 -106
- package/build/__tests__/unit/util/args.test.d.ts +0 -1
- package/build/__tests__/unit/util/args.test.js +0 -92
- package/build/__tests__/unit/util/models-universe.test.d.ts +0 -1
- package/build/__tests__/unit/util/models-universe.test.js +0 -193
- package/build/__tests__/unit/util/observatory.test.d.ts +0 -1
- package/build/__tests__/unit/util/observatory.test.js +0 -99
- package/build/__tests__/unit/util/supercomputer.test.d.ts +0 -1
- package/build/__tests__/unit/util/supercomputer.test.js +0 -231
- package/build/__tests__/unit/util/yaml.test.d.ts +0 -1
- package/build/__tests__/unit/util/yaml.test.js +0 -59
- package/build/lib/azure-importer/index.d.ts +0 -55
- package/build/lib/azure-importer/index.js +0 -314
- package/build/lib/boavizta/index.d.ts +0 -53
- package/build/lib/boavizta/index.js +0 -254
- package/build/lib/case-studies/aveva-model.d.ts +0 -29
- package/build/lib/case-studies/aveva-model.js +0 -53
- package/build/lib/case-studies/emem-model.d.ts +0 -42
- package/build/lib/case-studies/emem-model.js +0 -93
- package/build/lib/case-studies/eshoppen-model.d.ts +0 -24
- package/build/lib/case-studies/eshoppen-model.js +0 -123
- package/build/lib/case-studies/index.d.ts +0 -4
- package/build/lib/case-studies/index.js +0 -21
- package/build/lib/case-studies/sci-accenture-model.d.ts +0 -10
- package/build/lib/case-studies/sci-accenture-model.js +0 -37
- package/build/lib/ccf/aws-embodied.json +0 -5591
- package/build/lib/ccf/aws-instances.json +0 -21116
- package/build/lib/ccf/aws-use.json +0 -79
- package/build/lib/ccf/azure-embodied.json +0 -6547
- package/build/lib/ccf/azure-instances.json +0 -8332
- package/build/lib/ccf/azure-use.json +0 -58
- package/build/lib/ccf/gcp-embodied.json +0 -3049
- package/build/lib/ccf/gcp-instances.json +0 -3880
- package/build/lib/ccf/gcp-use.json +0 -58
- package/build/lib/ccf/index.d.ts +0 -63
- package/build/lib/ccf/index.js +0 -338
- package/build/lib/cloud-instance-metadata/aws-instances.json +0 -1
- package/build/lib/cloud-instance-metadata/azure-instances.json +0 -1
- package/build/lib/cloud-instance-metadata/index.d.ts +0 -15
- package/build/lib/cloud-instance-metadata/index.js +0 -104
- package/build/lib/index.d.ts +0 -14
- package/build/lib/index.js +0 -32
- package/build/lib/interfaces/ccf.d.ts +0 -19
- package/build/lib/interfaces/ccf.js +0 -3
- package/build/lib/interfaces/index.d.ts +0 -7
- package/build/lib/interfaces/index.js +0 -18
- package/build/lib/sci/index.d.ts +0 -13
- package/build/lib/sci/index.js +0 -131
- package/build/lib/sci-e/index.d.ts +0 -38
- package/build/lib/sci-e/index.js +0 -85
- package/build/lib/sci-m/index.d.ts +0 -10
- package/build/lib/sci-m/index.js +0 -124
- package/build/lib/sci-o/index.d.ts +0 -17
- package/build/lib/sci-o/index.js +0 -52
- package/build/lib/shell-imp/index.d.ts +0 -32
- package/build/lib/shell-imp/index.js +0 -82
- package/build/lib/tdp-finder/index.d.ts +0 -19
- package/build/lib/tdp-finder/index.js +0 -98
- package/build/lib/teads-aws/aws-embodied.json +0 -1
- package/build/lib/teads-aws/aws-instances.json +0 -1
- package/build/lib/teads-aws/index.d.ts +0 -58
- package/build/lib/teads-aws/index.js +0 -208
- package/build/lib/teads-curve/index.d.ts +0 -52
- package/build/lib/teads-curve/index.js +0 -158
- package/build/lib/watt-time/index.d.ts +0 -18
- package/build/lib/watt-time/index.js +0 -204
- package/build/util/models-universe.d.ts +0 -28
- package/build/util/models-universe.js +0 -95
- package/build/util/observatory.d.ts +0 -20
- package/build/util/observatory.js +0 -31
- package/build/util/supercomputer.d.ts +0 -30
- package/build/util/supercomputer.js +0 -109
- package/docs/implementations/tdp-finder.md +0 -36
- package/examples/impls/test/complex-pipeline.yml +0 -67
- package/examples/impls/test/toto.yaml +0 -22
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ImplInitializeModel, InitalizedModels } from '../../types/models-universe';
|
|
2
|
-
import { ModelPluginInterface } from '../../types/model-interface';
|
|
3
|
-
export declare class MockModel implements ModelPluginInterface {
|
|
4
|
-
configure(): Promise<ModelPluginInterface>;
|
|
5
|
-
execute(): Promise<any[]>;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Models Initialization Lifecycle.
|
|
9
|
-
*/
|
|
10
|
-
export declare class ModelsUniverse {
|
|
11
|
-
/**
|
|
12
|
-
* Models list.
|
|
13
|
-
*/
|
|
14
|
-
initalizedModels: InitalizedModels;
|
|
15
|
-
/**
|
|
16
|
-
* Gets model class by provided `name` param.
|
|
17
|
-
*/
|
|
18
|
-
private handBuiltinModel;
|
|
19
|
-
/**
|
|
20
|
-
* Gets model based on `name` and `kind` params.
|
|
21
|
-
*/
|
|
22
|
-
private handModelByCriteria;
|
|
23
|
-
/**
|
|
24
|
-
* Initializes and registers model.
|
|
25
|
-
*/
|
|
26
|
-
writeDown(model: ImplInitializeModel): InitalizedModels;
|
|
27
|
-
/**
|
|
28
|
-
* Returns existing model by `name`.
|
|
29
|
-
*/
|
|
30
|
-
getInitializedModel(modelName: string, config: any): Promise<ModelPluginInterface>;
|
|
31
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelsUniverse = exports.MockModel = void 0;
|
|
4
|
-
const config_1 = require("../../config");
|
|
5
|
-
const { NOT_INITIALIZED_MODEL } = config_1.STRINGS;
|
|
6
|
-
class MockModel {
|
|
7
|
-
configure() {
|
|
8
|
-
return Promise.resolve(this);
|
|
9
|
-
}
|
|
10
|
-
execute() {
|
|
11
|
-
return Promise.resolve([{ data: 'mock-data' }]);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.MockModel = MockModel;
|
|
15
|
-
/**
|
|
16
|
-
* Models Initialization Lifecycle.
|
|
17
|
-
*/
|
|
18
|
-
class ModelsUniverse {
|
|
19
|
-
constructor() {
|
|
20
|
-
/**
|
|
21
|
-
* Models list.
|
|
22
|
-
*/
|
|
23
|
-
this.initalizedModels = {};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Gets model class by provided `name` param.
|
|
27
|
-
*/
|
|
28
|
-
handBuiltinModel() {
|
|
29
|
-
return MockModel;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Gets model based on `name` and `kind` params.
|
|
33
|
-
*/
|
|
34
|
-
handModelByCriteria() {
|
|
35
|
-
return this.handBuiltinModel();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Initializes and registers model.
|
|
39
|
-
*/
|
|
40
|
-
writeDown(model) {
|
|
41
|
-
const { name } = model;
|
|
42
|
-
const Model = this.handModelByCriteria();
|
|
43
|
-
const callback = async () => {
|
|
44
|
-
const initalizedModel = await new Model().configure();
|
|
45
|
-
return initalizedModel;
|
|
46
|
-
};
|
|
47
|
-
this.initalizedModels = {
|
|
48
|
-
...this.initalizedModels,
|
|
49
|
-
[name]: callback,
|
|
50
|
-
};
|
|
51
|
-
return this.initalizedModels;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Returns existing model by `name`.
|
|
55
|
-
*/
|
|
56
|
-
async getInitializedModel(modelName, config) {
|
|
57
|
-
if (this.initalizedModels[modelName]) {
|
|
58
|
-
return await this.initalizedModels[modelName](config);
|
|
59
|
-
}
|
|
60
|
-
throw new Error(NOT_INITIALIZED_MODEL(modelName));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.ModelsUniverse = ModelsUniverse;
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX19tb2Nrc19fL21vZGVsLXVuaXZlcnNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFxQztBQVFyQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhDLE1BQWEsU0FBUztJQUNwQixTQUFTO1FBQ1AsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxPQUFPO1FBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRjtBQVBELDhCQU9DO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFBM0I7UUFDRTs7V0FFRztRQUNJLHFCQUFnQixHQUFxQixFQUFFLENBQUM7SUFnRGpELENBQUM7SUE5Q0M7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEtBQTBCO1FBQ3pDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxLQUFLLENBQUM7UUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFekMsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDMUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRXRELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDeEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRO1NBQ2pCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsU0FBaUIsRUFBRSxNQUFXO1FBQzdELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBcERELHdDQW9EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHtcbiAgSW1wbEluaXRpYWxpemVNb2RlbCxcbiAgSW5pdGFsaXplZE1vZGVscyxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvbW9kZWxzLXVuaXZlcnNlJztcbmltcG9ydCB7TW9kZWxQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uLy4uL3R5cGVzL21vZGVsLWludGVyZmFjZSc7XG5cbmNvbnN0IHtOT1RfSU5JVElBTElaRURfTU9ERUx9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNsYXNzIE1vY2tNb2RlbCBpbXBsZW1lbnRzIE1vZGVsUGx1Z2luSW50ZXJmYWNlIHtcbiAgY29uZmlndXJlKCk6IFByb21pc2U8TW9kZWxQbHVnaW5JbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMpO1xuICB9XG4gIGV4ZWN1dGUoKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW3tkYXRhOiAnbW9jay1kYXRhJ31dKTtcbiAgfVxufVxuXG4vKipcbiAqIE1vZGVscyBJbml0aWFsaXphdGlvbiBMaWZlY3ljbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2RlbHNVbml2ZXJzZSB7XG4gIC8qKlxuICAgKiBNb2RlbHMgbGlzdC5cbiAgICovXG4gIHB1YmxpYyBpbml0YWxpemVkTW9kZWxzOiBJbml0YWxpemVkTW9kZWxzID0ge307XG5cbiAgLyoqXG4gICAqIEdldHMgbW9kZWwgY2xhc3MgYnkgcHJvdmlkZWQgYG5hbWVgIHBhcmFtLlxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kQnVpbHRpbk1vZGVsKCkge1xuICAgIHJldHVybiBNb2NrTW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBtb2RlbCBiYXNlZCBvbiBgbmFtZWAgYW5kIGBraW5kYCBwYXJhbXMuXG4gICAqL1xuICBwcml2YXRlIGhhbmRNb2RlbEJ5Q3JpdGVyaWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZEJ1aWx0aW5Nb2RlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGFuZCByZWdpc3RlcnMgbW9kZWwuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVEb3duKG1vZGVsOiBJbXBsSW5pdGlhbGl6ZU1vZGVsKSB7XG4gICAgY29uc3Qge25hbWV9ID0gbW9kZWw7XG5cbiAgICBjb25zdCBNb2RlbCA9IHRoaXMuaGFuZE1vZGVsQnlDcml0ZXJpYSgpO1xuXG4gICAgY29uc3QgY2FsbGJhY2sgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBpbml0YWxpemVkTW9kZWwgPSBhd2FpdCBuZXcgTW9kZWwoKS5jb25maWd1cmUoKTtcblxuICAgICAgcmV0dXJuIGluaXRhbGl6ZWRNb2RlbDtcbiAgICB9O1xuXG4gICAgdGhpcy5pbml0YWxpemVkTW9kZWxzID0ge1xuICAgICAgLi4udGhpcy5pbml0YWxpemVkTW9kZWxzLFxuICAgICAgW25hbWVdOiBjYWxsYmFjayxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaW5pdGFsaXplZE1vZGVscztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGV4aXN0aW5nIG1vZGVsIGJ5IGBuYW1lYC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJbml0aWFsaXplZE1vZGVsKG1vZGVsTmFtZTogc3RyaW5nLCBjb25maWc6IGFueSkge1xuICAgIGlmICh0aGlzLmluaXRhbGl6ZWRNb2RlbHNbbW9kZWxOYW1lXSkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaW5pdGFsaXplZE1vZGVsc1ttb2RlbE5hbWVdKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKE5PVF9JTklUSUFMSVpFRF9NT0RFTChtb2RlbE5hbWUpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"point_time": "2021-01-01T01:00:00.000Z",
|
|
4
|
-
"value": 942,
|
|
5
|
-
"frequency": 300,
|
|
6
|
-
"market": "RTM",
|
|
7
|
-
"ba": "CAISO_NORTH",
|
|
8
|
-
"datatype": "MOER",
|
|
9
|
-
"version": "3.2"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"point_time": "2021-01-01T00:55:00.000Z",
|
|
13
|
-
"value": 931,
|
|
14
|
-
"frequency": 300,
|
|
15
|
-
"market": "RTM",
|
|
16
|
-
"ba": "CAISO_NORTH",
|
|
17
|
-
"datatype": "MOER",
|
|
18
|
-
"version": "3.2"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"point_time": "2021-01-01T00:50:00.000Z",
|
|
22
|
-
"value": 930,
|
|
23
|
-
"frequency": 300,
|
|
24
|
-
"market": "RTM",
|
|
25
|
-
"ba": "CAISO_NORTH",
|
|
26
|
-
"datatype": "MOER",
|
|
27
|
-
"version": "3.2"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"point_time": "2021-01-01T00:45:00.000Z",
|
|
31
|
-
"value": 930,
|
|
32
|
-
"frequency": 300,
|
|
33
|
-
"market": "RTM",
|
|
34
|
-
"ba": "CAISO_NORTH",
|
|
35
|
-
"datatype": "MOER",
|
|
36
|
-
"version": "3.2"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"point_time": "2021-01-01T00:40:00.000Z",
|
|
40
|
-
"value": 927,
|
|
41
|
-
"frequency": 300,
|
|
42
|
-
"market": "RTM",
|
|
43
|
-
"ba": "CAISO_NORTH",
|
|
44
|
-
"datatype": "MOER",
|
|
45
|
-
"version": "3.2"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"point_time": "2021-01-01T00:35:00.000Z",
|
|
49
|
-
"value": 934,
|
|
50
|
-
"frequency": 300,
|
|
51
|
-
"market": "RTM",
|
|
52
|
-
"ba": "CAISO_NORTH",
|
|
53
|
-
"datatype": "MOER",
|
|
54
|
-
"version": "3.2"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"point_time": "2021-01-01T00:30:00.000Z",
|
|
58
|
-
"value": 933,
|
|
59
|
-
"frequency": 300,
|
|
60
|
-
"market": "RTM",
|
|
61
|
-
"ba": "CAISO_NORTH",
|
|
62
|
-
"datatype": "MOER",
|
|
63
|
-
"version": "3.2"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"point_time": "2021-01-01T00:25:00.000Z",
|
|
67
|
-
"value": 934,
|
|
68
|
-
"frequency": 300,
|
|
69
|
-
"market": "RTM",
|
|
70
|
-
"ba": "CAISO_NORTH",
|
|
71
|
-
"datatype": "MOER",
|
|
72
|
-
"version": "3.2"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"point_time": "2021-01-01T00:20:00.000Z",
|
|
76
|
-
"value": 935,
|
|
77
|
-
"frequency": 300,
|
|
78
|
-
"market": "RTM",
|
|
79
|
-
"ba": "CAISO_NORTH",
|
|
80
|
-
"datatype": "MOER",
|
|
81
|
-
"version": "3.2"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"point_time": "2021-01-01T00:15:00.000Z",
|
|
85
|
-
"value": 986,
|
|
86
|
-
"frequency": 300,
|
|
87
|
-
"market": "RTM",
|
|
88
|
-
"ba": "CAISO_NORTH",
|
|
89
|
-
"datatype": "MOER",
|
|
90
|
-
"version": "3.2"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"point_time": "2021-01-01T00:10:00.000Z",
|
|
94
|
-
"value": 989,
|
|
95
|
-
"frequency": 300,
|
|
96
|
-
"market": "RTM",
|
|
97
|
-
"ba": "CAISO_NORTH",
|
|
98
|
-
"datatype": "MOER",
|
|
99
|
-
"version": "3.2"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"point_time": "2021-01-01T00:05:00.000Z",
|
|
103
|
-
"value": 993,
|
|
104
|
-
"frequency": 300,
|
|
105
|
-
"market": "RTM",
|
|
106
|
-
"ba": "CAISO_NORTH",
|
|
107
|
-
"datatype": "MOER",
|
|
108
|
-
"version": "3.2"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"point_time": "2021-01-01T00:00:00.000Z",
|
|
112
|
-
"value": 997,
|
|
113
|
-
"frequency": 300,
|
|
114
|
-
"market": "RTM",
|
|
115
|
-
"ba": "CAISO_NORTH",
|
|
116
|
-
"datatype": "MOER",
|
|
117
|
-
"version": "3.2"
|
|
118
|
-
}
|
|
119
|
-
]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
const yaml_1 = require("../../../util/yaml");
|
|
6
|
-
const node_test_1 = require("node:test");
|
|
7
|
-
globals_1.jest.setTimeout(30000);
|
|
8
|
-
(0, node_test_1.describe)('ompls: ', () => {
|
|
9
|
-
const path = 'examples/ompls';
|
|
10
|
-
const files = fs.readdirSync(path);
|
|
11
|
-
/*
|
|
12
|
-
* If there are no files in examples/ompls, prompt user to run ompl-test bash script
|
|
13
|
-
*/
|
|
14
|
-
if (files.length === 0) {
|
|
15
|
-
throw 'no ompl files available. Please run scripts/impact-test.sh before running these tests.';
|
|
16
|
-
}
|
|
17
|
-
(0, node_test_1.describe)('computing(): ', () => {
|
|
18
|
-
/*
|
|
19
|
-
* For each file in examples/ompls, load it and run test
|
|
20
|
-
*/
|
|
21
|
-
files.forEach(file => {
|
|
22
|
-
if (file.includes('nesting')) {
|
|
23
|
-
(0, globals_1.it)('check nested ompls have outputs field', async () => {
|
|
24
|
-
globals_1.expect.assertions(2);
|
|
25
|
-
const ompl = await (0, yaml_1.openYamlFileAsObject)(path + '/' + file);
|
|
26
|
-
const expectedProperty = 'outputs';
|
|
27
|
-
(0, globals_1.expect)(ompl['graph']['children']['child']['children']['child-1']).toHaveProperty(expectedProperty);
|
|
28
|
-
(0, globals_1.expect)(ompl['graph']['children']['child']['children']['child-2']).toHaveProperty(expectedProperty);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
(0, globals_1.it)('check ompls have outputs field', async () => {
|
|
33
|
-
globals_1.expect.assertions(1);
|
|
34
|
-
const ompl = await (0, yaml_1.openYamlFileAsObject)(path + '/' + file);
|
|
35
|
-
const expectedProperty = 'outputs';
|
|
36
|
-
(0, globals_1.expect)(ompl['graph']['children']['child']).toHaveProperty(expectedProperty);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
if (file.includes('sci-m')) {
|
|
40
|
-
(0, globals_1.it)('checks `sci-m` ompl to have outputs property.', async () => {
|
|
41
|
-
const ompl = await (0, yaml_1.openYamlFileAsObject)(`${path}/${file}`);
|
|
42
|
-
const outputData = JSON.stringify(ompl['graph']['children']['child']['outputs']);
|
|
43
|
-
const response = outputData.includes('m');
|
|
44
|
-
(0, globals_1.expect)(response).toBeTruthy();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
if (file.includes('complex-pipeline')) {
|
|
48
|
-
(0, globals_1.it)('checks `complex-pipeline` to have `energy-memory`, `energy-cpu`, etc. properties in output.', async () => {
|
|
49
|
-
const ompl = await (0, yaml_1.openYamlFileAsObject)(`${path}/${file}`);
|
|
50
|
-
const res = JSON.stringify(ompl['graph']['children']['child']['outputs'][0]);
|
|
51
|
-
(0, globals_1.expect)(res.includes('energy-memory') &&
|
|
52
|
-
res.includes('energy-cpu') &&
|
|
53
|
-
res.includes('energy-network') &&
|
|
54
|
-
res.includes('energy') &&
|
|
55
|
-
res.includes('operational-carbon')).toBeTruthy();
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vaW50ZWdyYXRpb24vb21wbC9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBQ3pCLDJDQUErQztBQUUvQyw2Q0FBd0Q7QUFDeEQseUNBQW1DO0FBRW5DLGNBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsSUFBQSxvQkFBUSxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQzs7T0FFRztJQUNILElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdEIsTUFBTSx3RkFBd0YsQ0FBQztLQUNoRztJQUVELElBQUEsb0JBQVEsRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1FBQzdCOztXQUVHO1FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzVCLElBQUEsWUFBRSxFQUFDLHVDQUF1QyxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNyRCxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsTUFBTSxJQUFJLEdBQVEsTUFBTSxJQUFBLDJCQUFvQixFQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ2hFLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO29CQUVuQyxJQUFBLGdCQUFNLEVBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUMxRCxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUNuQyxJQUFBLGdCQUFNLEVBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUMxRCxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUEsWUFBRSxFQUFDLGdDQUFnQyxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUM5QyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLDJCQUFvQixFQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQzNELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO29CQUVuQyxJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUN2RCxnQkFBZ0IsQ0FDakIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixJQUFBLFlBQUUsRUFBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtvQkFDN0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLDJCQUFvQixFQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7b0JBRTNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDOUMsQ0FBQztvQkFDRixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUUxQyxJQUFBLGdCQUFNLEVBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtnQkFDckMsSUFBQSxZQUFFLEVBQUMsNkZBQTZGLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQzNHLE1BQU0sSUFBSSxHQUFRLE1BQU0sSUFBQSwyQkFBb0IsRUFBQyxHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUNoRSxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pELENBQUM7b0JBRUYsSUFBQSxnQkFBTSxFQUNKLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO3dCQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQzt3QkFDMUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDOUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7d0JBQ3RCLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FDckMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7ZXhwZWN0LCBqZXN0LCBpdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5cbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4uLy4uLy4uL3V0aWwveWFtbCc7XG5pbXBvcnQge2Rlc2NyaWJlfSBmcm9tICdub2RlOnRlc3QnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnb21wbHM6ICcsICgpID0+IHtcbiAgY29uc3QgcGF0aCA9ICdleGFtcGxlcy9vbXBscyc7XG4gIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmMocGF0aCk7XG4gIC8qXG4gICAqIElmIHRoZXJlIGFyZSBubyBmaWxlcyBpbiBleGFtcGxlcy9vbXBscywgcHJvbXB0IHVzZXIgdG8gcnVuIG9tcGwtdGVzdCBiYXNoIHNjcmlwdFxuICAgKi9cbiAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93ICdubyBvbXBsIGZpbGVzIGF2YWlsYWJsZS4gUGxlYXNlIHJ1biBzY3JpcHRzL2ltcGFjdC10ZXN0LnNoIGJlZm9yZSBydW5uaW5nIHRoZXNlIHRlc3RzLic7XG4gIH1cblxuICBkZXNjcmliZSgnY29tcHV0aW5nKCk6ICcsICgpID0+IHtcbiAgICAvKlxuICAgICAqIEZvciBlYWNoIGZpbGUgaW4gZXhhbXBsZXMvb21wbHMsIGxvYWQgaXQgYW5kIHJ1biB0ZXN0XG4gICAgICovXG4gICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGlmIChmaWxlLmluY2x1ZGVzKCduZXN0aW5nJykpIHtcbiAgICAgICAgaXQoJ2NoZWNrIG5lc3RlZCBvbXBscyBoYXZlIG91dHB1dHMgZmllbGQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgZXhwZWN0LmFzc2VydGlvbnMoMik7XG4gICAgICAgICAgY29uc3Qgb21wbDogYW55ID0gYXdhaXQgb3BlbllhbWxGaWxlQXNPYmplY3QocGF0aCArICcvJyArIGZpbGUpO1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkUHJvcGVydHkgPSAnb3V0cHV0cyc7XG5cbiAgICAgICAgICBleHBlY3QoXG4gICAgICAgICAgICBvbXBsWydncmFwaCddWydjaGlsZHJlbiddWydjaGlsZCddWydjaGlsZHJlbiddWydjaGlsZC0xJ11cbiAgICAgICAgICApLnRvSGF2ZVByb3BlcnR5KGV4cGVjdGVkUHJvcGVydHkpO1xuICAgICAgICAgIGV4cGVjdChcbiAgICAgICAgICAgIG9tcGxbJ2dyYXBoJ11bJ2NoaWxkcmVuJ11bJ2NoaWxkJ11bJ2NoaWxkcmVuJ11bJ2NoaWxkLTInXVxuICAgICAgICAgICkudG9IYXZlUHJvcGVydHkoZXhwZWN0ZWRQcm9wZXJ0eSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXQoJ2NoZWNrIG9tcGxzIGhhdmUgb3V0cHV0cyBmaWVsZCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgICAgICBjb25zdCBvbXBsID0gYXdhaXQgb3BlbllhbWxGaWxlQXNPYmplY3QocGF0aCArICcvJyArIGZpbGUpO1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkUHJvcGVydHkgPSAnb3V0cHV0cyc7XG5cbiAgICAgICAgICBleHBlY3Qob21wbFsnZ3JhcGgnXVsnY2hpbGRyZW4nXVsnY2hpbGQnXSkudG9IYXZlUHJvcGVydHkoXG4gICAgICAgICAgICBleHBlY3RlZFByb3BlcnR5XG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlLmluY2x1ZGVzKCdzY2ktbScpKSB7XG4gICAgICAgIGl0KCdjaGVja3MgYHNjaS1tYCBvbXBsIHRvIGhhdmUgb3V0cHV0cyBwcm9wZXJ0eS4nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb21wbCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0KGAke3BhdGh9LyR7ZmlsZX1gKTtcblxuICAgICAgICAgIGNvbnN0IG91dHB1dERhdGEgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIG9tcGxbJ2dyYXBoJ11bJ2NoaWxkcmVuJ11bJ2NoaWxkJ11bJ291dHB1dHMnXVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBvdXRwdXREYXRhLmluY2x1ZGVzKCdtJyk7XG5cbiAgICAgICAgICBleHBlY3QocmVzcG9uc2UpLnRvQmVUcnV0aHkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlLmluY2x1ZGVzKCdjb21wbGV4LXBpcGVsaW5lJykpIHtcbiAgICAgICAgaXQoJ2NoZWNrcyBgY29tcGxleC1waXBlbGluZWAgdG8gaGF2ZSBgZW5lcmd5LW1lbW9yeWAsIGBlbmVyZ3ktY3B1YCwgZXRjLiBwcm9wZXJ0aWVzIGluIG91dHB1dC4nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb21wbDogYW55ID0gYXdhaXQgb3BlbllhbWxGaWxlQXNPYmplY3QoYCR7cGF0aH0vJHtmaWxlfWApO1xuICAgICAgICAgIGNvbnN0IHJlczogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBvbXBsWydncmFwaCddWydjaGlsZHJlbiddWydjaGlsZCddWydvdXRwdXRzJ11bMF1cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgZXhwZWN0KFxuICAgICAgICAgICAgcmVzLmluY2x1ZGVzKCdlbmVyZ3ktbWVtb3J5JykgJiZcbiAgICAgICAgICAgICAgcmVzLmluY2x1ZGVzKCdlbmVyZ3ktY3B1JykgJiZcbiAgICAgICAgICAgICAgcmVzLmluY2x1ZGVzKCdlbmVyZ3ktbmV0d29yaycpICYmXG4gICAgICAgICAgICAgIHJlcy5pbmNsdWRlcygnZW5lcmd5JykgJiZcbiAgICAgICAgICAgICAgcmVzLmluY2x1ZGVzKCdvcGVyYXRpb25hbC1jYXJib24nKVxuICAgICAgICAgICkudG9CZVRydXRoeSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const azure_1 = require("../../../../__mocks__/azure");
|
|
4
|
-
jest.mock('@azure/identity', () => ({
|
|
5
|
-
__esModule: true,
|
|
6
|
-
DefaultAzureCredential: azure_1.MockAzureCredentials,
|
|
7
|
-
}));
|
|
8
|
-
jest.mock('@azure/arm-monitor', () => ({
|
|
9
|
-
__esModule: true,
|
|
10
|
-
MonitorClient: azure_1.MockMonitorClient,
|
|
11
|
-
}));
|
|
12
|
-
jest.mock('@azure/arm-compute', () => ({
|
|
13
|
-
__esModule: true,
|
|
14
|
-
ComputeManagementClient: azure_1.MockComputeManagementClient,
|
|
15
|
-
}));
|
|
16
|
-
const azure_importer_1 = require("../../../../lib/azure-importer");
|
|
17
|
-
jest.setTimeout(30000);
|
|
18
|
-
describe('lib/azure-importer: ', () => {
|
|
19
|
-
describe('init AzureImporterModel: ', () => {
|
|
20
|
-
it('initalizes object with properties.', async () => {
|
|
21
|
-
const azureModel = await new azure_importer_1.AzureImporterModel();
|
|
22
|
-
expect(azureModel).toHaveProperty('authenticate');
|
|
23
|
-
expect(azureModel).toHaveProperty('configure');
|
|
24
|
-
expect(azureModel).toHaveProperty('execute');
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe('configure(): ', () => {
|
|
28
|
-
it('configures model instance with given params.', async () => {
|
|
29
|
-
const name = 'mock-name';
|
|
30
|
-
const params = {};
|
|
31
|
-
const model = await new azure_importer_1.AzureImporterModel().configure(name, params);
|
|
32
|
-
expect(model).toBeInstanceOf(azure_importer_1.AzureImporterModel);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('authenticate(): ', () => {
|
|
36
|
-
it('authenticate is undefined', async () => {
|
|
37
|
-
const azureModel = await new azure_importer_1.AzureImporterModel().configure('name', {});
|
|
38
|
-
expect(azureModel).toBeInstanceOf(azure_importer_1.AzureImporterModel);
|
|
39
|
-
await expect(azureModel.authenticate({})).toBe(undefined);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('configure(): ', () => {
|
|
43
|
-
it('configure returns name and empty config', async () => {
|
|
44
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
45
|
-
await expect(azureModel.configure('azure', {})).resolves.toBeInstanceOf(azure_importer_1.AzureImporterModel);
|
|
46
|
-
expect(azureModel.name).toBe('azure');
|
|
47
|
-
expect(azureModel.staticParams).toStrictEqual({});
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('modelIdentifier(): ', () => {
|
|
51
|
-
it('modelIdendifier() returns expected name', async () => {
|
|
52
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
53
|
-
expect(azureModel.modelIdentifier()).toBe('azure');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('execute(): ', () => {
|
|
57
|
-
it('throws error for missing input field.', async () => {
|
|
58
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
59
|
-
expect.assertions(2);
|
|
60
|
-
expect(await azureModel.configure('azure', {})).toBeInstanceOf(azure_importer_1.AzureImporterModel);
|
|
61
|
-
try {
|
|
62
|
-
await azureModel.execute([
|
|
63
|
-
{
|
|
64
|
-
timestamp: '2023-11-02T10:35:31.820Z',
|
|
65
|
-
duration: 3600,
|
|
66
|
-
'azure-observation-aggregation': 'average',
|
|
67
|
-
'azure-subscription-id': '9de7e19f-8a18-4e73-9451-45fc74e7d0d3',
|
|
68
|
-
'azure-resource-group': 'vm1_group',
|
|
69
|
-
'azure-vm-name': 'vm1',
|
|
70
|
-
},
|
|
71
|
-
]);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
if (error instanceof Error) {
|
|
75
|
-
expect(error).toBeInstanceOf(Error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
it('throws error if time is provided in seconds.', async () => {
|
|
80
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
81
|
-
expect.assertions(2);
|
|
82
|
-
try {
|
|
83
|
-
await azureModel.execute([
|
|
84
|
-
{
|
|
85
|
-
timestamp: '2023-11-02T10:35:31.820Z',
|
|
86
|
-
duration: 3600,
|
|
87
|
-
'azure-observation-window': '5 sec',
|
|
88
|
-
'azure-observation-aggregation': 'average',
|
|
89
|
-
'azure-subscription-id': '9de7e19f-8a18-4e73-9451-45fc74e7d0d3',
|
|
90
|
-
'azure-resource-group': 'vm1_group',
|
|
91
|
-
'azure-vm-name': 'vm1',
|
|
92
|
-
},
|
|
93
|
-
]);
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
if (error instanceof Error) {
|
|
97
|
-
expect(error).toBeInstanceOf(Error);
|
|
98
|
-
expect(error.message).toEqual('The minimum unit of time for azure importer is minutes');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
it('throws error for time unit of seconds ', async () => {
|
|
103
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
104
|
-
await expect(azureModel.execute([
|
|
105
|
-
{
|
|
106
|
-
timestamp: '2023-11-02T10:35:31.820Z',
|
|
107
|
-
duration: 3600,
|
|
108
|
-
'azure-observation-window': '5 sec',
|
|
109
|
-
'azure-observation-aggregation': 'average',
|
|
110
|
-
'azure-subscription-id': '9de7e19f-8a18-4e73-9451-45fc74e7d0d3',
|
|
111
|
-
'azure-resource-group': 'vm1_group',
|
|
112
|
-
'azure-vm-name': 'vm1',
|
|
113
|
-
},
|
|
114
|
-
])).rejects.toStrictEqual(Error('The minimum unit of time for azure importer is minutes'));
|
|
115
|
-
});
|
|
116
|
-
it('returns valid data.', async () => {
|
|
117
|
-
const azureModel = new azure_importer_1.AzureImporterModel();
|
|
118
|
-
await expect(azureModel.execute([
|
|
119
|
-
{
|
|
120
|
-
timestamp: '2023-11-02T10:35:00.000Z',
|
|
121
|
-
duration: 300,
|
|
122
|
-
'azure-observation-window': '5 mins',
|
|
123
|
-
'azure-observation-aggregation': 'average',
|
|
124
|
-
'azure-subscription-id': '9de7e19f-8a18-4e73-9451-45fc74e7d0d3',
|
|
125
|
-
'azure-resource-group': 'vm1_group',
|
|
126
|
-
'azure-vm-name': 'vm1',
|
|
127
|
-
'grid-carbon-intensity': 951,
|
|
128
|
-
},
|
|
129
|
-
])).resolves.toEqual([
|
|
130
|
-
{
|
|
131
|
-
timestamp: '2023-11-02T10:35:00.000Z',
|
|
132
|
-
duration: 300,
|
|
133
|
-
'grid-carbon-intensity': 951,
|
|
134
|
-
'azure-observation-aggregation': 'average',
|
|
135
|
-
'azure-observation-window': '5 mins',
|
|
136
|
-
'azure-resource-group': 'vm1_group',
|
|
137
|
-
'azure-subscription-id': '9de7e19f-8a18-4e73-9451-45fc74e7d0d3',
|
|
138
|
-
'azure-vm-name': 'vm1',
|
|
139
|
-
'cpu-util': '3.14',
|
|
140
|
-
'mem-availableGB': 0.5,
|
|
141
|
-
'mem-usedGB': 0.5,
|
|
142
|
-
'total-memoryGB': 1,
|
|
143
|
-
'mem-util': 50,
|
|
144
|
-
location: 'uksouth',
|
|
145
|
-
'cloud-instance-type': 'Standard_B1s',
|
|
146
|
-
'cloud-vendor': 'azure',
|
|
147
|
-
},
|
|
148
|
-
]);
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvYXp1cmUtaW1wb3J0ZXIvaW5kZXgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVEQUlxQztBQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEMsVUFBVSxFQUFFLElBQUk7SUFDaEIsc0JBQXNCLEVBQUUsNEJBQW9CO0NBQzdDLENBQUMsQ0FBQyxDQUFDO0FBRUosSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSx5QkFBaUI7Q0FDakMsQ0FBQyxDQUFDLENBQUM7QUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckMsVUFBVSxFQUFFLElBQUk7SUFDaEIsdUJBQXVCLEVBQUUsbUNBQTJCO0NBQ3JELENBQUMsQ0FBQyxDQUFDO0FBRUosbUVBQWtFO0FBRWxFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksbUNBQWtCLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxD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RztvQkFDakIsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDbkIsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLHFCQUFxQixFQUFFLGNBQWM7b0JBQ3JDLGNBQWMsRUFBRSxPQUFPO2lCQUN4QjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vY2tBenVyZUNyZWRlbnRpYWxzLFxuICBNb2NrTW9uaXRvckNsaWVudCxcbiAgTW9ja0NvbXB1dGVNYW5hZ2VtZW50Q2xpZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi9fX21vY2tzX18vYXp1cmUnO1xuXG5qZXN0Lm1vY2soJ0BhenVyZS9pZGVudGl0eScsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIERlZmF1bHRBenVyZUNyZWRlbnRpYWw6IE1vY2tBenVyZUNyZWRlbnRpYWxzLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BhenVyZS9hcm0tbW9uaXRvcicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIE1vbml0b3JDbGllbnQ6IE1vY2tNb25pdG9yQ2xpZW50LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BhenVyZS9hcm0tY29tcHV0ZScsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIENvbXB1dGVNYW5hZ2VtZW50Q2xpZW50OiBNb2NrQ29tcHV0ZU1hbmFnZW1lbnRDbGllbnQsXG59KSk7XG5cbmltcG9ydCB7QXp1cmVJbXBvcnRlck1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXp1cmUtaW1wb3J0ZXInO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnbGliL2F6dXJlLWltcG9ydGVyOiAnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdpbml0IEF6dXJlSW1wb3J0ZXJNb2RlbDogJywgKCkgPT4ge1xuICAgIGl0KCdpbml0YWxpemVzIG9iamVjdCB3aXRoIHByb3BlcnRpZXMuJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYXp1cmVNb2RlbCA9IGF3YWl0IG5ldyBBenVyZUltcG9ydGVyTW9kZWwoKTtcbiAgICAgIGV4cGVjdChhenVyZU1vZGVsKS50b0hhdmVQcm9wZXJ0eSgnYXV0aGVudGljYXRlJyk7XG4gICAgICBleHBlY3QoYXp1cmVNb2RlbCkudG9IYXZlUHJvcGVydHkoJ2NvbmZpZ3VyZScpO1xuICAgICAgZXhwZWN0KGF6dXJlTW9kZWwpLnRvSGF2ZVByb3BlcnR5KCdleGVjdXRlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjb25maWd1cmUoKTogJywgKCkgPT4ge1xuICAgIGl0KCdjb25maWd1cmVzIG1vZGVsIGluc3RhbmNlIHdpdGggZ2l2ZW4gcGFyYW1zLicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSAnbW9jay1uYW1lJztcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgICAgY29uc3QgbW9kZWwgPSBhd2FpdCBuZXcgQXp1cmVJbXBvcnRlck1vZGVsKCkuY29uZmlndXJlKG5hbWUsIHBhcmFtcyk7XG5cbiAgICAgIGV4cGVjdChtb2RlbCkudG9CZUluc3RhbmNlT2YoQXp1cmVJbXBvcnRlck1vZGVsKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2F1dGhlbnRpY2F0ZSgpOiAnLCAoKSA9PiB7XG4gICAgaXQoJ2F1dGhlbnRpY2F0ZSBpcyB1bmRlZmluZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBhenVyZU1vZGVsID0gYXdhaXQgbmV3IEF6dXJlSW1wb3J0ZXJNb2RlbCgpLmNvbmZpZ3VyZSgnbmFtZScsIHt9KTtcbiAgICAgIGV4cGVjdChhenVyZU1vZGVsKS50b0JlSW5zdGFuY2VPZihBenVyZUltcG9ydGVyTW9kZWwpO1xuICAgICAgYXdhaXQgZXhwZWN0KGF6dXJlTW9kZWwuYXV0aGVudGljYXRlKHt9KSkudG9CZSh1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uZmlndXJlKCk6ICcsICgpID0+IHtcbiAgICBpdCgnY29uZmlndXJlIHJldHVybnMgbmFtZSBhbmQgZW1wdHkgY29uZmlnJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYXp1cmVNb2RlbCA9IG5ldyBBenVyZUltcG9ydGVyTW9kZWwoKTtcbiAgICAgIGF3YWl0IGV4cGVjdChhenVyZU1vZGVsLmNvbmZpZ3VyZSgnYXp1cmUnLCB7fSkpLnJlc29sdmVzLnRvQmVJbnN0YW5jZU9mKFxuICAgICAgICBBenVyZUltcG9ydGVyTW9kZWxcbiAgICAgICk7XG4gICAgICBleHBlY3QoYXp1cmVNb2RlbC5uYW1lKS50b0JlKCdhenVyZScpO1xuICAgICAgZXhwZWN0KGF6dXJlTW9kZWwuc3RhdGljUGFyYW1zKS50b1N0cmljdEVxdWFsKHt9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21vZGVsSWRlbnRpZmllcigpOiAnLCAoKSA9PiB7XG4gICAgaXQoJ21vZGVsSWRlbmRpZmllcigpIHJldHVybnMgZXhwZWN0ZWQgbmFtZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGF6dXJlTW9kZWwgPSBuZXcgQXp1cmVJbXBvcnRlck1vZGVsKCk7XG4gICAgICBleHBlY3QoYXp1cmVNb2RlbC5tb2RlbElkZW50aWZpZXIoKSkudG9CZSgnYXp1cmUnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2V4ZWN1dGUoKTogJywgKCkgPT4ge1xuICAgIGl0KCd0aHJvd3MgZXJyb3IgZm9yIG1pc3NpbmcgaW5wdXQgZmllbGQuJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYXp1cmVNb2RlbCA9IG5ldyBBenVyZUltcG9ydGVyTW9kZWwoKTtcbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuICAgICAgZXhwZWN0KGF3YWl0IGF6dXJlTW9kZWwuY29uZmlndXJlKCdhenVyZScsIHt9KSkudG9CZUluc3RhbmNlT2YoXG4gICAgICAgIEF6dXJlSW1wb3J0ZXJNb2RlbFxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGF6dXJlTW9kZWwuZXhlY3V0ZShbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0xMS0wMlQxMDozNTozMS44MjBaJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgJ2F6dXJlLW9ic2VydmF0aW9uLWFnZ3JlZ2F0aW9uJzogJ2F2ZXJhZ2UnLFxuICAgICAgICAgICAgJ2F6dXJlLXN1YnNjcmlwdGlvbi1pZCc6ICc5ZGU3ZTE5Zi04YTE4LTRlNzMtOTQ1MS00NWZjNzRlN2QwZDMnLFxuICAgICAgICAgICAgJ2F6dXJlLXJlc291cmNlLWdyb3VwJzogJ3ZtMV9ncm91cCcsXG4gICAgICAgICAgICAnYXp1cmUtdm0tbmFtZSc6ICd2bTEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvQmVJbnN0YW5jZU9mKEVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Rocm93cyBlcnJvciBpZiB0aW1lIGlzIHByb3ZpZGVkIGluIHNlY29uZHMuJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYXp1cmVNb2RlbCA9IG5ldyBBenVyZUltcG9ydGVyTW9kZWwoKTtcblxuICAgICAgZXhwZWN0LmFzc2VydGlvbnMoMik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGF6dXJlTW9kZWwuZXhlY3V0ZShbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0xMS0wMlQxMDozNTozMS44MjBaJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgJ2F6dXJlLW9ic2VydmF0aW9uLXdpbmRvdyc6ICc1IHNlYycsXG4gICAgICAgICAgICAnYXp1cmUtb2JzZXJ2YXRpb24tYWdncmVnYXRpb24nOiAnYXZlcmFnZScsXG4gICAgICAgICAgICAnYXp1cmUtc3Vic2NyaXB0aW9uLWlkJzogJzlkZTdlMTlmLThhMTgtNGU3My05NDUxLTQ1ZmM3NGU3ZDBkMycsXG4gICAgICAgICAgICAnYXp1cmUtcmVzb3VyY2UtZ3JvdXAnOiAndm0xX2dyb3VwJyxcbiAgICAgICAgICAgICdhenVyZS12bS1uYW1lJzogJ3ZtMScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIGV4cGVjdChlcnJvcikudG9CZUluc3RhbmNlT2YoRXJyb3IpO1xuICAgICAgICAgIGV4cGVjdChlcnJvci5tZXNzYWdlKS50b0VxdWFsKFxuICAgICAgICAgICAgJ1RoZSBtaW5pbXVtIHVuaXQgb2YgdGltZSBmb3IgYXp1cmUgaW1wb3J0ZXIgaXMgbWludXRlcydcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgndGhyb3dzIGVycm9yIGZvciB0aW1lIHVuaXQgb2Ygc2Vjb25kcyAnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBhenVyZU1vZGVsID0gbmV3IEF6dXJlSW1wb3J0ZXJNb2RlbCgpO1xuICAgICAgYXdhaXQgZXhwZWN0KFxuICAgICAgICBhenVyZU1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMTEtMDJUMTA6MzU6MzEuODIwWicsXG4gICAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAgICdhenVyZS1vYnNlcnZhdGlvbi13aW5kb3cnOiAnNSBzZWMnLFxuICAgICAgICAgICAgJ2F6dXJlLW9ic2VydmF0aW9uLWFnZ3JlZ2F0aW9uJzogJ2F2ZXJhZ2UnLFxuICAgICAgICAgICAgJ2F6dXJlLXN1YnNjcmlwdGlvbi1pZCc6ICc5ZGU3ZTE5Zi04YTE4LTRlNzMtOTQ1MS00NWZjNzRlN2QwZDMnLFxuICAgICAgICAgICAgJ2F6dXJlLXJlc291cmNlLWdyb3VwJzogJ3ZtMV9ncm91cCcsXG4gICAgICAgICAgICAnYXp1cmUtdm0tbmFtZSc6ICd2bTEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApLnJlamVjdHMudG9TdHJpY3RFcXVhbChcbiAgICAgICAgRXJyb3IoJ1RoZSBtaW5pbXVtIHVuaXQgb2YgdGltZSBmb3IgYXp1cmUgaW1wb3J0ZXIgaXMgbWludXRlcycpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JldHVybnMgdmFsaWQgZGF0YS4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBhenVyZU1vZGVsID0gbmV3IEF6dXJlSW1wb3J0ZXJNb2RlbCgpO1xuICAgICAgYXdhaXQgZXhwZWN0KFxuICAgICAgICBhenVyZU1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMTEtMDJUMTA6MzU6MDAuMDAwWicsXG4gICAgICAgICAgICBkdXJhdGlvbjogMzAwLFxuICAgICAgICAgICAgJ2F6dXJlLW9ic2VydmF0aW9uLXdpbmRvdyc6ICc1IG1pbnMnLFxuICAgICAgICAgICAgJ2F6dXJlLW9ic2VydmF0aW9uLWFnZ3JlZ2F0aW9uJzogJ2F2ZXJhZ2UnLFxuICAgICAgICAgICAgJ2F6dXJlLXN1YnNjcmlwdGlvbi1pZCc6ICc5ZGU3ZTE5Zi04YTE4LTRlNzMtOTQ1MS00NWZjNzRlN2QwZDMnLFxuICAgICAgICAgICAgJ2F6dXJlLXJlc291cmNlLWdyb3VwJzogJ3ZtMV9ncm91cCcsXG4gICAgICAgICAgICAnYXp1cmUtdm0tbmFtZSc6ICd2bTEnLFxuICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDk1MSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKS5yZXNvbHZlcy50b0VxdWFsKFtcbiAgICAgICAge1xuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMTEtMDJUMTA6MzU6MDAuMDAwWicsXG4gICAgICAgICAgZHVyYXRpb246IDMwMCxcbiAgICAgICAgICAnZ3JpZC1jYXJib24taW50ZW5zaXR5JzogOTUxLFxuICAgICAgICAgICdhenVyZS1vYnNlcnZhdGlvbi1hZ2dyZWdhdGlvbic6ICdhdmVyYWdlJyxcbiAgICAgICAgICAnYXp1cmUtb2JzZXJ2YXRpb24td2luZG93JzogJzUgbWlucycsXG4gICAgICAgICAgJ2F6dXJlLXJlc291cmNlLWdyb3VwJzogJ3ZtMV9ncm91cCcsXG4gICAgICAgICAgJ2F6dXJlLXN1YnNjcmlwdGlvbi1pZCc6ICc5ZGU3ZTE5Zi04YTE4LTRlNzMtOTQ1MS00NWZjNzRlN2QwZDMnLFxuICAgICAgICAgICdhenVyZS12bS1uYW1lJzogJ3ZtMScsXG4gICAgICAgICAgJ2NwdS11dGlsJzogJzMuMTQnLFxuICAgICAgICAgICdtZW0tYXZhaWxhYmxlR0InOiAwLjUsXG4gICAgICAgICAgJ21lbS11c2VkR0InOiAwLjUsXG4gICAgICAgICAgJ3RvdGFsLW1lbW9yeUdCJzogMSxcbiAgICAgICAgICAnbWVtLXV0aWwnOiA1MCxcbiAgICAgICAgICBsb2NhdGlvbjogJ3Vrc291dGgnLFxuICAgICAgICAgICdjbG91ZC1pbnN0YW5jZS10eXBlJzogJ1N0YW5kYXJkX0IxcycsXG4gICAgICAgICAgJ2Nsb3VkLXZlbmRvcic6ICdhenVyZScsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|