@itentialopensource/adapter-terraform_enterprise 0.1.4 → 0.2.1
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 +31 -11
- 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 +432 -141
- package/adapterBase.js +1021 -245
- package/entities/.generic/action.json +110 -5
- package/entities/.generic/schema.json +6 -1
- package/error.json +12 -0
- package/package.json +20 -13
- package/pronghorn.json +338 -67
- 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/updateReport1653324214945.json +120 -0
- package/sampleProperties.json +95 -3
- package/test/integration/adapterTestBasicGet.js +2 -2
- package/test/integration/adapterTestIntegration.js +29 -105
- package/test/unit/adapterBaseTestUnit.js +35 -27
- package/test/unit/adapterTestUnit.js +540 -144
- 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,101 +55,7 @@ global.pronghornProps = {
|
|
|
45
55
|
adapters: [{
|
|
46
56
|
id: 'Test-terraform_enterprise',
|
|
47
57
|
type: 'Terraform',
|
|
48
|
-
properties:
|
|
49
|
-
host,
|
|
50
|
-
port,
|
|
51
|
-
base_path: '/api',
|
|
52
|
-
version: 'v2',
|
|
53
|
-
cache_location: 'none',
|
|
54
|
-
encode_pathvars: true,
|
|
55
|
-
save_metric: false,
|
|
56
|
-
stub,
|
|
57
|
-
protocol,
|
|
58
|
-
authentication: {
|
|
59
|
-
auth_method: 'static_token',
|
|
60
|
-
username,
|
|
61
|
-
password,
|
|
62
|
-
token: '',
|
|
63
|
-
invalid_token_error: 401,
|
|
64
|
-
token_timeout: -1,
|
|
65
|
-
token_cache: 'local',
|
|
66
|
-
auth_field: 'header.headers.Authorization',
|
|
67
|
-
auth_field_format: '{token}',
|
|
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
|
-
'Content-Type': 'application/vnd.api+json'
|
|
101
|
-
},
|
|
102
|
-
authData: {}
|
|
103
|
-
},
|
|
104
|
-
healthcheck_on_timeout: true,
|
|
105
|
-
return_raw: true,
|
|
106
|
-
archiving: false,
|
|
107
|
-
return_request: false
|
|
108
|
-
},
|
|
109
|
-
proxy: {
|
|
110
|
-
enabled: false,
|
|
111
|
-
host: '',
|
|
112
|
-
port: 1,
|
|
113
|
-
protocol: 'http',
|
|
114
|
-
username: '',
|
|
115
|
-
password: ''
|
|
116
|
-
},
|
|
117
|
-
ssl: {
|
|
118
|
-
ecdhCurve: '',
|
|
119
|
-
enabled: sslenable,
|
|
120
|
-
accept_invalid_cert: sslinvalid,
|
|
121
|
-
ca_file: '',
|
|
122
|
-
key_file: '',
|
|
123
|
-
cert_file: '',
|
|
124
|
-
secure_protocol: '',
|
|
125
|
-
ciphers: ''
|
|
126
|
-
},
|
|
127
|
-
mongo: {
|
|
128
|
-
host: '',
|
|
129
|
-
port: 0,
|
|
130
|
-
database: '',
|
|
131
|
-
username: '',
|
|
132
|
-
password: '',
|
|
133
|
-
replSet: '',
|
|
134
|
-
db_ssl: {
|
|
135
|
-
enabled: false,
|
|
136
|
-
accept_invalid_cert: false,
|
|
137
|
-
ca_file: '',
|
|
138
|
-
key_file: '',
|
|
139
|
-
cert_file: ''
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
58
|
+
properties: samProps
|
|
143
59
|
}]
|
|
144
60
|
}
|
|
145
61
|
};
|
|
@@ -200,7 +116,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
|
|
|
200
116
|
}
|
|
201
117
|
|
|
202
118
|
// require the adapter that we are going to be using
|
|
203
|
-
const Terraform = require('../../adapter
|
|
119
|
+
const Terraform = require('../../adapter');
|
|
204
120
|
|
|
205
121
|
// delete the .DS_Store directory in entities -- otherwise this will cause errors
|
|
206
122
|
const dirPath = path.join(__dirname, '../../entities/.DS_Store');
|
|
@@ -242,6 +158,8 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
242
158
|
try {
|
|
243
159
|
assert.notEqual(null, a);
|
|
244
160
|
assert.notEqual(undefined, a);
|
|
161
|
+
const checkId = global.pronghornProps.adapterProps.adapters[0].id;
|
|
162
|
+
assert.equal(checkId, a.id);
|
|
245
163
|
assert.notEqual(null, a.allProps);
|
|
246
164
|
const check = global.pronghornProps.adapterProps.adapters[0].properties.healthcheck.type;
|
|
247
165
|
assert.equal(check, a.healthcheckType);
|
|
@@ -268,10 +186,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
268
186
|
});
|
|
269
187
|
|
|
270
188
|
let wffunctions = [];
|
|
271
|
-
describe('#
|
|
189
|
+
describe('#iapGetAdapterWorkflowFunctions', () => {
|
|
272
190
|
it('should retrieve workflow functions', (done) => {
|
|
273
191
|
try {
|
|
274
|
-
wffunctions = a.
|
|
192
|
+
wffunctions = a.iapGetAdapterWorkflowFunctions([]);
|
|
275
193
|
|
|
276
194
|
try {
|
|
277
195
|
assert.notEqual(0, wffunctions.length);
|
|
@@ -323,13 +241,103 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
323
241
|
done(error);
|
|
324
242
|
}
|
|
325
243
|
});
|
|
326
|
-
it('package.json should be customized', (done) => {
|
|
244
|
+
it('package.json standard fields should be customized', (done) => {
|
|
327
245
|
try {
|
|
328
246
|
const packageDotJson = require('../../package.json');
|
|
329
247
|
assert.notEqual(-1, packageDotJson.name.indexOf('terraform_enterprise'));
|
|
330
248
|
assert.notEqual(undefined, packageDotJson.version);
|
|
331
249
|
assert.notEqual(null, packageDotJson.version);
|
|
332
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);
|
|
333
341
|
done();
|
|
334
342
|
} catch (error) {
|
|
335
343
|
log.error(`Test Failure: ${error}`);
|
|
@@ -354,8 +362,35 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
354
362
|
try {
|
|
355
363
|
const pronghornDotJson = require('../../pronghorn.json');
|
|
356
364
|
assert.notEqual(-1, pronghornDotJson.id.indexOf('terraform_enterprise'));
|
|
365
|
+
assert.equal('Adapter', pronghornDotJson.type);
|
|
357
366
|
assert.equal('Terraform', pronghornDotJson.export);
|
|
358
367
|
assert.equal('TerraformEnterprise', 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'));
|
|
359
394
|
done();
|
|
360
395
|
} catch (error) {
|
|
361
396
|
log.error(`Test Failure: ${error}`);
|
|
@@ -494,6 +529,124 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
494
529
|
try {
|
|
495
530
|
const propertiesDotJson = require('../../propertiesSchema.json');
|
|
496
531
|
assert.equal('adapter-terraform_enterprise', 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);
|
|
497
650
|
done();
|
|
498
651
|
} catch (error) {
|
|
499
652
|
log.error(`Test Failure: ${error}`);
|
|
@@ -514,6 +667,50 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
514
667
|
done(error);
|
|
515
668
|
}
|
|
516
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
|
+
});
|
|
517
714
|
});
|
|
518
715
|
|
|
519
716
|
describe('sampleProperties.json', () => {
|
|
@@ -528,6 +725,121 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
528
725
|
done(error);
|
|
529
726
|
}
|
|
530
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('terraform_enterprise'));
|
|
732
|
+
assert.equal('Terraform', 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
|
+
});
|
|
531
843
|
});
|
|
532
844
|
|
|
533
845
|
describe('#checkProperties', () => {
|
|
@@ -615,10 +927,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
615
927
|
});
|
|
616
928
|
});
|
|
617
929
|
|
|
618
|
-
describe('#
|
|
619
|
-
it('should have a
|
|
930
|
+
describe('#iapUpdateAdapterConfiguration', () => {
|
|
931
|
+
it('should have a iapUpdateAdapterConfiguration function', (done) => {
|
|
620
932
|
try {
|
|
621
|
-
assert.equal(true, typeof a.
|
|
933
|
+
assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
|
|
622
934
|
done();
|
|
623
935
|
} catch (error) {
|
|
624
936
|
log.error(`Test Failure: ${error}`);
|
|
@@ -627,19 +939,19 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
627
939
|
});
|
|
628
940
|
});
|
|
629
941
|
|
|
630
|
-
describe('#
|
|
631
|
-
it('should have a
|
|
942
|
+
describe('#iapFindAdapterPath', () => {
|
|
943
|
+
it('should have a iapFindAdapterPath function', (done) => {
|
|
632
944
|
try {
|
|
633
|
-
assert.equal(true, typeof a.
|
|
945
|
+
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
634
946
|
done();
|
|
635
947
|
} catch (error) {
|
|
636
948
|
log.error(`Test Failure: ${error}`);
|
|
637
949
|
done(error);
|
|
638
950
|
}
|
|
639
951
|
});
|
|
640
|
-
it('
|
|
952
|
+
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
641
953
|
try {
|
|
642
|
-
a.
|
|
954
|
+
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
643
955
|
try {
|
|
644
956
|
assert.equal(undefined, error);
|
|
645
957
|
assert.notEqual(undefined, data);
|
|
@@ -661,10 +973,22 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
661
973
|
}).timeout(attemptTimeout);
|
|
662
974
|
});
|
|
663
975
|
|
|
664
|
-
describe('#
|
|
665
|
-
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) => {
|
|
666
990
|
try {
|
|
667
|
-
assert.equal(true, typeof a.
|
|
991
|
+
assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
|
|
668
992
|
done();
|
|
669
993
|
} catch (error) {
|
|
670
994
|
log.error(`Test Failure: ${error}`);
|
|
@@ -673,10 +997,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
673
997
|
});
|
|
674
998
|
});
|
|
675
999
|
|
|
676
|
-
describe('#
|
|
677
|
-
it('should have a
|
|
1000
|
+
describe('#iapGetAdapterQueue', () => {
|
|
1001
|
+
it('should have a iapGetAdapterQueue function', (done) => {
|
|
678
1002
|
try {
|
|
679
|
-
assert.equal(true, typeof a.
|
|
1003
|
+
assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
|
|
680
1004
|
done();
|
|
681
1005
|
} catch (error) {
|
|
682
1006
|
log.error(`Test Failure: ${error}`);
|
|
@@ -685,10 +1009,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
685
1009
|
});
|
|
686
1010
|
});
|
|
687
1011
|
|
|
688
|
-
describe('#
|
|
689
|
-
it('should have a
|
|
1012
|
+
describe('#iapTroubleshootAdapter', () => {
|
|
1013
|
+
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
690
1014
|
try {
|
|
691
|
-
assert.equal(true, typeof a.
|
|
1015
|
+
assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
|
|
692
1016
|
done();
|
|
693
1017
|
} catch (error) {
|
|
694
1018
|
log.error(`Test Failure: ${error}`);
|
|
@@ -697,10 +1021,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
697
1021
|
});
|
|
698
1022
|
});
|
|
699
1023
|
|
|
700
|
-
describe('#
|
|
701
|
-
it('should have a
|
|
1024
|
+
describe('#iapRunAdapterHealthcheck', () => {
|
|
1025
|
+
it('should have a iapRunAdapterHealthcheck function', (done) => {
|
|
702
1026
|
try {
|
|
703
|
-
assert.equal(true, typeof a.
|
|
1027
|
+
assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
|
|
704
1028
|
done();
|
|
705
1029
|
} catch (error) {
|
|
706
1030
|
log.error(`Test Failure: ${error}`);
|
|
@@ -709,10 +1033,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
709
1033
|
});
|
|
710
1034
|
});
|
|
711
1035
|
|
|
712
|
-
describe('#
|
|
713
|
-
it('should have a
|
|
1036
|
+
describe('#iapRunAdapterConnectivity', () => {
|
|
1037
|
+
it('should have a iapRunAdapterConnectivity function', (done) => {
|
|
714
1038
|
try {
|
|
715
|
-
assert.equal(true, typeof a.
|
|
1039
|
+
assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
|
|
716
1040
|
done();
|
|
717
1041
|
} catch (error) {
|
|
718
1042
|
log.error(`Test Failure: ${error}`);
|
|
@@ -721,10 +1045,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
721
1045
|
});
|
|
722
1046
|
});
|
|
723
1047
|
|
|
724
|
-
describe('#
|
|
725
|
-
it('should have a
|
|
1048
|
+
describe('#iapRunAdapterBasicGet', () => {
|
|
1049
|
+
it('should have a iapRunAdapterBasicGet function', (done) => {
|
|
726
1050
|
try {
|
|
727
|
-
assert.equal(true, typeof a.
|
|
1051
|
+
assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
|
|
728
1052
|
done();
|
|
729
1053
|
} catch (error) {
|
|
730
1054
|
log.error(`Test Failure: ${error}`);
|
|
@@ -733,10 +1057,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
733
1057
|
});
|
|
734
1058
|
});
|
|
735
1059
|
|
|
736
|
-
describe('#
|
|
737
|
-
it('should have a
|
|
1060
|
+
describe('#iapMoveAdapterEntitiesToDB', () => {
|
|
1061
|
+
it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
|
|
738
1062
|
try {
|
|
739
|
-
assert.equal(true, typeof a.
|
|
1063
|
+
assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
|
|
740
1064
|
done();
|
|
741
1065
|
} catch (error) {
|
|
742
1066
|
log.error(`Test Failure: ${error}`);
|
|
@@ -830,10 +1154,10 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
830
1154
|
}).timeout(attemptTimeout);
|
|
831
1155
|
});
|
|
832
1156
|
|
|
833
|
-
// describe('#
|
|
834
|
-
// it('should have a
|
|
1157
|
+
// describe('#iapHasAdapterEntity', () => {
|
|
1158
|
+
// it('should have a iapHasAdapterEntity function', (done) => {
|
|
835
1159
|
// try {
|
|
836
|
-
// assert.equal(true, typeof a.
|
|
1160
|
+
// assert.equal(true, typeof a.iapHasAdapterEntity === 'function');
|
|
837
1161
|
// done();
|
|
838
1162
|
// } catch (error) {
|
|
839
1163
|
// log.error(`Test Failure: ${error}`);
|
|
@@ -842,7 +1166,7 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
842
1166
|
// });
|
|
843
1167
|
// it('should find entity', (done) => {
|
|
844
1168
|
// try {
|
|
845
|
-
// a.
|
|
1169
|
+
// a.iapHasAdapterEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
|
|
846
1170
|
// try {
|
|
847
1171
|
// assert.equal(true, data[0]);
|
|
848
1172
|
// done();
|
|
@@ -858,7 +1182,7 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
858
1182
|
// }).timeout(attemptTimeout);
|
|
859
1183
|
// it('should not find entity', (done) => {
|
|
860
1184
|
// try {
|
|
861
|
-
// a.
|
|
1185
|
+
// a.iapHasAdapterEntity('template_entity', 'blah', (data) => {
|
|
862
1186
|
// try {
|
|
863
1187
|
// assert.equal(false, data[0]);
|
|
864
1188
|
// done();
|
|
@@ -874,6 +1198,78 @@ describe('[unit] TerraformEnterprise Adapter Test', () => {
|
|
|
874
1198
|
// }).timeout(attemptTimeout);
|
|
875
1199
|
// });
|
|
876
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
|
+
|
|
877
1273
|
/*
|
|
878
1274
|
-----------------------------------------------------------------------
|
|
879
1275
|
-----------------------------------------------------------------------
|