@itentialopensource/adapter-vmware_vcenter 0.5.5 → 0.8.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/AUTH.md +39 -0
- package/BROKER.md +199 -0
- package/CALLS.md +169 -0
- package/CHANGELOG.md +85 -54
- package/CODE_OF_CONDUCT.md +12 -17
- package/CONTRIBUTING.md +88 -74
- package/ENHANCE.md +69 -0
- package/PROPERTIES.md +641 -0
- package/README.md +225 -502
- package/SUMMARY.md +9 -0
- package/SYSTEMINFO.md +11 -0
- package/TROUBLESHOOT.md +47 -0
- package/adapter.js +430 -57
- package/adapterBase.js +1021 -245
- package/entities/.generic/action.json +110 -5
- package/entities/.generic/schema.json +6 -1
- package/entities/Vmtemplatelibraryitems/action.json +25 -0
- package/entities/Vmtemplatelibraryitems/schema.json +19 -0
- package/error.json +12 -0
- package/package.json +20 -13
- package/pronghorn.json +686 -378
- package/propertiesDecorators.json +14 -0
- package/propertiesSchema.json +436 -0
- package/refs?service=git-upload-pack +0 -0
- package/report/adapterInfo.json +10 -0
- package/report/updateReport1643047821981.json +95 -0
- package/report/updateReport1652715810150.json +120 -0
- package/sampleProperties.json +94 -2
- package/test/integration/adapterTestBasicGet.js +2 -2
- package/test/integration/adapterTestIntegration.js +62 -103
- package/test/unit/adapterBaseTestUnit.js +35 -27
- package/test/unit/adapterTestUnit.js +586 -142
- package/utils/adapterInfo.js +206 -0
- package/utils/addAuth.js +94 -0
- package/utils/basicGet.js +1 -14
- package/utils/entitiesToDB.js +179 -0
- package/utils/modify.js +1 -1
- package/utils/packModificationScript.js +1 -1
- package/utils/patches2bundledDeps.js +90 -0
- package/utils/pre-commit.sh +3 -0
- package/utils/removeHooks.js +20 -0
- package/utils/tbScript.js +43 -22
- package/utils/tbUtils.js +126 -29
- package/utils/testRunner.js +16 -16
- package/utils/troubleshootingAdapter.js +2 -26
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
/* global describe it log pronghornProps */
|
|
5
5
|
/* eslint global-require: warn */
|
|
6
6
|
/* eslint no-unused-vars: warn */
|
|
7
|
+
/* eslint import/no-dynamic-require:warn */
|
|
7
8
|
|
|
8
9
|
// include required items for testing & logging
|
|
9
10
|
const assert = require('assert');
|
|
@@ -18,22 +19,31 @@ const { use } = require('chai');
|
|
|
18
19
|
const td = require('testdouble');
|
|
19
20
|
|
|
20
21
|
const anything = td.matchers.anything();
|
|
21
|
-
|
|
22
|
-
// stub and attemptTimeout are used throughout the code so set them here
|
|
23
22
|
let logLevel = 'none';
|
|
24
|
-
const stub = true;
|
|
25
23
|
const isRapidFail = false;
|
|
26
|
-
|
|
24
|
+
|
|
25
|
+
// read in the properties from the sampleProperties files
|
|
26
|
+
let adaptdir = __dirname;
|
|
27
|
+
if (adaptdir.endsWith('/test/integration')) {
|
|
28
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 17);
|
|
29
|
+
} else if (adaptdir.endsWith('/test/unit')) {
|
|
30
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 10);
|
|
31
|
+
}
|
|
32
|
+
const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
|
|
27
33
|
|
|
28
34
|
// these variables can be changed to run in integrated mode so easier to set them here
|
|
29
35
|
// always check these in with bogus data!!!
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
samProps.stub = true;
|
|
37
|
+
samProps.host = 'replace.hostorip.here';
|
|
38
|
+
samProps.authentication.username = 'username';
|
|
39
|
+
samProps.authentication.password = 'password';
|
|
40
|
+
samProps.protocol = 'http';
|
|
41
|
+
samProps.port = 80;
|
|
42
|
+
samProps.ssl.enabled = false;
|
|
43
|
+
samProps.ssl.accept_invalid_cert = false;
|
|
44
|
+
samProps.request.attempt_timeout = 60000;
|
|
45
|
+
const attemptTimeout = samProps.request.attempt_timeout;
|
|
46
|
+
const { stub } = samProps;
|
|
37
47
|
|
|
38
48
|
// these are the adapter properties. You generally should not need to alter
|
|
39
49
|
// any of these after they are initially set up
|
|
@@ -45,99 +55,7 @@ global.pronghornProps = {
|
|
|
45
55
|
adapters: [{
|
|
46
56
|
id: 'Test-vmware_vcenter',
|
|
47
57
|
type: 'VmwareVCenter',
|
|
48
|
-
properties:
|
|
49
|
-
host,
|
|
50
|
-
port,
|
|
51
|
-
base_path: '',
|
|
52
|
-
version: '',
|
|
53
|
-
cache_location: '',
|
|
54
|
-
encode_pathvars: true,
|
|
55
|
-
save_metric: false,
|
|
56
|
-
protocol,
|
|
57
|
-
stub,
|
|
58
|
-
authentication: {
|
|
59
|
-
auth_method: 'no_authentication',
|
|
60
|
-
username,
|
|
61
|
-
password,
|
|
62
|
-
token: '',
|
|
63
|
-
token_timeout: -1,
|
|
64
|
-
token_cache: 'local',
|
|
65
|
-
invalid_token_error: 401,
|
|
66
|
-
auth_field: 'header.headers.Authorization',
|
|
67
|
-
auth_field_format: 'Basic {b64}{username}:{password}{/b64}',
|
|
68
|
-
auth_logging: false
|
|
69
|
-
},
|
|
70
|
-
healthcheck: {
|
|
71
|
-
type: 'startup',
|
|
72
|
-
frequency: 60000,
|
|
73
|
-
query_object: {}
|
|
74
|
-
},
|
|
75
|
-
throttle: {
|
|
76
|
-
throttle_enabled: false,
|
|
77
|
-
number_pronghorns: 1,
|
|
78
|
-
sync_async: 'sync',
|
|
79
|
-
max_in_queue: 1000,
|
|
80
|
-
concurrent_max: 1,
|
|
81
|
-
expire_timeout: 0,
|
|
82
|
-
avg_runtime: 200,
|
|
83
|
-
priorities: [
|
|
84
|
-
{
|
|
85
|
-
value: 0,
|
|
86
|
-
percent: 100
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
},
|
|
90
|
-
request: {
|
|
91
|
-
number_redirects: 0,
|
|
92
|
-
number_retries: 3,
|
|
93
|
-
limit_retry_error: 0,
|
|
94
|
-
failover_codes: [],
|
|
95
|
-
attempt_timeout: attemptTimeout,
|
|
96
|
-
global_request: {
|
|
97
|
-
payload: {},
|
|
98
|
-
uriOptions: {},
|
|
99
|
-
addlHeaders: {},
|
|
100
|
-
authData: {}
|
|
101
|
-
},
|
|
102
|
-
healthcheck_on_timeout: false,
|
|
103
|
-
return_raw: true,
|
|
104
|
-
archiving: false,
|
|
105
|
-
return_request: false
|
|
106
|
-
},
|
|
107
|
-
proxy: {
|
|
108
|
-
enabled: false,
|
|
109
|
-
host: '',
|
|
110
|
-
port: 1,
|
|
111
|
-
protocol: 'http',
|
|
112
|
-
username: '',
|
|
113
|
-
password: ''
|
|
114
|
-
},
|
|
115
|
-
ssl: {
|
|
116
|
-
ecdhCurve: '',
|
|
117
|
-
enabled: sslenable,
|
|
118
|
-
accept_invalid_cert: sslinvalid,
|
|
119
|
-
ca_file: '',
|
|
120
|
-
key_file: '',
|
|
121
|
-
cert_file: '',
|
|
122
|
-
secure_protocol: '',
|
|
123
|
-
ciphers: ''
|
|
124
|
-
},
|
|
125
|
-
mongo: {
|
|
126
|
-
host: '',
|
|
127
|
-
port: 0,
|
|
128
|
-
database: '',
|
|
129
|
-
username: '',
|
|
130
|
-
password: '',
|
|
131
|
-
replSet: '',
|
|
132
|
-
db_ssl: {
|
|
133
|
-
enabled: false,
|
|
134
|
-
accept_invalid_cert: false,
|
|
135
|
-
ca_file: '',
|
|
136
|
-
key_file: '',
|
|
137
|
-
cert_file: ''
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
58
|
+
properties: samProps
|
|
141
59
|
}]
|
|
142
60
|
}
|
|
143
61
|
};
|
|
@@ -198,7 +116,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
|
|
|
198
116
|
}
|
|
199
117
|
|
|
200
118
|
// require the adapter that we are going to be using
|
|
201
|
-
const VmwareVCenter = require('../../adapter
|
|
119
|
+
const VmwareVCenter = require('../../adapter');
|
|
202
120
|
|
|
203
121
|
// delete the .DS_Store directory in entities -- otherwise this will cause errors
|
|
204
122
|
const dirPath = path.join(__dirname, '../../entities/.DS_Store');
|
|
@@ -240,6 +158,8 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
240
158
|
try {
|
|
241
159
|
assert.notEqual(null, a);
|
|
242
160
|
assert.notEqual(undefined, a);
|
|
161
|
+
const checkId = global.pronghornProps.adapterProps.adapters[0].id;
|
|
162
|
+
assert.equal(checkId, a.id);
|
|
243
163
|
assert.notEqual(null, a.allProps);
|
|
244
164
|
const check = global.pronghornProps.adapterProps.adapters[0].properties.healthcheck.type;
|
|
245
165
|
assert.equal(check, a.healthcheckType);
|
|
@@ -266,10 +186,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
266
186
|
});
|
|
267
187
|
|
|
268
188
|
let wffunctions = [];
|
|
269
|
-
describe('#
|
|
189
|
+
describe('#iapGetAdapterWorkflowFunctions', () => {
|
|
270
190
|
it('should retrieve workflow functions', (done) => {
|
|
271
191
|
try {
|
|
272
|
-
wffunctions = a.
|
|
192
|
+
wffunctions = a.iapGetAdapterWorkflowFunctions([]);
|
|
273
193
|
|
|
274
194
|
try {
|
|
275
195
|
assert.notEqual(0, wffunctions.length);
|
|
@@ -321,13 +241,103 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
321
241
|
done(error);
|
|
322
242
|
}
|
|
323
243
|
});
|
|
324
|
-
it('package.json should be customized', (done) => {
|
|
244
|
+
it('package.json standard fields should be customized', (done) => {
|
|
325
245
|
try {
|
|
326
246
|
const packageDotJson = require('../../package.json');
|
|
327
247
|
assert.notEqual(-1, packageDotJson.name.indexOf('vmware_vcenter'));
|
|
328
248
|
assert.notEqual(undefined, packageDotJson.version);
|
|
329
249
|
assert.notEqual(null, packageDotJson.version);
|
|
330
250
|
assert.notEqual('', packageDotJson.version);
|
|
251
|
+
assert.notEqual(undefined, packageDotJson.description);
|
|
252
|
+
assert.notEqual(null, packageDotJson.description);
|
|
253
|
+
assert.notEqual('', packageDotJson.description);
|
|
254
|
+
assert.equal('adapter.js', packageDotJson.main);
|
|
255
|
+
assert.notEqual(undefined, packageDotJson.wizardVersion);
|
|
256
|
+
assert.notEqual(null, packageDotJson.wizardVersion);
|
|
257
|
+
assert.notEqual('', packageDotJson.wizardVersion);
|
|
258
|
+
assert.notEqual(undefined, packageDotJson.engineVersion);
|
|
259
|
+
assert.notEqual(null, packageDotJson.engineVersion);
|
|
260
|
+
assert.notEqual('', packageDotJson.engineVersion);
|
|
261
|
+
assert.equal('http', packageDotJson.adapterType);
|
|
262
|
+
done();
|
|
263
|
+
} catch (error) {
|
|
264
|
+
log.error(`Test Failure: ${error}`);
|
|
265
|
+
done(error);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
it('package.json proper scripts should be provided', (done) => {
|
|
269
|
+
try {
|
|
270
|
+
const packageDotJson = require('../../package.json');
|
|
271
|
+
assert.notEqual(undefined, packageDotJson.scripts);
|
|
272
|
+
assert.notEqual(null, packageDotJson.scripts);
|
|
273
|
+
assert.notEqual('', packageDotJson.scripts);
|
|
274
|
+
assert.equal('node utils/setup.js && npm install --package-lock-only --ignore-scripts && npx npm-force-resolutions', packageDotJson.scripts.preinstall);
|
|
275
|
+
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
|
|
276
|
+
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
|
|
277
|
+
assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
|
|
278
|
+
assert.equal('mocha test/unit/adapterTestUnit.js --LOG=error', packageDotJson.scripts['test:unit']);
|
|
279
|
+
assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
|
|
280
|
+
assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
|
|
281
|
+
assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
|
|
282
|
+
assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
|
|
283
|
+
assert.equal('npm run deploy', packageDotJson.scripts.build);
|
|
284
|
+
done();
|
|
285
|
+
} catch (error) {
|
|
286
|
+
log.error(`Test Failure: ${error}`);
|
|
287
|
+
done(error);
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
it('package.json proper directories should be provided', (done) => {
|
|
291
|
+
try {
|
|
292
|
+
const packageDotJson = require('../../package.json');
|
|
293
|
+
assert.notEqual(undefined, packageDotJson.repository);
|
|
294
|
+
assert.notEqual(null, packageDotJson.repository);
|
|
295
|
+
assert.notEqual('', packageDotJson.repository);
|
|
296
|
+
assert.equal('git', packageDotJson.repository.type);
|
|
297
|
+
assert.equal('git@gitlab.com:itentialopensource/adapters/', packageDotJson.repository.url.substring(0, 43));
|
|
298
|
+
assert.equal('https://gitlab.com/itentialopensource/adapters/', packageDotJson.homepage.substring(0, 47));
|
|
299
|
+
done();
|
|
300
|
+
} catch (error) {
|
|
301
|
+
log.error(`Test Failure: ${error}`);
|
|
302
|
+
done(error);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
it('package.json proper dependencies should be provided', (done) => {
|
|
306
|
+
try {
|
|
307
|
+
const packageDotJson = require('../../package.json');
|
|
308
|
+
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
309
|
+
assert.notEqual(null, packageDotJson.dependencies);
|
|
310
|
+
assert.notEqual('', packageDotJson.dependencies);
|
|
311
|
+
assert.equal('^6.12.0', packageDotJson.dependencies.ajv);
|
|
312
|
+
assert.equal('^0.21.0', packageDotJson.dependencies.axios);
|
|
313
|
+
assert.equal('^2.20.0', packageDotJson.dependencies.commander);
|
|
314
|
+
assert.equal('^8.1.0', packageDotJson.dependencies['fs-extra']);
|
|
315
|
+
assert.equal('^9.0.1', packageDotJson.dependencies.mocha);
|
|
316
|
+
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
317
|
+
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
318
|
+
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
319
|
+
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
320
|
+
assert.equal('^7.3.2', packageDotJson.dependencies.semver);
|
|
321
|
+
assert.equal('^3.3.3', packageDotJson.dependencies.winston);
|
|
322
|
+
done();
|
|
323
|
+
} catch (error) {
|
|
324
|
+
log.error(`Test Failure: ${error}`);
|
|
325
|
+
done(error);
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
it('package.json proper dev dependencies should be provided', (done) => {
|
|
329
|
+
try {
|
|
330
|
+
const packageDotJson = require('../../package.json');
|
|
331
|
+
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
332
|
+
assert.notEqual(null, packageDotJson.devDependencies);
|
|
333
|
+
assert.notEqual('', packageDotJson.devDependencies);
|
|
334
|
+
assert.equal('^4.3.4', packageDotJson.devDependencies.chai);
|
|
335
|
+
assert.equal('^7.29.0', packageDotJson.devDependencies.eslint);
|
|
336
|
+
assert.equal('^14.2.1', packageDotJson.devDependencies['eslint-config-airbnb-base']);
|
|
337
|
+
assert.equal('^2.23.4', packageDotJson.devDependencies['eslint-plugin-import']);
|
|
338
|
+
assert.equal('^3.0.0', packageDotJson.devDependencies['eslint-plugin-json']);
|
|
339
|
+
assert.equal('^0.6.3', packageDotJson.devDependencies['package-json-validator']);
|
|
340
|
+
assert.equal('^3.16.1', packageDotJson.devDependencies.testdouble);
|
|
331
341
|
done();
|
|
332
342
|
} catch (error) {
|
|
333
343
|
log.error(`Test Failure: ${error}`);
|
|
@@ -352,8 +362,35 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
352
362
|
try {
|
|
353
363
|
const pronghornDotJson = require('../../pronghorn.json');
|
|
354
364
|
assert.notEqual(-1, pronghornDotJson.id.indexOf('vmware_vcenter'));
|
|
365
|
+
assert.equal('Adapter', pronghornDotJson.type);
|
|
355
366
|
assert.equal('VmwareVCenter', pronghornDotJson.export);
|
|
356
367
|
assert.equal('Vmware_vCenter', pronghornDotJson.title);
|
|
368
|
+
assert.equal('adapter.js', pronghornDotJson.src);
|
|
369
|
+
done();
|
|
370
|
+
} catch (error) {
|
|
371
|
+
log.error(`Test Failure: ${error}`);
|
|
372
|
+
done(error);
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
it('pronghorn.json should contain generic adapter methods', (done) => {
|
|
376
|
+
try {
|
|
377
|
+
const pronghornDotJson = require('../../pronghorn.json');
|
|
378
|
+
assert.notEqual(undefined, pronghornDotJson.methods);
|
|
379
|
+
assert.notEqual(null, pronghornDotJson.methods);
|
|
380
|
+
assert.notEqual('', pronghornDotJson.methods);
|
|
381
|
+
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
382
|
+
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
383
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUpdateAdapterConfiguration'));
|
|
384
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
385
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
386
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
387
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
388
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
389
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapSuspendAdapter'));
|
|
390
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUnsuspendAdapter'));
|
|
391
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterQueue'));
|
|
392
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
393
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequestNoBasePath'));
|
|
357
394
|
done();
|
|
358
395
|
} catch (error) {
|
|
359
396
|
log.error(`Test Failure: ${error}`);
|
|
@@ -492,6 +529,124 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
492
529
|
try {
|
|
493
530
|
const propertiesDotJson = require('../../propertiesSchema.json');
|
|
494
531
|
assert.equal('adapter-vmware_vcenter', propertiesDotJson.$id);
|
|
532
|
+
assert.equal('object', propertiesDotJson.type);
|
|
533
|
+
assert.equal('http://json-schema.org/draft-07/schema#', propertiesDotJson.$schema);
|
|
534
|
+
done();
|
|
535
|
+
} catch (error) {
|
|
536
|
+
log.error(`Test Failure: ${error}`);
|
|
537
|
+
done(error);
|
|
538
|
+
}
|
|
539
|
+
});
|
|
540
|
+
it('propertiesSchema.json should contain generic adapter properties', (done) => {
|
|
541
|
+
try {
|
|
542
|
+
const propertiesDotJson = require('../../propertiesSchema.json');
|
|
543
|
+
assert.notEqual(undefined, propertiesDotJson.properties);
|
|
544
|
+
assert.notEqual(null, propertiesDotJson.properties);
|
|
545
|
+
assert.notEqual('', propertiesDotJson.properties);
|
|
546
|
+
assert.equal('string', propertiesDotJson.properties.host.type);
|
|
547
|
+
assert.equal('integer', propertiesDotJson.properties.port.type);
|
|
548
|
+
assert.equal('boolean', propertiesDotJson.properties.stub.type);
|
|
549
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
|
|
550
|
+
assert.notEqual(null, propertiesDotJson.definitions.authentication);
|
|
551
|
+
assert.notEqual('', propertiesDotJson.definitions.authentication);
|
|
552
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.auth_method.type);
|
|
553
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.username.type);
|
|
554
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.password.type);
|
|
555
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.token.type);
|
|
556
|
+
assert.equal('integer', propertiesDotJson.definitions.authentication.properties.invalid_token_error.type);
|
|
557
|
+
assert.equal('integer', propertiesDotJson.definitions.authentication.properties.token_timeout.type);
|
|
558
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.token_cache.type);
|
|
559
|
+
assert.equal(true, Array.isArray(propertiesDotJson.definitions.authentication.properties.auth_field.type));
|
|
560
|
+
assert.equal(true, Array.isArray(propertiesDotJson.definitions.authentication.properties.auth_field_format.type));
|
|
561
|
+
assert.equal('boolean', propertiesDotJson.definitions.authentication.properties.auth_logging.type);
|
|
562
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_id.type);
|
|
563
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_secret.type);
|
|
564
|
+
assert.equal('string', propertiesDotJson.definitions.authentication.properties.grant_type.type);
|
|
565
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
|
|
566
|
+
assert.notEqual(null, propertiesDotJson.definitions.ssl);
|
|
567
|
+
assert.notEqual('', propertiesDotJson.definitions.ssl);
|
|
568
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.ecdhCurve.type);
|
|
569
|
+
assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.enabled.type);
|
|
570
|
+
assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.accept_invalid_cert.type);
|
|
571
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.ca_file.type);
|
|
572
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.key_file.type);
|
|
573
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.cert_file.type);
|
|
574
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.secure_protocol.type);
|
|
575
|
+
assert.equal('string', propertiesDotJson.definitions.ssl.properties.ciphers.type);
|
|
576
|
+
assert.equal('string', propertiesDotJson.properties.base_path.type);
|
|
577
|
+
assert.equal('string', propertiesDotJson.properties.version.type);
|
|
578
|
+
assert.equal('string', propertiesDotJson.properties.cache_location.type);
|
|
579
|
+
assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
|
|
580
|
+
assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
|
|
581
|
+
assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
|
|
582
|
+
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
583
|
+
assert.notEqual(undefined, propertiesDotJson.definitions);
|
|
584
|
+
assert.notEqual(null, propertiesDotJson.definitions);
|
|
585
|
+
assert.notEqual('', propertiesDotJson.definitions);
|
|
586
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.healthcheck);
|
|
587
|
+
assert.notEqual(null, propertiesDotJson.definitions.healthcheck);
|
|
588
|
+
assert.notEqual('', propertiesDotJson.definitions.healthcheck);
|
|
589
|
+
assert.equal('string', propertiesDotJson.definitions.healthcheck.properties.type.type);
|
|
590
|
+
assert.equal('integer', propertiesDotJson.definitions.healthcheck.properties.frequency.type);
|
|
591
|
+
assert.equal('object', propertiesDotJson.definitions.healthcheck.properties.query_object.type);
|
|
592
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.throttle);
|
|
593
|
+
assert.notEqual(null, propertiesDotJson.definitions.throttle);
|
|
594
|
+
assert.notEqual('', propertiesDotJson.definitions.throttle);
|
|
595
|
+
assert.equal('boolean', propertiesDotJson.definitions.throttle.properties.throttle_enabled.type);
|
|
596
|
+
assert.equal('integer', propertiesDotJson.definitions.throttle.properties.number_pronghorns.type);
|
|
597
|
+
assert.equal('string', propertiesDotJson.definitions.throttle.properties.sync_async.type);
|
|
598
|
+
assert.equal('integer', propertiesDotJson.definitions.throttle.properties.max_in_queue.type);
|
|
599
|
+
assert.equal('integer', propertiesDotJson.definitions.throttle.properties.concurrent_max.type);
|
|
600
|
+
assert.equal('integer', propertiesDotJson.definitions.throttle.properties.expire_timeout.type);
|
|
601
|
+
assert.equal('integer', propertiesDotJson.definitions.throttle.properties.avg_runtime.type);
|
|
602
|
+
assert.equal('array', propertiesDotJson.definitions.throttle.properties.priorities.type);
|
|
603
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.request);
|
|
604
|
+
assert.notEqual(null, propertiesDotJson.definitions.request);
|
|
605
|
+
assert.notEqual('', propertiesDotJson.definitions.request);
|
|
606
|
+
assert.equal('integer', propertiesDotJson.definitions.request.properties.number_redirects.type);
|
|
607
|
+
assert.equal('integer', propertiesDotJson.definitions.request.properties.number_retries.type);
|
|
608
|
+
assert.equal(true, Array.isArray(propertiesDotJson.definitions.request.properties.limit_retry_error.type));
|
|
609
|
+
assert.equal('array', propertiesDotJson.definitions.request.properties.failover_codes.type);
|
|
610
|
+
assert.equal('integer', propertiesDotJson.definitions.request.properties.attempt_timeout.type);
|
|
611
|
+
assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.type);
|
|
612
|
+
assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.payload.type);
|
|
613
|
+
assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.uriOptions.type);
|
|
614
|
+
assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.addlHeaders.type);
|
|
615
|
+
assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.authData.type);
|
|
616
|
+
assert.equal('boolean', propertiesDotJson.definitions.request.properties.healthcheck_on_timeout.type);
|
|
617
|
+
assert.equal('boolean', propertiesDotJson.definitions.request.properties.return_raw.type);
|
|
618
|
+
assert.equal('boolean', propertiesDotJson.definitions.request.properties.archiving.type);
|
|
619
|
+
assert.equal('boolean', propertiesDotJson.definitions.request.properties.return_request.type);
|
|
620
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.proxy);
|
|
621
|
+
assert.notEqual(null, propertiesDotJson.definitions.proxy);
|
|
622
|
+
assert.notEqual('', propertiesDotJson.definitions.proxy);
|
|
623
|
+
assert.equal('boolean', propertiesDotJson.definitions.proxy.properties.enabled.type);
|
|
624
|
+
assert.equal('string', propertiesDotJson.definitions.proxy.properties.host.type);
|
|
625
|
+
assert.equal('integer', propertiesDotJson.definitions.proxy.properties.port.type);
|
|
626
|
+
assert.equal('string', propertiesDotJson.definitions.proxy.properties.protocol.type);
|
|
627
|
+
assert.equal('string', propertiesDotJson.definitions.proxy.properties.username.type);
|
|
628
|
+
assert.equal('string', propertiesDotJson.definitions.proxy.properties.password.type);
|
|
629
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.mongo);
|
|
630
|
+
assert.notEqual(null, propertiesDotJson.definitions.mongo);
|
|
631
|
+
assert.notEqual('', propertiesDotJson.definitions.mongo);
|
|
632
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.host.type);
|
|
633
|
+
assert.equal('integer', propertiesDotJson.definitions.mongo.properties.port.type);
|
|
634
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.database.type);
|
|
635
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.username.type);
|
|
636
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.password.type);
|
|
637
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.replSet.type);
|
|
638
|
+
assert.equal('object', propertiesDotJson.definitions.mongo.properties.db_ssl.type);
|
|
639
|
+
assert.equal('boolean', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.enabled.type);
|
|
640
|
+
assert.equal('boolean', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.accept_invalid_cert.type);
|
|
641
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.ca_file.type);
|
|
642
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.key_file.type);
|
|
643
|
+
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.cert_file.type);
|
|
644
|
+
assert.notEqual('', propertiesDotJson.definitions.devicebroker);
|
|
645
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevice.type);
|
|
646
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevicesFiltered.type);
|
|
647
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.isAlive.type);
|
|
648
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getConfig.type);
|
|
649
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getCount.type);
|
|
495
650
|
done();
|
|
496
651
|
} catch (error) {
|
|
497
652
|
log.error(`Test Failure: ${error}`);
|
|
@@ -512,6 +667,50 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
512
667
|
done(error);
|
|
513
668
|
}
|
|
514
669
|
});
|
|
670
|
+
it('error.json should have standard adapter errors', (done) => {
|
|
671
|
+
try {
|
|
672
|
+
const errorDotJson = require('../../error.json');
|
|
673
|
+
assert.notEqual(undefined, errorDotJson.errors);
|
|
674
|
+
assert.notEqual(null, errorDotJson.errors);
|
|
675
|
+
assert.notEqual('', errorDotJson.errors);
|
|
676
|
+
assert.equal(true, Array.isArray(errorDotJson.errors));
|
|
677
|
+
assert.notEqual(0, errorDotJson.errors.length);
|
|
678
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.100'));
|
|
679
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.101'));
|
|
680
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.102'));
|
|
681
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.110'));
|
|
682
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.111'));
|
|
683
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.112'));
|
|
684
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.113'));
|
|
685
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.114'));
|
|
686
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.115'));
|
|
687
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.116'));
|
|
688
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.300'));
|
|
689
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.301'));
|
|
690
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.302'));
|
|
691
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.303'));
|
|
692
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.304'));
|
|
693
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.305'));
|
|
694
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.310'));
|
|
695
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.311'));
|
|
696
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.312'));
|
|
697
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.320'));
|
|
698
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.321'));
|
|
699
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.400'));
|
|
700
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.401'));
|
|
701
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.402'));
|
|
702
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.500'));
|
|
703
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.501'));
|
|
704
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.502'));
|
|
705
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.503'));
|
|
706
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.600'));
|
|
707
|
+
assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.900'));
|
|
708
|
+
done();
|
|
709
|
+
} catch (error) {
|
|
710
|
+
log.error(`Test Failure: ${error}`);
|
|
711
|
+
done(error);
|
|
712
|
+
}
|
|
713
|
+
});
|
|
515
714
|
});
|
|
516
715
|
|
|
517
716
|
describe('sampleProperties.json', () => {
|
|
@@ -526,6 +725,121 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
526
725
|
done(error);
|
|
527
726
|
}
|
|
528
727
|
});
|
|
728
|
+
it('sampleProperties.json should contain generic adapter properties', (done) => {
|
|
729
|
+
try {
|
|
730
|
+
const sampleDotJson = require('../../sampleProperties.json');
|
|
731
|
+
assert.notEqual(-1, sampleDotJson.id.indexOf('vmware_vcenter'));
|
|
732
|
+
assert.equal('VmwareVCenter', sampleDotJson.type);
|
|
733
|
+
assert.notEqual(undefined, sampleDotJson.properties);
|
|
734
|
+
assert.notEqual(null, sampleDotJson.properties);
|
|
735
|
+
assert.notEqual('', sampleDotJson.properties);
|
|
736
|
+
assert.notEqual(undefined, sampleDotJson.properties.host);
|
|
737
|
+
assert.notEqual(undefined, sampleDotJson.properties.port);
|
|
738
|
+
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
739
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication);
|
|
740
|
+
assert.notEqual(null, sampleDotJson.properties.authentication);
|
|
741
|
+
assert.notEqual('', sampleDotJson.properties.authentication);
|
|
742
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_method);
|
|
743
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.username);
|
|
744
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.password);
|
|
745
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.token);
|
|
746
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.invalid_token_error);
|
|
747
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.token_timeout);
|
|
748
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.token_cache);
|
|
749
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_field);
|
|
750
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_field_format);
|
|
751
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_logging);
|
|
752
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.client_id);
|
|
753
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.client_secret);
|
|
754
|
+
assert.notEqual(undefined, sampleDotJson.properties.authentication.grant_type);
|
|
755
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl);
|
|
756
|
+
assert.notEqual(null, sampleDotJson.properties.ssl);
|
|
757
|
+
assert.notEqual('', sampleDotJson.properties.ssl);
|
|
758
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.ecdhCurve);
|
|
759
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.enabled);
|
|
760
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.accept_invalid_cert);
|
|
761
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.ca_file);
|
|
762
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.key_file);
|
|
763
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.cert_file);
|
|
764
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.secure_protocol);
|
|
765
|
+
assert.notEqual(undefined, sampleDotJson.properties.ssl.ciphers);
|
|
766
|
+
assert.notEqual(undefined, sampleDotJson.properties.base_path);
|
|
767
|
+
assert.notEqual(undefined, sampleDotJson.properties.version);
|
|
768
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache_location);
|
|
769
|
+
assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
|
|
770
|
+
assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
|
|
771
|
+
assert.notEqual(undefined, sampleDotJson.properties.save_metric);
|
|
772
|
+
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
773
|
+
assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
|
|
774
|
+
assert.notEqual(null, sampleDotJson.properties.healthcheck);
|
|
775
|
+
assert.notEqual('', sampleDotJson.properties.healthcheck);
|
|
776
|
+
assert.notEqual(undefined, sampleDotJson.properties.healthcheck.type);
|
|
777
|
+
assert.notEqual(undefined, sampleDotJson.properties.healthcheck.frequency);
|
|
778
|
+
assert.notEqual(undefined, sampleDotJson.properties.healthcheck.query_object);
|
|
779
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle);
|
|
780
|
+
assert.notEqual(null, sampleDotJson.properties.throttle);
|
|
781
|
+
assert.notEqual('', sampleDotJson.properties.throttle);
|
|
782
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.throttle_enabled);
|
|
783
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.number_pronghorns);
|
|
784
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.sync_async);
|
|
785
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.max_in_queue);
|
|
786
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.concurrent_max);
|
|
787
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.expire_timeout);
|
|
788
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.avg_runtime);
|
|
789
|
+
assert.notEqual(undefined, sampleDotJson.properties.throttle.priorities);
|
|
790
|
+
assert.notEqual(undefined, sampleDotJson.properties.request);
|
|
791
|
+
assert.notEqual(null, sampleDotJson.properties.request);
|
|
792
|
+
assert.notEqual('', sampleDotJson.properties.request);
|
|
793
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.number_redirects);
|
|
794
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.number_retries);
|
|
795
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.limit_retry_error);
|
|
796
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.failover_codes);
|
|
797
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.attempt_timeout);
|
|
798
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.global_request);
|
|
799
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.global_request.payload);
|
|
800
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.global_request.uriOptions);
|
|
801
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.global_request.addlHeaders);
|
|
802
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.global_request.authData);
|
|
803
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.healthcheck_on_timeout);
|
|
804
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.return_raw);
|
|
805
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.archiving);
|
|
806
|
+
assert.notEqual(undefined, sampleDotJson.properties.request.return_request);
|
|
807
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy);
|
|
808
|
+
assert.notEqual(null, sampleDotJson.properties.proxy);
|
|
809
|
+
assert.notEqual('', sampleDotJson.properties.proxy);
|
|
810
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.enabled);
|
|
811
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.host);
|
|
812
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.port);
|
|
813
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.protocol);
|
|
814
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.username);
|
|
815
|
+
assert.notEqual(undefined, sampleDotJson.properties.proxy.password);
|
|
816
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo);
|
|
817
|
+
assert.notEqual(null, sampleDotJson.properties.mongo);
|
|
818
|
+
assert.notEqual('', sampleDotJson.properties.mongo);
|
|
819
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.host);
|
|
820
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.port);
|
|
821
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.database);
|
|
822
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.username);
|
|
823
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.password);
|
|
824
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.replSet);
|
|
825
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl);
|
|
826
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.enabled);
|
|
827
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.accept_invalid_cert);
|
|
828
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.ca_file);
|
|
829
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.key_file);
|
|
830
|
+
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.cert_file);
|
|
831
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker);
|
|
832
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevice);
|
|
833
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevicesFiltered);
|
|
834
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
835
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
836
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
837
|
+
done();
|
|
838
|
+
} catch (error) {
|
|
839
|
+
log.error(`Test Failure: ${error}`);
|
|
840
|
+
done(error);
|
|
841
|
+
}
|
|
842
|
+
});
|
|
529
843
|
});
|
|
530
844
|
|
|
531
845
|
describe('#checkProperties', () => {
|
|
@@ -613,10 +927,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
613
927
|
});
|
|
614
928
|
});
|
|
615
929
|
|
|
616
|
-
describe('#
|
|
617
|
-
it('should have a
|
|
930
|
+
describe('#iapUpdateAdapterConfiguration', () => {
|
|
931
|
+
it('should have a iapUpdateAdapterConfiguration function', (done) => {
|
|
618
932
|
try {
|
|
619
|
-
assert.equal(true, typeof a.
|
|
933
|
+
assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
|
|
620
934
|
done();
|
|
621
935
|
} catch (error) {
|
|
622
936
|
log.error(`Test Failure: ${error}`);
|
|
@@ -625,19 +939,19 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
625
939
|
});
|
|
626
940
|
});
|
|
627
941
|
|
|
628
|
-
describe('#
|
|
629
|
-
it('should have a
|
|
942
|
+
describe('#iapFindAdapterPath', () => {
|
|
943
|
+
it('should have a iapFindAdapterPath function', (done) => {
|
|
630
944
|
try {
|
|
631
|
-
assert.equal(true, typeof a.
|
|
945
|
+
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
632
946
|
done();
|
|
633
947
|
} catch (error) {
|
|
634
948
|
log.error(`Test Failure: ${error}`);
|
|
635
949
|
done(error);
|
|
636
950
|
}
|
|
637
951
|
});
|
|
638
|
-
it('
|
|
952
|
+
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
639
953
|
try {
|
|
640
|
-
a.
|
|
954
|
+
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
641
955
|
try {
|
|
642
956
|
assert.equal(undefined, error);
|
|
643
957
|
assert.notEqual(undefined, data);
|
|
@@ -659,10 +973,22 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
659
973
|
}).timeout(attemptTimeout);
|
|
660
974
|
});
|
|
661
975
|
|
|
662
|
-
describe('#
|
|
663
|
-
it('should have a
|
|
976
|
+
describe('#iapSuspendAdapter', () => {
|
|
977
|
+
it('should have a iapSuspendAdapter function', (done) => {
|
|
978
|
+
try {
|
|
979
|
+
assert.equal(true, typeof a.iapSuspendAdapter === 'function');
|
|
980
|
+
done();
|
|
981
|
+
} catch (error) {
|
|
982
|
+
log.error(`Test Failure: ${error}`);
|
|
983
|
+
done(error);
|
|
984
|
+
}
|
|
985
|
+
});
|
|
986
|
+
});
|
|
987
|
+
|
|
988
|
+
describe('#iapUnsuspendAdapter', () => {
|
|
989
|
+
it('should have a iapUnsuspendAdapter function', (done) => {
|
|
664
990
|
try {
|
|
665
|
-
assert.equal(true, typeof a.
|
|
991
|
+
assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
|
|
666
992
|
done();
|
|
667
993
|
} catch (error) {
|
|
668
994
|
log.error(`Test Failure: ${error}`);
|
|
@@ -671,10 +997,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
671
997
|
});
|
|
672
998
|
});
|
|
673
999
|
|
|
674
|
-
describe('#
|
|
675
|
-
it('should have a
|
|
1000
|
+
describe('#iapGetAdapterQueue', () => {
|
|
1001
|
+
it('should have a iapGetAdapterQueue function', (done) => {
|
|
676
1002
|
try {
|
|
677
|
-
assert.equal(true, typeof a.
|
|
1003
|
+
assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
|
|
678
1004
|
done();
|
|
679
1005
|
} catch (error) {
|
|
680
1006
|
log.error(`Test Failure: ${error}`);
|
|
@@ -683,10 +1009,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
683
1009
|
});
|
|
684
1010
|
});
|
|
685
1011
|
|
|
686
|
-
describe('#
|
|
687
|
-
it('should have a
|
|
1012
|
+
describe('#iapTroubleshootAdapter', () => {
|
|
1013
|
+
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
688
1014
|
try {
|
|
689
|
-
assert.equal(true, typeof a.
|
|
1015
|
+
assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
|
|
690
1016
|
done();
|
|
691
1017
|
} catch (error) {
|
|
692
1018
|
log.error(`Test Failure: ${error}`);
|
|
@@ -695,10 +1021,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
695
1021
|
});
|
|
696
1022
|
});
|
|
697
1023
|
|
|
698
|
-
describe('#
|
|
699
|
-
it('should have a
|
|
1024
|
+
describe('#iapRunAdapterHealthcheck', () => {
|
|
1025
|
+
it('should have a iapRunAdapterHealthcheck function', (done) => {
|
|
700
1026
|
try {
|
|
701
|
-
assert.equal(true, typeof a.
|
|
1027
|
+
assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
|
|
702
1028
|
done();
|
|
703
1029
|
} catch (error) {
|
|
704
1030
|
log.error(`Test Failure: ${error}`);
|
|
@@ -707,10 +1033,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
707
1033
|
});
|
|
708
1034
|
});
|
|
709
1035
|
|
|
710
|
-
describe('#
|
|
711
|
-
it('should have a
|
|
1036
|
+
describe('#iapRunAdapterConnectivity', () => {
|
|
1037
|
+
it('should have a iapRunAdapterConnectivity function', (done) => {
|
|
712
1038
|
try {
|
|
713
|
-
assert.equal(true, typeof a.
|
|
1039
|
+
assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
|
|
714
1040
|
done();
|
|
715
1041
|
} catch (error) {
|
|
716
1042
|
log.error(`Test Failure: ${error}`);
|
|
@@ -719,10 +1045,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
719
1045
|
});
|
|
720
1046
|
});
|
|
721
1047
|
|
|
722
|
-
describe('#
|
|
723
|
-
it('should have a
|
|
1048
|
+
describe('#iapRunAdapterBasicGet', () => {
|
|
1049
|
+
it('should have a iapRunAdapterBasicGet function', (done) => {
|
|
724
1050
|
try {
|
|
725
|
-
assert.equal(true, typeof a.
|
|
1051
|
+
assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
|
|
726
1052
|
done();
|
|
727
1053
|
} catch (error) {
|
|
728
1054
|
log.error(`Test Failure: ${error}`);
|
|
@@ -731,10 +1057,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
731
1057
|
});
|
|
732
1058
|
});
|
|
733
1059
|
|
|
734
|
-
describe('#
|
|
735
|
-
it('should have a
|
|
1060
|
+
describe('#iapMoveAdapterEntitiesToDB', () => {
|
|
1061
|
+
it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
|
|
736
1062
|
try {
|
|
737
|
-
assert.equal(true, typeof a.
|
|
1063
|
+
assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
|
|
738
1064
|
done();
|
|
739
1065
|
} catch (error) {
|
|
740
1066
|
log.error(`Test Failure: ${error}`);
|
|
@@ -828,10 +1154,10 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
828
1154
|
}).timeout(attemptTimeout);
|
|
829
1155
|
});
|
|
830
1156
|
|
|
831
|
-
// describe('#
|
|
832
|
-
// it('should have a
|
|
1157
|
+
// describe('#iapHasAdapterEntity', () => {
|
|
1158
|
+
// it('should have a iapHasAdapterEntity function', (done) => {
|
|
833
1159
|
// try {
|
|
834
|
-
// assert.equal(true, typeof a.
|
|
1160
|
+
// assert.equal(true, typeof a.iapHasAdapterEntity === 'function');
|
|
835
1161
|
// done();
|
|
836
1162
|
// } catch (error) {
|
|
837
1163
|
// log.error(`Test Failure: ${error}`);
|
|
@@ -840,7 +1166,7 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
840
1166
|
// });
|
|
841
1167
|
// it('should find entity', (done) => {
|
|
842
1168
|
// try {
|
|
843
|
-
// a.
|
|
1169
|
+
// a.iapHasAdapterEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
|
|
844
1170
|
// try {
|
|
845
1171
|
// assert.equal(true, data[0]);
|
|
846
1172
|
// done();
|
|
@@ -856,7 +1182,7 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
856
1182
|
// }).timeout(attemptTimeout);
|
|
857
1183
|
// it('should not find entity', (done) => {
|
|
858
1184
|
// try {
|
|
859
|
-
// a.
|
|
1185
|
+
// a.iapHasAdapterEntity('template_entity', 'blah', (data) => {
|
|
860
1186
|
// try {
|
|
861
1187
|
// assert.equal(false, data[0]);
|
|
862
1188
|
// done();
|
|
@@ -872,6 +1198,78 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
872
1198
|
// }).timeout(attemptTimeout);
|
|
873
1199
|
// });
|
|
874
1200
|
|
|
1201
|
+
describe('#hasEntities', () => {
|
|
1202
|
+
it('should have a hasEntities function', (done) => {
|
|
1203
|
+
try {
|
|
1204
|
+
assert.equal(true, typeof a.hasEntities === 'function');
|
|
1205
|
+
done();
|
|
1206
|
+
} catch (error) {
|
|
1207
|
+
log.error(`Test Failure: ${error}`);
|
|
1208
|
+
done(error);
|
|
1209
|
+
}
|
|
1210
|
+
});
|
|
1211
|
+
});
|
|
1212
|
+
|
|
1213
|
+
describe('#getDevice', () => {
|
|
1214
|
+
it('should have a getDevice function', (done) => {
|
|
1215
|
+
try {
|
|
1216
|
+
assert.equal(true, typeof a.getDevice === 'function');
|
|
1217
|
+
done();
|
|
1218
|
+
} catch (error) {
|
|
1219
|
+
log.error(`Test Failure: ${error}`);
|
|
1220
|
+
done(error);
|
|
1221
|
+
}
|
|
1222
|
+
});
|
|
1223
|
+
});
|
|
1224
|
+
|
|
1225
|
+
describe('#getDevicesFiltered', () => {
|
|
1226
|
+
it('should have a getDevicesFiltered function', (done) => {
|
|
1227
|
+
try {
|
|
1228
|
+
assert.equal(true, typeof a.getDevicesFiltered === 'function');
|
|
1229
|
+
done();
|
|
1230
|
+
} catch (error) {
|
|
1231
|
+
log.error(`Test Failure: ${error}`);
|
|
1232
|
+
done(error);
|
|
1233
|
+
}
|
|
1234
|
+
});
|
|
1235
|
+
});
|
|
1236
|
+
|
|
1237
|
+
describe('#isAlive', () => {
|
|
1238
|
+
it('should have a isAlive function', (done) => {
|
|
1239
|
+
try {
|
|
1240
|
+
assert.equal(true, typeof a.isAlive === 'function');
|
|
1241
|
+
done();
|
|
1242
|
+
} catch (error) {
|
|
1243
|
+
log.error(`Test Failure: ${error}`);
|
|
1244
|
+
done(error);
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
});
|
|
1248
|
+
|
|
1249
|
+
describe('#getConfig', () => {
|
|
1250
|
+
it('should have a getConfig function', (done) => {
|
|
1251
|
+
try {
|
|
1252
|
+
assert.equal(true, typeof a.getConfig === 'function');
|
|
1253
|
+
done();
|
|
1254
|
+
} catch (error) {
|
|
1255
|
+
log.error(`Test Failure: ${error}`);
|
|
1256
|
+
done(error);
|
|
1257
|
+
}
|
|
1258
|
+
});
|
|
1259
|
+
});
|
|
1260
|
+
|
|
1261
|
+
describe('#iapGetDeviceCount', () => {
|
|
1262
|
+
it('should have a iapGetDeviceCount function', (done) => {
|
|
1263
|
+
try {
|
|
1264
|
+
assert.equal(true, typeof a.iapGetDeviceCount === 'function');
|
|
1265
|
+
done();
|
|
1266
|
+
} catch (error) {
|
|
1267
|
+
log.error(`Test Failure: ${error}`);
|
|
1268
|
+
done(error);
|
|
1269
|
+
}
|
|
1270
|
+
});
|
|
1271
|
+
});
|
|
1272
|
+
|
|
875
1273
|
/*
|
|
876
1274
|
-----------------------------------------------------------------------
|
|
877
1275
|
-----------------------------------------------------------------------
|
|
@@ -4366,5 +4764,51 @@ describe('[unit] Vmware_vCenter Adapter Test', () => {
|
|
|
4366
4764
|
}
|
|
4367
4765
|
}).timeout(attemptTimeout);
|
|
4368
4766
|
});
|
|
4767
|
+
|
|
4768
|
+
describe('#postVcentervmtemplatedeploy - errors', () => {
|
|
4769
|
+
it('should have a postVcentervmtemplatedeploy function', (done) => {
|
|
4770
|
+
try {
|
|
4771
|
+
assert.equal(true, typeof a.postVcentervmtemplatedeploy === 'function');
|
|
4772
|
+
done();
|
|
4773
|
+
} catch (error) {
|
|
4774
|
+
log.error(`Test Failure: ${error}`);
|
|
4775
|
+
done(error);
|
|
4776
|
+
}
|
|
4777
|
+
}).timeout(attemptTimeout);
|
|
4778
|
+
it('should error if - missing item', (done) => {
|
|
4779
|
+
try {
|
|
4780
|
+
a.postVcentervmtemplatedeploy(null, null, (data, error) => {
|
|
4781
|
+
try {
|
|
4782
|
+
const displayE = 'item is required';
|
|
4783
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-vmware_vcenter-adapter-postVcentervmtemplatedeploy', displayE);
|
|
4784
|
+
done();
|
|
4785
|
+
} catch (err) {
|
|
4786
|
+
log.error(`Test Failure: ${err}`);
|
|
4787
|
+
done(err);
|
|
4788
|
+
}
|
|
4789
|
+
});
|
|
4790
|
+
} catch (error) {
|
|
4791
|
+
log.error(`Adapter Exception: ${error}`);
|
|
4792
|
+
done(error);
|
|
4793
|
+
}
|
|
4794
|
+
}).timeout(attemptTimeout);
|
|
4795
|
+
it('should error if - missing requestBody', (done) => {
|
|
4796
|
+
try {
|
|
4797
|
+
a.postVcentervmtemplatedeploy('fakedata', null, (data, error) => {
|
|
4798
|
+
try {
|
|
4799
|
+
const displayE = 'requestBody is required';
|
|
4800
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-vmware_vcenter-adapter-postVcentervmtemplatedeploy', displayE);
|
|
4801
|
+
done();
|
|
4802
|
+
} catch (err) {
|
|
4803
|
+
log.error(`Test Failure: ${err}`);
|
|
4804
|
+
done(err);
|
|
4805
|
+
}
|
|
4806
|
+
});
|
|
4807
|
+
} catch (error) {
|
|
4808
|
+
log.error(`Adapter Exception: ${error}`);
|
|
4809
|
+
done(error);
|
|
4810
|
+
}
|
|
4811
|
+
}).timeout(attemptTimeout);
|
|
4812
|
+
});
|
|
4369
4813
|
});
|
|
4370
4814
|
});
|