@grnsft/if 0.0.5 → 0.0.6

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const model_universe_1 = require("../../../__mocks__/model-universe");
4
+ const models_universe_1 = require("../../../lib/models-universe");
5
+ const config_1 = require("../../../config");
6
+ const { MISSING_CLASSNAME, MISSING_PATH, NOT_OUTPUT_MODEL_EXTENSION, NOT_INITIALIZED_MODEL, } = config_1.STRINGS;
7
+ describe('util/models-universe: ', () => {
8
+ describe('init ModelsUniverse', () => {
9
+ it('initializes object with required properties.', () => {
10
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
11
+ expect(typeof modelsHandbook.getInitializedModel).toBe('function');
12
+ expect(typeof modelsHandbook.initalizedModels).toBe('object');
13
+ expect(typeof modelsHandbook.writeDown).toBe('function');
14
+ expect(modelsHandbook.initalizedModels).toEqual({});
15
+ });
16
+ });
17
+ describe('writeDown(): ', () => {
18
+ beforeEach(() => {
19
+ jest.resetModules();
20
+ jest.restoreAllMocks();
21
+ });
22
+ it('throws error in case model is not supported.', () => {
23
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
24
+ const modelInfo = {
25
+ config: {
26
+ allocation: 'mock-allocation',
27
+ verbose: true,
28
+ },
29
+ name: 'test',
30
+ };
31
+ const expectedMessage = `Missing or wrong model: ${modelInfo.name}.`;
32
+ try {
33
+ modelsHandbook.writeDown(modelInfo);
34
+ }
35
+ catch (error) {
36
+ if (error instanceof Error) {
37
+ expect(error.message).toEqual(expectedMessage);
38
+ }
39
+ }
40
+ });
41
+ it('registers `shell` model in initalized models list.', () => {
42
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
43
+ const modelInfo = {
44
+ config: {
45
+ allocation: 'mock-allocation',
46
+ verbose: true,
47
+ },
48
+ name: 'mock-name',
49
+ };
50
+ const modelsList = modelsHandbook.writeDown(modelInfo);
51
+ expect(modelsList).toHaveProperty(modelInfo.name);
52
+ expect(typeof modelsList[modelInfo.name]).toBe('function');
53
+ });
54
+ it('registers `plugin` model in initalized models list.', () => {
55
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
56
+ const modelInfo = {
57
+ config: {
58
+ allocation: 'mock-allocation',
59
+ verbose: true,
60
+ },
61
+ name: 'mock-name',
62
+ };
63
+ const modelsList = modelsHandbook.writeDown(modelInfo);
64
+ expect(modelsList).toHaveProperty(modelInfo.name);
65
+ expect(typeof modelsList[modelInfo.name]).toBe('function');
66
+ });
67
+ it('throws `missing classname` error while registration of `plugin` model.', async () => {
68
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
69
+ const modelInfo = {
70
+ config: {
71
+ allocation: 'mock-allocation',
72
+ verbose: true,
73
+ },
74
+ name: 'mock-name',
75
+ };
76
+ const modelsList = modelsHandbook.writeDown(modelInfo);
77
+ const model = modelsList[modelInfo.name];
78
+ expect.assertions(2);
79
+ try {
80
+ await model({
81
+ 'core-units': 1,
82
+ 'physical-processor': 'intel',
83
+ });
84
+ }
85
+ catch (error) {
86
+ if (error instanceof Error) {
87
+ expect(error).toBeInstanceOf(Error);
88
+ expect(error.message).toEqual(MISSING_CLASSNAME);
89
+ }
90
+ }
91
+ });
92
+ it('throws `missing path parameter` error while registration of `plugin` model.', async () => {
93
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
94
+ const modelInfo = {
95
+ config: {
96
+ allocation: 'mock-allocation',
97
+ verbose: true,
98
+ },
99
+ name: 'mock-name',
100
+ model: 'MockaviztaModel',
101
+ };
102
+ const modelsList = modelsHandbook.writeDown(modelInfo);
103
+ const model = modelsList[modelInfo.name];
104
+ expect.assertions(2);
105
+ try {
106
+ await model({
107
+ 'core-units': 1,
108
+ 'physical-processor': 'intel',
109
+ });
110
+ }
111
+ catch (error) {
112
+ if (error instanceof Error) {
113
+ expect(error).toBeInstanceOf(Error);
114
+ expect(error.message).toEqual(MISSING_PATH);
115
+ }
116
+ }
117
+ });
118
+ it('should successfully initalize plugin model.', async () => {
119
+ jest.mock('mockavizta-model', () => ({
120
+ __esModule: true,
121
+ MockaviztaModel: model_universe_1.MockModel,
122
+ }), { virtual: true });
123
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
124
+ const modelInfo = {
125
+ config: {
126
+ allocation: 'mock-allocation',
127
+ verbose: true,
128
+ },
129
+ name: 'mock-name',
130
+ model: 'MockaviztaModel',
131
+ path: 'https://github.com/mock/mockavizta-model',
132
+ };
133
+ const modelsList = modelsHandbook.writeDown(modelInfo);
134
+ const model = modelsList[modelInfo.name];
135
+ expect.assertions(1);
136
+ const response = await model({
137
+ 'core-units': 1,
138
+ 'physical-processor': 'intel',
139
+ });
140
+ expect(response).toBeInstanceOf(model_universe_1.MockModel);
141
+ });
142
+ it('should throw `input model does not extend base interface` error.', async () => {
143
+ jest.mock('mockavizta-model', () => ({
144
+ __esModule: true,
145
+ MockaviztaModel: class FakeModel {
146
+ },
147
+ }), { virtual: true });
148
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
149
+ const modelInfo = {
150
+ config: {
151
+ allocation: 'mock-allocation',
152
+ verbose: true,
153
+ },
154
+ name: 'mock-name',
155
+ model: 'MockaviztaModel',
156
+ path: 'https://github.com/mock/mockavizta-model',
157
+ };
158
+ const modelsList = modelsHandbook.writeDown(modelInfo);
159
+ const model = modelsList[modelInfo.name];
160
+ expect.assertions(2);
161
+ try {
162
+ await model({
163
+ 'core-units': 1,
164
+ 'physical-processor': 'intel',
165
+ });
166
+ }
167
+ catch (error) {
168
+ if (error instanceof Error) {
169
+ expect(error).toBeInstanceOf(Error);
170
+ expect(error.message).toEqual(NOT_OUTPUT_MODEL_EXTENSION);
171
+ }
172
+ }
173
+ });
174
+ });
175
+ describe('getInitializedModel(): ', () => {
176
+ it('throws error in case if model is not initalized.', async () => {
177
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
178
+ const modelName = 'mock-modelName';
179
+ const config = {};
180
+ const expectedMessage = NOT_INITIALIZED_MODEL(modelName);
181
+ try {
182
+ await modelsHandbook.getInitializedModel(modelName, config);
183
+ }
184
+ catch (error) {
185
+ if (error instanceof Error) {
186
+ expect(error).toBeInstanceOf(Error);
187
+ expect(error.message).toEqual(expectedMessage);
188
+ }
189
+ }
190
+ });
191
+ });
192
+ });
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLXVuaXZlcnNlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvX190ZXN0c19fL3VuaXQvbGliL21vZGVscy11bml2ZXJzZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0VBQTREO0FBRTVELGtFQUE0RDtBQUU1RCw0Q0FBd0M7QUFJeEMsTUFBTSxFQUNKLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLHFCQUFxQixHQUN0QixHQUFHLGdCQUFPLENBQUM7QUFFWixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDbkMsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtZQUN0RCxNQUFNLGNBQWMsR0FBRyxJQUFJLGdDQUFjLEVBQUUsQ0FBQztZQUU1QyxNQUFNLENBQUMsT0FBTyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlELE1BQU0sQ0FBQyxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENB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LGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV6RCxJQUFJO2dCQUNGLE1BQU0sY0FBYyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM3RDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtvQkFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQ2hEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vY2tNb2RlbH0gZnJvbSAnLi4vLi4vLi4vX19tb2Nrc19fL21vZGVsLXVuaXZlcnNlJztcblxuaW1wb3J0IHtNb2RlbHNVbml2ZXJzZX0gZnJvbSAnLi4vLi4vLi4vbGliL21vZGVscy11bml2ZXJzZSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHtJbXBsSW5pdGlhbGl6ZU1vZGVsfSBmcm9tICcuLi8uLi8uLi90eXBlcy9tb2RlbHMtdW5pdmVyc2UnO1xuXG5jb25zdCB7XG4gIE1JU1NJTkdfQ0xBU1NOQU1FLFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9PVVRQVVRfTU9ERUxfRVhURU5TSU9OLFxuICBOT1RfSU5JVElBTElaRURfTU9ERUwsXG59ID0gU1RSSU5HUztcblxuZGVzY3JpYmUoJ3V0aWwvbW9kZWxzLXVuaXZlcnNlOiAnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdpbml0IE1vZGVsc1VuaXZlcnNlJywgKCkgPT4ge1xuICAgIGl0KCdpbml0aWFsaXplcyBvYmplY3Qgd2l0aCByZXF1aXJlZCBwcm9wZXJ0aWVzLicsICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGVsc0hhbmRib29rID0gbmV3IE1vZGVsc1VuaXZlcnNlKCk7XG5cbiAgICAgIGV4cGVjdCh0eXBlb2YgbW9kZWxzSGFuZGJvb2suZ2V0SW5pdGlhbGl6ZWRNb2RlbCkudG9CZSgnZnVuY3Rpb24nKTtcbiAgICAgIGV4cGVjdCh0eXBlb2YgbW9kZWxzSGFuZGJvb2suaW5pdGFsaXplZE1vZGVscykudG9CZSgnb2JqZWN0Jyk7XG4gICAgICBleHBlY3QodHlwZW9mIG1vZGVsc0hhbmRib29rLndyaXRlRG93bikudG9CZSgnZnVuY3Rpb24nKTtcbiAgICAgIGV4cGVjdChtb2RlbHNIYW5kYm9vay5pbml0YWxpemVkTW9kZWxzKS50b0VxdWFsKHt9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3dyaXRlRG93bigpOiAnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBqZXN0LnJlc2V0TW9kdWxlcygpO1xuICAgICAgamVzdC5yZXN0b3JlQWxsTW9ja3MoKTtcbiAgICB9KTtcblxuICAgIGl0KCd0aHJvd3MgZXJyb3IgaW4gY2FzZSBtb2RlbCBpcyBub3Qgc3VwcG9ydGVkLicsICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGVsc0hhbmRib29rID0gbmV3IE1vZGVsc1VuaXZlcnNlKCk7XG4gICAgICBjb25zdCBtb2RlbEluZm86IEltcGxJbml0aWFsaXplTW9kZWwgPSB7XG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIGFsbG9jYXRpb246ICdtb2NrLWFsbG9jYXRpb24nLFxuICAgICAgICAgIHZlcmJvc2U6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGV4cGVjdGVkTWVzc2FnZSA9IGBNaXNzaW5nIG9yIHdyb25nIG1vZGVsOiAke21vZGVsSW5mby5uYW1lfS5gO1xuXG4gICAgICB0cnkge1xuICAgICAgICBtb2RlbHNIYW5kYm9vay53cml0ZURvd24obW9kZWxJbmZvKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXhwZWN0ZWRNZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3JlZ2lzdGVycyBgc2hlbGxgIG1vZGVsIGluIGluaXRhbGl6ZWQgbW9kZWxzIGxpc3QuJywgKCkgPT4ge1xuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGNvbnN0IG1vZGVsSW5mbzogSW1wbEluaXRpYWxpemVNb2RlbCA9IHtcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgYWxsb2NhdGlvbjogJ21vY2stYWxsb2NhdGlvbicsXG4gICAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZTogJ21vY2stbmFtZScsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtb2RlbHNMaXN0ID0gbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsSW5mbyk7XG4gICAgICBleHBlY3QobW9kZWxzTGlzdCkudG9IYXZlUHJvcGVydHkobW9kZWxJbmZvLm5hbWUpO1xuICAgICAgZXhwZWN0KHR5cGVvZiBtb2RlbHNMaXN0W21vZGVsSW5mby5uYW1lXSkudG9CZSgnZnVuY3Rpb24nKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZWdpc3RlcnMgYHBsdWdpbmAgbW9kZWwgaW4gaW5pdGFsaXplZCBtb2RlbHMgbGlzdC4nLCAoKSA9PiB7XG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgbW9kZWxJbmZvOiBJbXBsSW5pdGlhbGl6ZU1vZGVsID0ge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhbGxvY2F0aW9uOiAnbW9jay1hbGxvY2F0aW9uJyxcbiAgICAgICAgICB2ZXJib3NlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiAnbW9jay1uYW1lJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vZGVsc0xpc3QgPSBtb2RlbHNIYW5kYm9vay53cml0ZURvd24obW9kZWxJbmZvKTtcbiAgICAgIGV4cGVjdChtb2RlbHNMaXN0KS50b0hhdmVQcm9wZXJ0eShtb2RlbEluZm8ubmFtZSk7XG4gICAgICBleHBlY3QodHlwZW9mIG1vZGVsc0xpc3RbbW9kZWxJbmZvLm5hbWVdKS50b0JlKCdmdW5jdGlvbicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Rocm93cyBgbWlzc2luZyBjbGFzc25hbWVgIGVycm9yIHdoaWxlIHJlZ2lzdHJhdGlvbiBvZiBgcGx1Z2luYCBtb2RlbC4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgbW9kZWxJbmZvOiBJbXBsSW5pdGlhbGl6ZU1vZGVsID0ge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhbGxvY2F0aW9uOiAnbW9jay1hbGxvY2F0aW9uJyxcbiAgICAgICAgICB2ZXJib3NlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiAnbW9jay1uYW1lJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vZGVsc0xpc3QgPSBtb2RlbHNIYW5kYm9vay53cml0ZURvd24obW9kZWxJbmZvKTtcbiAgICAgIGNvbnN0IG1vZGVsID0gbW9kZWxzTGlzdFttb2RlbEluZm8ubmFtZV07XG5cbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBtb2RlbCh7XG4gICAgICAgICAgJ2NvcmUtdW5pdHMnOiAxLFxuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnaW50ZWwnLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgZXhwZWN0KGVycm9yKS50b0JlSW5zdGFuY2VPZihFcnJvcik7XG4gICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoTUlTU0lOR19DTEFTU05BTUUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgndGhyb3dzIGBtaXNzaW5nIHBhdGggcGFyYW1ldGVyYCBlcnJvciB3aGlsZSByZWdpc3RyYXRpb24gb2YgYHBsdWdpbmAgbW9kZWwuJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGNvbnN0IG1vZGVsSW5mbzogSW1wbEluaXRpYWxpemVNb2RlbCA9IHtcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgYWxsb2NhdGlvbjogJ21vY2stYWxsb2NhdGlvbicsXG4gICAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZTogJ21vY2stbmFtZScsXG4gICAgICAgIG1vZGVsOiAnTW9ja2F2aXp0YU1vZGVsJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vZGVsc0xpc3QgPSBtb2RlbHNIYW5kYm9vay53cml0ZURvd24obW9kZWxJbmZvKTtcbiAgICAgIGNvbnN0IG1vZGVsID0gbW9kZWxzTGlzdFttb2RlbEluZm8ubmFtZV07XG5cbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBtb2RlbCh7XG4gICAgICAgICAgJ2NvcmUtdW5pdHMnOiAxLFxuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnaW50ZWwnLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgZXhwZWN0KGVycm9yKS50b0JlSW5zdGFuY2VPZihFcnJvcik7XG4gICAgICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoTUlTU0lOR19QQVRIKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZXNzZnVsbHkgaW5pdGFsaXplIHBsdWdpbiBtb2RlbC4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0Lm1vY2soXG4gICAgICAgICdtb2NrYXZpenRhLW1vZGVsJyxcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICBfX2VzTW9kdWxlOiB0cnVlLFxuICAgICAgICAgIE1vY2thdml6dGFNb2RlbDogTW9ja01vZGVsLFxuICAgICAgICB9KSxcbiAgICAgICAge3ZpcnR1YWw6IHRydWV9XG4gICAgICApO1xuXG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgbW9kZWxJbmZvOiBJbXBsSW5pdGlhbGl6ZU1vZGVsID0ge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhbGxvY2F0aW9uOiAnbW9jay1hbGxvY2F0aW9uJyxcbiAgICAgICAgICB2ZXJib3NlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiAnbW9jay1uYW1lJyxcbiAgICAgICAgbW9kZWw6ICdNb2NrYXZpenRhTW9kZWwnLFxuICAgICAgICBwYXRoOiAnaHR0cHM6Ly9naXRodWIuY29tL21vY2svbW9ja2F2aXp0YS1tb2RlbCcsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtb2RlbHNMaXN0ID0gbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsSW5mbyk7XG4gICAgICBjb25zdCBtb2RlbCA9IG1vZGVsc0xpc3RbbW9kZWxJbmZvLm5hbWVdO1xuXG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtb2RlbCh7XG4gICAgICAgICdjb3JlLXVuaXRzJzogMSxcbiAgICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdpbnRlbCcsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3BvbnNlKS50b0JlSW5zdGFuY2VPZihNb2NrTW9kZWwpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBgaW5wdXQgbW9kZWwgZG9lcyBub3QgZXh0ZW5kIGJhc2UgaW50ZXJmYWNlYCBlcnJvci4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBqZXN0Lm1vY2soXG4gICAgICAgICdtb2NrYXZpenRhLW1vZGVsJyxcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICBfX2VzTW9kdWxlOiB0cnVlLFxuICAgICAgICAgIE1vY2thdml6dGFNb2RlbDogY2xhc3MgRmFrZU1vZGVsIHt9LFxuICAgICAgICB9KSxcbiAgICAgICAge3ZpcnR1YWw6IHRydWV9XG4gICAgICApO1xuXG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgbW9kZWxJbmZvOiBJbXBsSW5pdGlhbGl6ZU1vZGVsID0ge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhbGxvY2F0aW9uOiAnbW9jay1hbGxvY2F0aW9uJyxcbiAgICAgICAgICB2ZXJib3NlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBuYW1lOiAnbW9jay1uYW1lJyxcbiAgICAgICAgbW9kZWw6ICdNb2NrYXZpenRhTW9kZWwnLFxuICAgICAgICBwYXRoOiAnaHR0cHM6Ly9naXRodWIuY29tL21vY2svbW9ja2F2aXp0YS1tb2RlbCcsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtb2RlbHNMaXN0ID0gbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsSW5mbyk7XG4gICAgICBjb25zdCBtb2RlbCA9IG1vZGVsc0xpc3RbbW9kZWxJbmZvLm5hbWVdO1xuXG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygyKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgbW9kZWwoe1xuICAgICAgICAgICdjb3JlLXVuaXRzJzogMSxcbiAgICAgICAgICAncGh5c2ljYWwtcHJvY2Vzc29yJzogJ2ludGVsJyxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIGV4cGVjdChlcnJvcikudG9CZUluc3RhbmNlT2YoRXJyb3IpO1xuICAgICAgICAgIGV4cGVjdChlcnJvci5tZXNzYWdlKS50b0VxdWFsKE5PVF9PVVRQVVRfTU9ERUxfRVhURU5TSU9OKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0SW5pdGlhbGl6ZWRNb2RlbCgpOiAnLCAoKSA9PiB7XG4gICAgaXQoJ3Rocm93cyBlcnJvciBpbiBjYXNlIGlmIG1vZGVsIGlzIG5vdCBpbml0YWxpemVkLicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZGVsc0hhbmRib29rID0gbmV3IE1vZGVsc1VuaXZlcnNlKCk7XG5cbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9ICdtb2NrLW1vZGVsTmFtZSc7XG4gICAgICBjb25zdCBjb25maWcgPSB7fTtcblxuICAgICAgY29uc3QgZXhwZWN0ZWRNZXNzYWdlID0gTk9UX0lOSVRJQUxJWkVEX01PREVMKG1vZGVsTmFtZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG1vZGVsc0hhbmRib29rLmdldEluaXRpYWxpemVkTW9kZWwobW9kZWxOYW1lLCBjb25maWcpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvQmVJbnN0YW5jZU9mKEVycm9yKTtcbiAgICAgICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG9FcXVhbChleHBlY3RlZE1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const observatory_1 = require("../../../lib/observatory");
4
+ describe('util/observatory: ', () => {
5
+ class MockaviztaModel {
6
+ configure(params) {
7
+ params;
8
+ return Promise.resolve(this);
9
+ }
10
+ execute() {
11
+ return Promise.resolve([{ data: 'mock-data' }]);
12
+ }
13
+ }
14
+ const expectedValue = [
15
+ {
16
+ timestamp: '2023-07-06T00:00',
17
+ duration: 3600,
18
+ 'cpu-util': 18.392,
19
+ 'energy-cpu': 2.5,
20
+ 'embodied-carbon': 0.619,
21
+ },
22
+ {
23
+ timestamp: '2023-08-06T00:00',
24
+ duration: 3600,
25
+ 'cpu-util': 16,
26
+ 'energy-cpu': 2.5,
27
+ 'embodied-carbon': 0.619,
28
+ },
29
+ ]; // model.execute method's result (output mock).
30
+ describe('init Observatory: ', () => {
31
+ it('initializes object with required properties.', () => {
32
+ const inputs = [];
33
+ const lab = new observatory_1.Observatory(inputs);
34
+ expect(lab).toHaveProperty('doInvestigationsWith');
35
+ expect(lab).toHaveProperty('getOutputs');
36
+ });
37
+ });
38
+ describe('doInvestgationsWith(): ', () => {
39
+ const inputs = [
40
+ {
41
+ timestamp: '2023-07-06T00:00',
42
+ duration: 3600,
43
+ 'cpu-util': 18.392,
44
+ },
45
+ {
46
+ timestamp: '2023-08-06T00:00',
47
+ duration: 3600,
48
+ 'cpu-util': 16,
49
+ },
50
+ ];
51
+ const params = {
52
+ 'core-units': 24,
53
+ 'physical-processor': 'Intel® Core™ i7-1185G7',
54
+ allocation: 'LINEAR',
55
+ verbose: true,
56
+ };
57
+ it('returns Observatory class.', async () => {
58
+ const lab = new observatory_1.Observatory(inputs);
59
+ const boaviztaModel = await new MockaviztaModel().configure(params);
60
+ boaviztaModel.execute = jest.fn(() => Promise.resolve(expectedValue));
61
+ const result = await lab.doInvestigationsWith(boaviztaModel);
62
+ expect(result).toBeInstanceOf(observatory_1.Observatory);
63
+ });
64
+ });
65
+ describe('getOutputs(): ', () => {
66
+ const inputs = [
67
+ {
68
+ timestamp: '2023-07-06T00:00',
69
+ duration: 3600,
70
+ 'cpu-util': 18.392,
71
+ },
72
+ {
73
+ timestamp: '2023-08-06T00:00',
74
+ duration: 3600,
75
+ 'cpu-util': 16,
76
+ },
77
+ ];
78
+ const params = {
79
+ 'core-units': 24,
80
+ 'physical-processor': 'Intel® Core™ i7-1185G7',
81
+ allocation: 'LINEAR',
82
+ verbose: true,
83
+ };
84
+ it('returns empty outputs data.', () => {
85
+ const lab = new observatory_1.Observatory(inputs);
86
+ const expectedValue = [];
87
+ expect(lab.getOutputs()).toEqual(expectedValue);
88
+ });
89
+ it('returns executed outputs data.', async () => {
90
+ const lab = new observatory_1.Observatory(inputs);
91
+ const boaviztaModel = await new MockaviztaModel().configure(params);
92
+ boaviztaModel.execute = jest.fn(() => Promise.resolve(expectedValue));
93
+ const result = await lab.doInvestigationsWith(boaviztaModel);
94
+ expect(result).toBeInstanceOf(observatory_1.Observatory);
95
+ expect(lab.getOutputs()).toEqual(expectedValue);
96
+ });
97
+ });
98
+ });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YXRvcnkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvb2JzZXJ2YXRvcnkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBEQUFxRDtBQUVyRCxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0lBQ2xDLE1BQU0sZUFBZTtRQUNuQixTQUFTLENBQUMsTUFBVztZQUNuQixNQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU87WUFDTCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztLQUNGO0lBRUQsTUFBTSxhQUFhLEdBQUc7UUFDcEI7WUFDRSxTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLE1BQU07WUFDbEIsWUFBWSxFQUFFLEdBQUc7WUFDakIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QjtRQUNEO1lBQ0UsU0FBUyxFQUFFLGtCQUFrQjtZQUM3QixRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxFQUFFO1lBQ2QsWUFBWSxFQUFFLEdBQUc7WUFDakIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QjtLQUNGLENBQUMsQ0FBQywrQ0FBK0M7SUFFbEQsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUNsQyxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1lBQ3RELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLHlCQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFcEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FB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QyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcbmltcG9ydCB7T2JzZXJ2YXRvcnl9IGZyb20gJy4uLy4uLy4uL2xpYi9vYnNlcnZhdG9yeSc7XG5cbmRlc2NyaWJlKCd1dGlsL29ic2VydmF0b3J5OiAnLCAoKSA9PiB7XG4gIGNsYXNzIE1vY2thdml6dGFNb2RlbCBpbXBsZW1lbnRzIE1vZGVsUGx1Z2luSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmUocGFyYW1zOiBhbnkpOiBQcm9taXNlPE1vZGVsUGx1Z2luSW50ZXJmYWNlPiB7XG4gICAgICBwYXJhbXM7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMpO1xuICAgIH1cbiAgICBleGVjdXRlKCk6IFByb21pc2U8YW55W10+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW3tkYXRhOiAnbW9jay1kYXRhJ31dKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBleHBlY3RlZFZhbHVlID0gW1xuICAgIHtcbiAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAnY3B1LXV0aWwnOiAxOC4zOTIsXG4gICAgICAnZW5lcmd5LWNwdSc6IDIuNSxcbiAgICAgICdlbWJvZGllZC1jYXJib24nOiAwLjYxOSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDgtMDZUMDA6MDAnLFxuICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAnY3B1LXV0aWwnOiAxNixcbiAgICAgICdlbmVyZ3ktY3B1JzogMi41LFxuICAgICAgJ2VtYm9kaWVkLWNhcmJvbic6IDAuNjE5LFxuICAgIH0sXG4gIF07IC8vIG1vZGVsLmV4ZWN1dGUgbWV0aG9kJ3MgcmVzdWx0IChvdXRwdXQgbW9jaykuXG5cbiAgZGVzY3JpYmUoJ2luaXQgT2JzZXJ2YXRvcnk6ICcsICgpID0+IHtcbiAgICBpdCgnaW5pdGlhbGl6ZXMgb2JqZWN0IHdpdGggcmVxdWlyZWQgcHJvcGVydGllcy4nLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dHM6IGFueSA9IFtdO1xuICAgICAgY29uc3QgbGFiID0gbmV3IE9ic2VydmF0b3J5KGlucHV0cyk7XG5cbiAgICAgIGV4cGVjdChsYWIpLnRvSGF2ZVByb3BlcnR5KCdkb0ludmVzdGlnYXRpb25zV2l0aCcpO1xuICAgICAgZXhwZWN0KGxhYikudG9IYXZlUHJvcGVydHkoJ2dldE91dHB1dHMnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2RvSW52ZXN0Z2F0aW9uc1dpdGgoKTogJywgKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0czogYW55ID0gW1xuICAgICAge1xuICAgICAgICB0aW1lc3RhbXA6ICcyMDIzLTA3LTA2VDAwOjAwJyxcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdjcHUtdXRpbCc6IDE4LjM5MixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDgtMDZUMDA6MDAnLFxuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTYsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAnY29yZS11bml0cyc6IDI0LFxuICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdJbnRlbMKuIENvcmXihKIgaTctMTE4NUc3JyxcbiAgICAgIGFsbG9jYXRpb246ICdMSU5FQVInLFxuICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaXQoJ3JldHVybnMgT2JzZXJ2YXRvcnkgY2xhc3MuJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiID0gbmV3IE9ic2VydmF0b3J5KGlucHV0cyk7XG5cbiAgICAgIGNvbnN0IGJvYXZpenRhTW9kZWwgPSBhd2FpdCBuZXcgTW9ja2F2aXp0YU1vZGVsKCkuY29uZmlndXJlKHBhcmFtcyk7XG5cbiAgICAgIGJvYXZpenRhTW9kZWwuZXhlY3V0ZSA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGV4cGVjdGVkVmFsdWUpKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbGFiLmRvSW52ZXN0aWdhdGlvbnNXaXRoKGJvYXZpenRhTW9kZWwpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZUluc3RhbmNlT2YoT2JzZXJ2YXRvcnkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0T3V0cHV0cygpOiAnLCAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRzOiBhbnkgPSBbXG4gICAgICB7XG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTguMzkyLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0wOC0wNlQwMDowMCcsXG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiAxNixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICdjb3JlLXVuaXRzJzogMjQsXG4gICAgICAncGh5c2ljYWwtcHJvY2Vzc29yJzogJ0ludGVswq4gQ29yZeKEoiBpNy0xMTg1RzcnLFxuICAgICAgYWxsb2NhdGlvbjogJ0xJTkVBUicsXG4gICAgICB2ZXJib3NlOiB0cnVlLFxuICAgIH07XG5cbiAgICBpdCgncmV0dXJucyBlbXB0eSBvdXRwdXRzIGRhdGEuJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiID0gbmV3IE9ic2VydmF0b3J5KGlucHV0cyk7XG5cbiAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWU6IGFueSA9IFtdO1xuXG4gICAgICBleHBlY3QobGFiLmdldE91dHB1dHMoKSkudG9FcXVhbChleHBlY3RlZFZhbHVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIGV4ZWN1dGVkIG91dHB1dHMgZGF0YS4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBsYWIgPSBuZXcgT2JzZXJ2YXRvcnkoaW5wdXRzKTtcbiAgICAgIGNvbnN0IGJvYXZpenRhTW9kZWwgPSBhd2FpdCBuZXcgTW9ja2F2aXp0YU1vZGVsKCkuY29uZmlndXJlKHBhcmFtcyk7XG5cbiAgICAgIGJvYXZpenRhTW9kZWwuZXhlY3V0ZSA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGV4cGVjdGVkVmFsdWUpKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGxhYi5kb0ludmVzdGlnYXRpb25zV2l0aChib2F2aXp0YU1vZGVsKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZUluc3RhbmNlT2YoT2JzZXJ2YXRvcnkpO1xuICAgICAgZXhwZWN0KGxhYi5nZXRPdXRwdXRzKCkpLnRvRXF1YWwoZXhwZWN0ZWRWYWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const model_universe_1 = require("../../../__mocks__/model-universe");
4
+ jest.mock('../../../lib/models-universe', () => ({
5
+ __esModule: true,
6
+ ModelsUniverse: model_universe_1.ModelsUniverse,
7
+ }));
8
+ const supercomputer_1 = require("../../../lib/supercomputer");
9
+ const models_universe_1 = require("../../../lib/models-universe");
10
+ const config_1 = require("../../../config");
11
+ const { NOT_INITIALIZED_MODEL } = config_1.STRINGS;
12
+ describe('util/supercomputer: ', () => {
13
+ const impl = {
14
+ name: 'gsf-demo',
15
+ description: 'Hello',
16
+ tags: {
17
+ kind: 'web',
18
+ complexity: 'moderate',
19
+ category: 'cloud',
20
+ },
21
+ initialize: {
22
+ models: [
23
+ {
24
+ name: 'boavizta-cpu',
25
+ kind: 'plugin',
26
+ config: {
27
+ allocation: 'LINEAR',
28
+ verbose: true,
29
+ },
30
+ },
31
+ ],
32
+ },
33
+ graph: {
34
+ children: {
35
+ 'front-end': {
36
+ pipeline: ['boavizta-cpu'],
37
+ config: {
38
+ 'boavizta-cpu': {
39
+ 'core-units': 24,
40
+ processor: 'Intel® Core™ i7-1185G7',
41
+ },
42
+ },
43
+ inputs: [
44
+ {
45
+ timestamp: '2023-07-06T00:00',
46
+ duration: 3600,
47
+ 'cpu-util': 18.392,
48
+ },
49
+ {
50
+ timestamp: '2023-08-06T00:00',
51
+ duration: 3600,
52
+ 'cpu-util': 16,
53
+ },
54
+ ],
55
+ },
56
+ },
57
+ },
58
+ };
59
+ describe('init Supercomputer: ', () => {
60
+ it('initializes object with required properties.', () => {
61
+ const impl = {};
62
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
63
+ const aterui = new supercomputer_1.Supercomputer(impl, modelsHandbook);
64
+ expect(aterui).toHaveProperty('compute');
65
+ });
66
+ });
67
+ describe('compute(): ', () => {
68
+ const implWithNestedChildren = {
69
+ name: 'ntt-data-on-premise',
70
+ description: 'https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/nttdatta-On-Premise-Web-system.md',
71
+ tags: {
72
+ kind: 'web',
73
+ complexity: 'moderate',
74
+ category: 'on-premise',
75
+ },
76
+ initialize: {
77
+ models: [
78
+ {
79
+ name: 'sci-e',
80
+ kind: 'plugin',
81
+ verbose: false,
82
+ path: '',
83
+ },
84
+ {
85
+ name: 'sci-m',
86
+ kind: 'plugin',
87
+ verbose: false,
88
+ path: '',
89
+ },
90
+ {
91
+ name: 'sci-o',
92
+ kind: 'plugin',
93
+ verbose: false,
94
+ path: '',
95
+ },
96
+ ],
97
+ },
98
+ graph: {
99
+ children: {
100
+ 'layer-3-switch': {
101
+ pipeline: ['sci-e', 'sci-m', 'sci-o'],
102
+ config: {
103
+ 'sci-m': {
104
+ te: 251000,
105
+ tir: 3600,
106
+ el: 126144000,
107
+ rr: 1,
108
+ tor: 1,
109
+ },
110
+ 'sci-o': {
111
+ 'grid-carbon-intensity': 457,
112
+ },
113
+ },
114
+ inputs: [
115
+ {
116
+ timestamp: '2023-07-06T00:00',
117
+ duration: 3600,
118
+ 'five-min-input-rate': 100,
119
+ 'five-min-output-rate': 100,
120
+ 'grid-carbon-intensity': 457,
121
+ 'energy-network': 0.00496,
122
+ requests: 38032740,
123
+ },
124
+ ],
125
+ },
126
+ 'layer-2-switch': {
127
+ pipeline: ['sci-e', 'sci-m', 'sci-o'],
128
+ config: {
129
+ 'sci-m': {
130
+ te: 251000,
131
+ tir: 3600,
132
+ el: 126144000,
133
+ rr: 1,
134
+ tor: 1,
135
+ },
136
+ 'sci-o': {
137
+ grid_ci: 457,
138
+ },
139
+ },
140
+ children: {
141
+ 'switch-1': {
142
+ inputs: [
143
+ {
144
+ timestamp: '2023-07-06T00:00',
145
+ duration: 1,
146
+ 'energy-network': 0.000811,
147
+ 'grid-carbon-intensity': 457,
148
+ requests: 38032740,
149
+ },
150
+ ],
151
+ },
152
+ 'switch-2': {
153
+ inputs: [
154
+ {
155
+ timestamp: '2023-07-06T00:00',
156
+ duration: 1,
157
+ 'energy-network': 0,
158
+ 'grid-carbon-intensity': 457,
159
+ requests: 38032740,
160
+ },
161
+ ],
162
+ },
163
+ 'switch-3': {
164
+ inputs: [
165
+ {
166
+ timestamp: '2023-07-06T00:00',
167
+ duration: 1,
168
+ 'energy-network': 0.000955,
169
+ 'grid-carbon-intensity': 457,
170
+ requests: 38032740,
171
+ },
172
+ ],
173
+ },
174
+ 'switch-4': {
175
+ inputs: [
176
+ {
177
+ timestamp: '2023-07-06T00:00',
178
+ duration: 1,
179
+ 'energy-network': 1.14e-8,
180
+ 'grid-carbon-intensity': 457,
181
+ requests: 38032740,
182
+ },
183
+ ],
184
+ },
185
+ },
186
+ },
187
+ },
188
+ },
189
+ };
190
+ it('rejects with model is not initialized.', async () => {
191
+ expect.assertions(2);
192
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
193
+ const aterui = new supercomputer_1.Supercomputer(impl, modelsHandbook);
194
+ const expectedMessage = NOT_INITIALIZED_MODEL('boavizta-cpu');
195
+ try {
196
+ await aterui.compute();
197
+ }
198
+ catch (error) {
199
+ if (error instanceof Error) {
200
+ expect(error).toBeInstanceOf(Error);
201
+ expect(error.message).toBe(expectedMessage);
202
+ }
203
+ }
204
+ });
205
+ it('applies computing to given impl.', async () => {
206
+ expect.assertions(1);
207
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
208
+ impl.initialize.models.forEach((model) => modelsHandbook.writeDown(model));
209
+ const ateruiComputer = new supercomputer_1.Supercomputer(impl, modelsHandbook);
210
+ const ompl = await ateruiComputer.compute();
211
+ const children = ompl.graph.children;
212
+ const childrenNames = Object.keys(children);
213
+ expect(ompl.graph.children[childrenNames[0]]).toHaveProperty('outputs');
214
+ });
215
+ it('applies computing to nested children components.', async () => {
216
+ expect.assertions(4);
217
+ const modelsHandbook = new models_universe_1.ModelsUniverse();
218
+ implWithNestedChildren.initialize.models.forEach((model) => modelsHandbook.writeDown(model));
219
+ const ateruiComputer = new supercomputer_1.Supercomputer(implWithNestedChildren, modelsHandbook);
220
+ const ompl = await ateruiComputer.compute();
221
+ const children = ompl.graph.children;
222
+ const childrenNames = Object.keys(children);
223
+ const oneWithNested = childrenNames[1];
224
+ const nestedChildren = children[oneWithNested].children;
225
+ Object.keys(nestedChildren).forEach((child) => {
226
+ expect(nestedChildren[child]).toHaveProperty('outputs');
227
+ });
228
+ });
229
+ });
230
+ });
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19fdGVzdHNfXy91bml0L2xpYi9zdXBlcmNvbXB1dGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzRUFBc0Y7QUFFdEYsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSwrQkFBaUI7Q0FDbEMsQ0FBQyxDQUFDLENBQUM7QUFFSiw4REFBeUQ7QUFDekQsa0VBQTREO0FBRTVELDRDQUF3QztBQUV4QyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsTUFBTSxJQUFJLEdBQVE7UUFDaEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsV0FBVyxFQUFFLE9BQU87UUFDcEIsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLEtBQUs7WUFDWCxVQUFVLEVBQUUsVUFBVTtZQUN0QixRQUFRLEVBQUUsT0FBTztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNWLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsTUFBTSxFQUFFO3dCQUNOLFVBQVUsRUFBRSxRQUFRO3dCQUNwQixPQUFPLEVBQUUsSUFBSTtxQkFDZDtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFO29CQUNYLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDMUIsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRTs0QkFDZCxZQUFZLEVBQUUsRUFBRTs0QkFDaEIsU0FBUyxFQUFFLHdCQUF3Qjt5QkFDcEM7cUJBQ0Y7b0JBQ0QsTUFBTSxFQUFF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RSxDQUFDLGtEQUFrRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckIsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxFQUFFLENBQUM7WUFDNUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUM5RCxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNoQyxDQUFDO1lBRUYsTUFBTSxjQUFjLEdBQUcsSUFBSSw2QkFBYSxDQUN0QyxzQkFBc0IsRUFDdEIsY0FBYyxDQUNmLENBQUM7WUFDRixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUU1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV2QyxNQUFNLGNBQWMsR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1lBRTdELE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsc1VuaXZlcnNlIGFzIE1vY2tNb2RlbFVuaXZlcnNlfSBmcm9tICcuLi8uLi8uLi9fX21vY2tzX18vbW9kZWwtdW5pdmVyc2UnO1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2xpYi9tb2RlbHMtdW5pdmVyc2UnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBNb2RlbHNVbml2ZXJzZTogTW9ja01vZGVsVW5pdmVyc2UsXG59KSk7XG5cbmltcG9ydCB7U3VwZXJjb21wdXRlcn0gZnJvbSAnLi4vLi4vLi4vbGliL3N1cGVyY29tcHV0ZXInO1xuaW1wb3J0IHtNb2RlbHNVbml2ZXJzZX0gZnJvbSAnLi4vLi4vLi4vbGliL21vZGVscy11bml2ZXJzZSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcblxuY29uc3Qge05PVF9JTklUSUFMSVpFRF9NT0RFTH0gPSBTVFJJTkdTO1xuXG5kZXNjcmliZSgndXRpbC9zdXBlcmNvbXB1dGVyOiAnLCAoKSA9PiB7XG4gIGNvbnN0IGltcGw6IGFueSA9IHtcbiAgICBuYW1lOiAnZ3NmLWRlbW8nLFxuICAgIGRlc2NyaXB0aW9uOiAnSGVsbG8nLFxuICAgIHRhZ3M6IHtcbiAgICAgIGtpbmQ6ICd3ZWInLFxuICAgICAgY29tcGxleGl0eTogJ21vZGVyYXRlJyxcbiAgICAgIGNhdGVnb3J5OiAnY2xvdWQnLFxuICAgIH0sXG4gICAgaW5pdGlhbGl6ZToge1xuICAgICAgbW9kZWxzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYm9hdml6dGEtY3B1JyxcbiAgICAgICAgICBraW5kOiAncGx1Z2luJyxcbiAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgIGFsbG9jYXRpb246ICdMSU5FQVInLFxuICAgICAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGdyYXBoOiB7XG4gICAgICBjaGlsZHJlbjoge1xuICAgICAgICAnZnJvbnQtZW5kJzoge1xuICAgICAgICAgIHBpcGVsaW5lOiBbJ2JvYXZpenRhLWNwdSddLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgJ2JvYXZpenRhLWNwdSc6IHtcbiAgICAgICAgICAgICAgJ2NvcmUtdW5pdHMnOiAyNCxcbiAgICAgICAgICAgICAgcHJvY2Vzc29yOiAnSW50ZWzCriBDb3Jl4oSiIGk3LTExODVHNycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAgICAgJ2NwdS11dGlsJzogMTguMzkyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0wOC0wNlQwMDowMCcsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgICAnY3B1LXV0aWwnOiAxNixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBkZXNjcmliZSgnaW5pdCBTdXBlcmNvbXB1dGVyOiAnLCAoKSA9PiB7XG4gICAgaXQoJ2luaXRpYWxpemVzIG9iamVjdCB3aXRoIHJlcXVpcmVkIHByb3BlcnRpZXMuJywgKCkgPT4ge1xuICAgICAgY29uc3QgaW1wbDogYW55ID0ge307XG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgYXRlcnVpID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuXG4gICAgICBleHBlY3QoYXRlcnVpKS50b0hhdmVQcm9wZXJ0eSgnY29tcHV0ZScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29tcHV0ZSgpOiAnLCAoKSA9PiB7XG4gICAgY29uc3QgaW1wbFdpdGhOZXN0ZWRDaGlsZHJlbjogYW55ID0ge1xuICAgICAgbmFtZTogJ250dC1kYXRhLW9uLXByZW1pc2UnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vR3JlZW4tU29mdHdhcmUtRm91bmRhdGlvbi9zY2ktZ3VpZGUvYmxvYi9kZXYvdXNlLWNhc2Utc3VibWlzc2lvbnMvbnR0ZGF0dGEtT24tUHJlbWlzZS1XZWItc3lzdGVtLm1kJyxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAga2luZDogJ3dlYicsXG4gICAgICAgIGNvbXBsZXhpdHk6ICdtb2RlcmF0ZScsXG4gICAgICAgIGNhdGVnb3J5OiAnb24tcHJlbWlzZScsXG4gICAgICB9LFxuICAgICAgaW5pdGlhbGl6ZToge1xuICAgICAgICBtb2RlbHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc2NpLWUnLFxuICAgICAgICAgICAga2luZDogJ3BsdWdpbicsXG4gICAgICAgICAgICB2ZXJib3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3NjaS1tJyxcbiAgICAgICAgICAgIGtpbmQ6ICdwbHVnaW4nLFxuICAgICAgICAgICAgdmVyYm9zZTogZmFsc2UsXG4gICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdzY2ktbycsXG4gICAgICAgICAgICBraW5kOiAncGx1Z2luJyxcbiAgICAgICAgICAgIHZlcmJvc2U6IGZhbHNlLFxuICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBncmFwaDoge1xuICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICdsYXllci0zLXN3aXRjaCc6IHtcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbJ3NjaS1lJywgJ3NjaS1tJywgJ3NjaS1vJ10sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgJ3NjaS1tJzoge1xuICAgICAgICAgICAgICAgIHRlOiAyNTEwMDAsXG4gICAgICAgICAgICAgICAgdGlyOiAzNjAwLFxuICAgICAgICAgICAgICAgIGVsOiAxMjYxNDQwMDAsXG4gICAgICAgICAgICAgICAgcnI6IDEsXG4gICAgICAgICAgICAgICAgdG9yOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc2NpLW8nOiB7XG4gICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICAgICAgICdmaXZlLW1pbi1pbnB1dC1yYXRlJzogMTAwLFxuICAgICAgICAgICAgICAgICdmaXZlLW1pbi1vdXRwdXQtcmF0ZSc6IDEwMCxcbiAgICAgICAgICAgICAgICAnZ3JpZC1jYXJib24taW50ZW5zaXR5JzogNDU3LFxuICAgICAgICAgICAgICAgICdlbmVyZ3ktbmV0d29yayc6IDAuMDA0OTYsXG4gICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdsYXllci0yLXN3aXRjaCc6IHtcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbJ3NjaS1lJywgJ3NjaS1tJywgJ3NjaS1vJ10sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgJ3NjaS1tJzoge1xuICAgICAgICAgICAgICAgIHRlOiAyNTEwMDAsXG4gICAgICAgICAgICAgICAgdGlyOiAzNjAwLFxuICAgICAgICAgICAgICAgIGVsOiAxMjYxNDQwMDAsXG4gICAgICAgICAgICAgICAgcnI6IDEsXG4gICAgICAgICAgICAgICAgdG9yOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc2NpLW8nOiB7XG4gICAgICAgICAgICAgICAgZ3JpZF9jaTogNDU3LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB7XG4gICAgICAgICAgICAgICdzd2l0Y2gtMSc6IHtcbiAgICAgICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOiAnMjAyMy0wNy0wNlQwMDowMCcsXG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxLFxuICAgICAgICAgICAgICAgICAgICAnZW5lcmd5LW5ldHdvcmsnOiAwLjAwMDgxMSxcbiAgICAgICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc3dpdGNoLTInOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2VuZXJneS1uZXR3b3JrJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IDQ1NyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdHM6IDM4MDMyNzQwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnc3dpdGNoLTMnOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjMtMDctMDZUMDA6MDAnLFxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2VuZXJneS1uZXR3b3JrJzogMC4wMDA5NTUsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWNhcmJvbi1pbnRlbnNpdHknOiA0NTcsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RzOiAzODAzMjc0MCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJ3N3aXRjaC00Jzoge1xuICAgICAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIzLTA3LTA2VDAwOjAwJyxcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEsXG4gICAgICAgICAgICAgICAgICAgICdlbmVyZ3ktbmV0d29yayc6IDEuMTRlLTgsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWNhcmJvbi1pbnRlbnNpdHknOiA0NTcsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RzOiAzODAzMjc0MCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGl0KCdyZWplY3RzIHdpdGggbW9kZWwgaXMgbm90IGluaXRpYWxpemVkLicsIGFzeW5jICgpID0+IHtcbiAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuXG4gICAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgICAgY29uc3QgYXRlcnVpID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuXG4gICAgICBjb25zdCBleHBlY3RlZE1lc3NhZ2UgPSBOT1RfSU5JVElBTElaRURfTU9ERUwoJ2JvYXZpenRhLWNwdScpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhdGVydWkuY29tcHV0ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvQmVJbnN0YW5jZU9mKEVycm9yKTtcbiAgICAgICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG9CZShleHBlY3RlZE1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnYXBwbGllcyBjb21wdXRpbmcgdG8gZ2l2ZW4gaW1wbC4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcblxuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGltcGwuaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgICAgbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgYXRlcnVpQ29tcHV0ZXIgPSBuZXcgU3VwZXJjb21wdXRlcihpbXBsLCBtb2RlbHNIYW5kYm9vayk7XG4gICAgICBjb25zdCBvbXBsID0gYXdhaXQgYXRlcnVpQ29tcHV0ZXIuY29tcHV0ZSgpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IG9tcGwuZ3JhcGguY2hpbGRyZW47XG4gICAgICBjb25zdCBjaGlsZHJlbk5hbWVzID0gT2JqZWN0LmtleXMoY2hpbGRyZW4pO1xuXG4gICAgICBleHBlY3Qob21wbC5ncmFwaC5jaGlsZHJlbltjaGlsZHJlbk5hbWVzWzBdXSkudG9IYXZlUHJvcGVydHkoJ291dHB1dHMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhcHBsaWVzIGNvbXB1dGluZyB0byBuZXN0ZWQgY2hpbGRyZW4gY29tcG9uZW50cy4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBleHBlY3QuYXNzZXJ0aW9ucyg0KTtcblxuICAgICAgY29uc3QgbW9kZWxzSGFuZGJvb2sgPSBuZXcgTW9kZWxzVW5pdmVyc2UoKTtcbiAgICAgIGltcGxXaXRoTmVzdGVkQ2hpbGRyZW4uaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgICAgbW9kZWxzSGFuZGJvb2sud3JpdGVEb3duKG1vZGVsKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgYXRlcnVpQ29tcHV0ZXIgPSBuZXcgU3VwZXJjb21wdXRlcihcbiAgICAgICAgaW1wbFdpdGhOZXN0ZWRDaGlsZHJlbixcbiAgICAgICAgbW9kZWxzSGFuZGJvb2tcbiAgICAgICk7XG4gICAgICBjb25zdCBvbXBsID0gYXdhaXQgYXRlcnVpQ29tcHV0ZXIuY29tcHV0ZSgpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IG9tcGwuZ3JhcGguY2hpbGRyZW47XG4gICAgICBjb25zdCBjaGlsZHJlbk5hbWVzID0gT2JqZWN0LmtleXMoY2hpbGRyZW4pO1xuICAgICAgY29uc3Qgb25lV2l0aE5lc3RlZCA9IGNoaWxkcmVuTmFtZXNbMV07XG5cbiAgICAgIGNvbnN0IG5lc3RlZENoaWxkcmVuOiBhbnkgPSBjaGlsZHJlbltvbmVXaXRoTmVzdGVkXS5jaGlsZHJlbjtcblxuICAgICAgT2JqZWN0LmtleXMobmVzdGVkQ2hpbGRyZW4pLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgZXhwZWN0KG5lc3RlZENoaWxkcmVuW2NoaWxkXSkudG9IYXZlUHJvcGVydHkoJ291dHB1dHMnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,29 +1,6 @@
1
1
  import { ArgumentConfig } from 'ts-command-line-args';
2
2
  import { impactProcessArgs } from '../types/process-args';
3
3
  export declare const CONFIG: {
4
- MODEL_IDS: {
5
- AZURE_IMPORTER: string;
6
- BOAVIZTA_CPU: string;
7
- BOAVIZTA_CLOUD: string;
8
- AVEVA: string;
9
- EMEM: string;
10
- ESHOPPEN: string;
11
- ESHOPPEN_CPU: string;
12
- ESHOPPEN_MEM: string;
13
- ESHOPPEN_NET: string;
14
- SCI_ACCENTURE: string;
15
- CCF: string;
16
- SCI: string;
17
- SCI_E: string;
18
- SCI_M: string;
19
- SCI_O: string;
20
- SHELL_MODEL: string;
21
- TDP: string;
22
- TEADS_AWS: string;
23
- TEADS_CURVE: string;
24
- WATT_TIME: string;
25
- CLOUD_INSTANCE_METADATA: string;
26
- };
27
4
  impact: {
28
5
  ARGS: ArgumentConfig<impactProcessArgs>;
29
6
  HELP: string;