@itentialopensource/adapter-etsi_sol003 0.1.2 → 0.3.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 +707 -0
- package/CHANGELOG.md +13 -5
- package/CODE_OF_CONDUCT.md +12 -17
- package/CONTRIBUTING.md +3 -148
- package/ENHANCE.md +69 -0
- package/PROPERTIES.md +641 -0
- package/README.md +235 -576
- package/SUMMARY.md +9 -0
- package/SYSTEMINFO.md +11 -0
- package/TROUBLESHOOT.md +47 -0
- package/adapter.js +291 -640
- package/adapterBase.js +843 -419
- package/changelogs/changelog.md +16 -0
- package/entities/.generic/action.json +105 -0
- package/entities/.generic/schema.json +6 -1
- package/error.json +6 -0
- package/metadata.json +49 -0
- package/package.json +24 -24
- package/pronghorn.json +527 -116
- package/propertiesDecorators.json +14 -0
- package/propertiesSchema.json +827 -6
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +7598 -0
- package/report/adapter-openapi.yaml +5267 -0
- package/report/adapterInfo.json +10 -0
- package/report/updateReport1653138357676.json +120 -0
- package/report/updateReport1691507408979.json +120 -0
- package/report/updateReport1692202442500.json +120 -0
- package/report/updateReport1694460725963.json +120 -0
- package/report/updateReport1698420524874.json +120 -0
- package/sampleProperties.json +153 -3
- package/test/integration/adapterTestBasicGet.js +3 -5
- package/test/integration/adapterTestConnectivity.js +91 -42
- package/test/integration/adapterTestIntegration.js +1784 -2174
- package/test/unit/adapterBaseTestUnit.js +388 -308
- package/test/unit/adapterTestUnit.js +399 -260
- package/utils/adapterInfo.js +206 -0
- package/utils/addAuth.js +1 -1
- package/utils/artifactize.js +1 -1
- package/utils/checkMigrate.js +1 -1
- package/utils/entitiesToDB.js +12 -57
- package/utils/findPath.js +1 -1
- package/utils/methodDocumentor.js +273 -0
- package/utils/modify.js +13 -15
- package/utils/packModificationScript.js +1 -1
- package/utils/pre-commit.sh +5 -0
- package/utils/taskMover.js +309 -0
- package/utils/tbScript.js +123 -53
- package/utils/tbUtils.js +87 -49
- package/utils/testRunner.js +17 -17
- package/utils/troubleshootingAdapter.js +9 -6
- package/workflows/README.md +0 -3
|
@@ -4,36 +4,48 @@
|
|
|
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');
|
|
10
|
-
const fs = require('fs-extra');
|
|
11
|
-
const mocha = require('mocha');
|
|
12
11
|
const path = require('path');
|
|
13
12
|
const util = require('util');
|
|
14
|
-
const winston = require('winston');
|
|
15
13
|
const execute = require('child_process').execSync;
|
|
14
|
+
const fs = require('fs-extra');
|
|
15
|
+
const mocha = require('mocha');
|
|
16
|
+
const winston = require('winston');
|
|
16
17
|
const { expect } = require('chai');
|
|
17
18
|
const { use } = require('chai');
|
|
18
19
|
const td = require('testdouble');
|
|
20
|
+
const Ajv = require('ajv');
|
|
19
21
|
|
|
22
|
+
const ajv = new Ajv({ strictSchema: false, allErrors: true, allowUnionTypes: true });
|
|
20
23
|
const anything = td.matchers.anything();
|
|
21
|
-
|
|
22
|
-
// stub and attemptTimeout are used throughout the code so set them here
|
|
23
24
|
let logLevel = 'none';
|
|
24
|
-
const stub = true;
|
|
25
25
|
const isRapidFail = false;
|
|
26
|
-
|
|
26
|
+
|
|
27
|
+
// read in the properties from the sampleProperties files
|
|
28
|
+
let adaptdir = __dirname;
|
|
29
|
+
if (adaptdir.endsWith('/test/integration')) {
|
|
30
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 17);
|
|
31
|
+
} else if (adaptdir.endsWith('/test/unit')) {
|
|
32
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 10);
|
|
33
|
+
}
|
|
34
|
+
const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
|
|
27
35
|
|
|
28
36
|
// these variables can be changed to run in integrated mode so easier to set them here
|
|
29
37
|
// always check these in with bogus data!!!
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
samProps.stub = true;
|
|
39
|
+
samProps.host = 'replace.hostorip.here';
|
|
40
|
+
samProps.authentication.username = 'username';
|
|
41
|
+
samProps.authentication.password = 'password';
|
|
42
|
+
samProps.protocol = 'http';
|
|
43
|
+
samProps.port = 80;
|
|
44
|
+
samProps.ssl.enabled = false;
|
|
45
|
+
samProps.ssl.accept_invalid_cert = false;
|
|
46
|
+
samProps.request.attempt_timeout = 1200000;
|
|
47
|
+
const attemptTimeout = samProps.request.attempt_timeout;
|
|
48
|
+
const { stub } = samProps;
|
|
37
49
|
|
|
38
50
|
// these are the adapter properties. You generally should not need to alter
|
|
39
51
|
// any of these after they are initially set up
|
|
@@ -45,102 +57,7 @@ global.pronghornProps = {
|
|
|
45
57
|
adapters: [{
|
|
46
58
|
id: 'Test-etsi_sol003',
|
|
47
59
|
type: 'EtsiSol003',
|
|
48
|
-
properties:
|
|
49
|
-
host,
|
|
50
|
-
port,
|
|
51
|
-
base_path: '/',
|
|
52
|
-
version: '',
|
|
53
|
-
cache_location: 'none',
|
|
54
|
-
encode_pathvars: true,
|
|
55
|
-
save_metric: false,
|
|
56
|
-
stub,
|
|
57
|
-
protocol,
|
|
58
|
-
authentication: {
|
|
59
|
-
auth_method: 'request_token',
|
|
60
|
-
username,
|
|
61
|
-
password,
|
|
62
|
-
token: '',
|
|
63
|
-
invalid_token_error: 401,
|
|
64
|
-
token_timeout: 1800000,
|
|
65
|
-
token_cache: 'local',
|
|
66
|
-
auth_field: 'header.headers.Authorization',
|
|
67
|
-
auth_field_format: 'Bearer {token}',
|
|
68
|
-
auth_logging: false,
|
|
69
|
-
client_id: '',
|
|
70
|
-
client_secret: '',
|
|
71
|
-
grant_type: ''
|
|
72
|
-
},
|
|
73
|
-
healthcheck: {
|
|
74
|
-
type: 'none',
|
|
75
|
-
frequency: 60000,
|
|
76
|
-
query_object: {}
|
|
77
|
-
},
|
|
78
|
-
throttle: {
|
|
79
|
-
throttle_enabled: false,
|
|
80
|
-
number_pronghorns: 1,
|
|
81
|
-
sync_async: 'sync',
|
|
82
|
-
max_in_queue: 1000,
|
|
83
|
-
concurrent_max: 1,
|
|
84
|
-
expire_timeout: 0,
|
|
85
|
-
avg_runtime: 200,
|
|
86
|
-
priorities: [
|
|
87
|
-
{
|
|
88
|
-
value: 0,
|
|
89
|
-
percent: 100
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
-
},
|
|
93
|
-
request: {
|
|
94
|
-
number_redirects: 0,
|
|
95
|
-
number_retries: 3,
|
|
96
|
-
limit_retry_error: [0],
|
|
97
|
-
failover_codes: [],
|
|
98
|
-
attempt_timeout: attemptTimeout,
|
|
99
|
-
global_request: {
|
|
100
|
-
payload: {},
|
|
101
|
-
uriOptions: {},
|
|
102
|
-
addlHeaders: {},
|
|
103
|
-
authData: {}
|
|
104
|
-
},
|
|
105
|
-
healthcheck_on_timeout: true,
|
|
106
|
-
return_raw: true,
|
|
107
|
-
archiving: false,
|
|
108
|
-
return_request: false
|
|
109
|
-
},
|
|
110
|
-
proxy: {
|
|
111
|
-
enabled: false,
|
|
112
|
-
host: '',
|
|
113
|
-
port: 1,
|
|
114
|
-
protocol: 'http',
|
|
115
|
-
username: '',
|
|
116
|
-
password: ''
|
|
117
|
-
},
|
|
118
|
-
ssl: {
|
|
119
|
-
ecdhCurve: '',
|
|
120
|
-
enabled: sslenable,
|
|
121
|
-
accept_invalid_cert: sslinvalid,
|
|
122
|
-
ca_file: '',
|
|
123
|
-
key_file: '',
|
|
124
|
-
cert_file: '',
|
|
125
|
-
secure_protocol: '',
|
|
126
|
-
ciphers: ''
|
|
127
|
-
},
|
|
128
|
-
mongo: {
|
|
129
|
-
host: '',
|
|
130
|
-
port: 0,
|
|
131
|
-
database: '',
|
|
132
|
-
username: '',
|
|
133
|
-
password: '',
|
|
134
|
-
replSet: '',
|
|
135
|
-
db_ssl: {
|
|
136
|
-
enabled: false,
|
|
137
|
-
accept_invalid_cert: false,
|
|
138
|
-
ca_file: '',
|
|
139
|
-
key_file: '',
|
|
140
|
-
cert_file: ''
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
60
|
+
properties: samProps
|
|
144
61
|
}]
|
|
145
62
|
}
|
|
146
63
|
};
|
|
@@ -271,10 +188,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
271
188
|
});
|
|
272
189
|
|
|
273
190
|
let wffunctions = [];
|
|
274
|
-
describe('#
|
|
191
|
+
describe('#iapGetAdapterWorkflowFunctions', () => {
|
|
275
192
|
it('should retrieve workflow functions', (done) => {
|
|
276
193
|
try {
|
|
277
|
-
wffunctions = a.
|
|
194
|
+
wffunctions = a.iapGetAdapterWorkflowFunctions([]);
|
|
278
195
|
|
|
279
196
|
try {
|
|
280
197
|
assert.notEqual(0, wffunctions.length);
|
|
@@ -305,19 +222,24 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
305
222
|
it('package.json should be validated', (done) => {
|
|
306
223
|
try {
|
|
307
224
|
const packageDotJson = require('../../package.json');
|
|
308
|
-
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
225
|
+
// Define the JSON schema for package.json
|
|
226
|
+
const packageJsonSchema = {
|
|
227
|
+
type: 'object',
|
|
228
|
+
properties: {
|
|
229
|
+
name: { type: 'string' },
|
|
230
|
+
version: { type: 'string' }
|
|
231
|
+
// May need to add more properties as needed
|
|
232
|
+
},
|
|
233
|
+
required: ['name', 'version']
|
|
312
234
|
};
|
|
313
|
-
const
|
|
235
|
+
const validate = ajv.compile(packageJsonSchema);
|
|
236
|
+
const isValid = validate(packageDotJson);
|
|
314
237
|
|
|
315
|
-
if (
|
|
316
|
-
log.error('The package.json contains
|
|
317
|
-
|
|
318
|
-
assert.equal(true, results.valid);
|
|
238
|
+
if (isValid === false) {
|
|
239
|
+
log.error('The package.json contains errors');
|
|
240
|
+
assert.equal(true, isValid);
|
|
319
241
|
} else {
|
|
320
|
-
assert.equal(true,
|
|
242
|
+
assert.equal(true, isValid);
|
|
321
243
|
}
|
|
322
244
|
|
|
323
245
|
done();
|
|
@@ -356,7 +278,7 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
356
278
|
assert.notEqual(undefined, packageDotJson.scripts);
|
|
357
279
|
assert.notEqual(null, packageDotJson.scripts);
|
|
358
280
|
assert.notEqual('', packageDotJson.scripts);
|
|
359
|
-
assert.equal('node utils/setup.js
|
|
281
|
+
assert.equal('node utils/setup.js', packageDotJson.scripts.preinstall);
|
|
360
282
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
|
|
361
283
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
|
|
362
284
|
assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
|
|
@@ -393,17 +315,17 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
393
315
|
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
394
316
|
assert.notEqual(null, packageDotJson.dependencies);
|
|
395
317
|
assert.notEqual('', packageDotJson.dependencies);
|
|
396
|
-
assert.equal('^
|
|
397
|
-
assert.equal('^
|
|
398
|
-
assert.equal('^
|
|
399
|
-
assert.equal('^
|
|
400
|
-
assert.equal('^
|
|
318
|
+
assert.equal('^8.12.0', packageDotJson.dependencies.ajv);
|
|
319
|
+
assert.equal('^1.6.3', packageDotJson.dependencies.axios);
|
|
320
|
+
assert.equal('^11.0.0', packageDotJson.dependencies.commander);
|
|
321
|
+
assert.equal('^11.1.1', packageDotJson.dependencies['fs-extra']);
|
|
322
|
+
assert.equal('^10.2.0', packageDotJson.dependencies.mocha);
|
|
401
323
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
402
|
-
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
403
324
|
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
325
|
+
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
|
404
326
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
405
|
-
assert.equal('^7.3
|
|
406
|
-
assert.equal('^3.
|
|
327
|
+
assert.equal('^7.5.3', packageDotJson.dependencies.semver);
|
|
328
|
+
assert.equal('^3.9.0', packageDotJson.dependencies.winston);
|
|
407
329
|
done();
|
|
408
330
|
} catch (error) {
|
|
409
331
|
log.error(`Test Failure: ${error}`);
|
|
@@ -416,13 +338,12 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
416
338
|
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
417
339
|
assert.notEqual(null, packageDotJson.devDependencies);
|
|
418
340
|
assert.notEqual('', packageDotJson.devDependencies);
|
|
419
|
-
assert.equal('^4.3.
|
|
420
|
-
assert.equal('^
|
|
421
|
-
assert.equal('^
|
|
422
|
-
assert.equal('^2.
|
|
423
|
-
assert.equal('^3.
|
|
424
|
-
assert.equal('^
|
|
425
|
-
assert.equal('^3.16.1', packageDotJson.devDependencies.testdouble);
|
|
341
|
+
assert.equal('^4.3.7', packageDotJson.devDependencies.chai);
|
|
342
|
+
assert.equal('^8.44.0', packageDotJson.devDependencies.eslint);
|
|
343
|
+
assert.equal('^15.0.0', packageDotJson.devDependencies['eslint-config-airbnb-base']);
|
|
344
|
+
assert.equal('^2.27.5', packageDotJson.devDependencies['eslint-plugin-import']);
|
|
345
|
+
assert.equal('^3.1.0', packageDotJson.devDependencies['eslint-plugin-json']);
|
|
346
|
+
assert.equal('^3.18.0', packageDotJson.devDependencies.testdouble);
|
|
426
347
|
done();
|
|
427
348
|
} catch (error) {
|
|
428
349
|
log.error(`Test Failure: ${error}`);
|
|
@@ -465,16 +386,31 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
465
386
|
assert.notEqual('', pronghornDotJson.methods);
|
|
466
387
|
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
467
388
|
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
468
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
469
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
470
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
471
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
472
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
473
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
474
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
475
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
476
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
389
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUpdateAdapterConfiguration'));
|
|
390
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapSuspendAdapter'));
|
|
391
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUnsuspendAdapter'));
|
|
392
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterQueue'));
|
|
393
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
394
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
395
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
396
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
397
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
398
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapMoveAdapterEntitiesToDB'));
|
|
399
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapDeactivateTasks'));
|
|
400
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapActivateTasks'));
|
|
401
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapPopulateEntityCache'));
|
|
402
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRetrieveEntitiesCache'));
|
|
403
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'getDevice'));
|
|
404
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'getDevicesFiltered'));
|
|
405
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'isAlive'));
|
|
406
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'getConfig'));
|
|
407
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetDeviceCount'));
|
|
408
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapExpandedGenericAdapterRequest'));
|
|
477
409
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
410
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequestNoBasePath'));
|
|
411
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterLint'));
|
|
412
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterTests'));
|
|
413
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterInventory'));
|
|
478
414
|
done();
|
|
479
415
|
} catch (error) {
|
|
480
416
|
log.error(`Test Failure: ${error}`);
|
|
@@ -595,6 +531,39 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
595
531
|
done(error);
|
|
596
532
|
}
|
|
597
533
|
});
|
|
534
|
+
it('pronghorn.json verify input/output schema objects', (done) => {
|
|
535
|
+
const verifySchema = (methodName, schema) => {
|
|
536
|
+
try {
|
|
537
|
+
ajv.compile(schema);
|
|
538
|
+
} catch (error) {
|
|
539
|
+
const errorMessage = `Invalid schema found in '${methodName}' method.
|
|
540
|
+
Schema => ${JSON.stringify(schema)}.
|
|
541
|
+
Details => ${error.message}`;
|
|
542
|
+
throw new Error(errorMessage);
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
try {
|
|
547
|
+
const pronghornDotJson = require('../../pronghorn.json');
|
|
548
|
+
const { methods } = pronghornDotJson;
|
|
549
|
+
for (let i = 0; i < methods.length; i += 1) {
|
|
550
|
+
for (let j = 0; j < methods[i].input.length; j += 1) {
|
|
551
|
+
const inputSchema = methods[i].input[j].schema;
|
|
552
|
+
if (inputSchema) {
|
|
553
|
+
verifySchema(methods[i].name, inputSchema);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
const outputSchema = methods[i].output.schema;
|
|
557
|
+
if (outputSchema) {
|
|
558
|
+
verifySchema(methods[i].name, outputSchema);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
done();
|
|
562
|
+
} catch (error) {
|
|
563
|
+
log.error(`Adapter Exception: ${error}`);
|
|
564
|
+
done(error);
|
|
565
|
+
}
|
|
566
|
+
});
|
|
598
567
|
});
|
|
599
568
|
|
|
600
569
|
describe('propertiesSchema.json', () => {
|
|
@@ -630,6 +599,7 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
630
599
|
assert.equal('string', propertiesDotJson.properties.host.type);
|
|
631
600
|
assert.equal('integer', propertiesDotJson.properties.port.type);
|
|
632
601
|
assert.equal('boolean', propertiesDotJson.properties.stub.type);
|
|
602
|
+
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
633
603
|
assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
|
|
634
604
|
assert.notEqual(null, propertiesDotJson.definitions.authentication);
|
|
635
605
|
assert.notEqual('', propertiesDotJson.definitions.authentication);
|
|
@@ -646,6 +616,8 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
646
616
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_id.type);
|
|
647
617
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_secret.type);
|
|
648
618
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.grant_type.type);
|
|
619
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
|
|
620
|
+
assert.notEqual(null, propertiesDotJson.definitions.ssl);
|
|
649
621
|
assert.notEqual('', propertiesDotJson.definitions.ssl);
|
|
650
622
|
assert.equal('string', propertiesDotJson.definitions.ssl.properties.ecdhCurve.type);
|
|
651
623
|
assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.enabled.type);
|
|
@@ -659,8 +631,8 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
659
631
|
assert.equal('string', propertiesDotJson.properties.version.type);
|
|
660
632
|
assert.equal('string', propertiesDotJson.properties.cache_location.type);
|
|
661
633
|
assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
|
|
634
|
+
assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
|
|
662
635
|
assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
|
|
663
|
-
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
664
636
|
assert.notEqual(undefined, propertiesDotJson.definitions);
|
|
665
637
|
assert.notEqual(null, propertiesDotJson.definitions);
|
|
666
638
|
assert.notEqual('', propertiesDotJson.definitions);
|
|
@@ -707,8 +679,6 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
707
679
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.protocol.type);
|
|
708
680
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.username.type);
|
|
709
681
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.password.type);
|
|
710
|
-
assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
|
|
711
|
-
assert.notEqual(null, propertiesDotJson.definitions.ssl);
|
|
712
682
|
assert.notEqual(undefined, propertiesDotJson.definitions.mongo);
|
|
713
683
|
assert.notEqual(null, propertiesDotJson.definitions.mongo);
|
|
714
684
|
assert.notEqual('', propertiesDotJson.definitions.mongo);
|
|
@@ -724,6 +694,12 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
724
694
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.ca_file.type);
|
|
725
695
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.key_file.type);
|
|
726
696
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.cert_file.type);
|
|
697
|
+
assert.notEqual('', propertiesDotJson.definitions.devicebroker);
|
|
698
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevice.type);
|
|
699
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevicesFiltered.type);
|
|
700
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.isAlive.type);
|
|
701
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getConfig.type);
|
|
702
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getCount.type);
|
|
727
703
|
done();
|
|
728
704
|
} catch (error) {
|
|
729
705
|
log.error(`Test Failure: ${error}`);
|
|
@@ -813,6 +789,7 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
813
789
|
assert.notEqual(undefined, sampleDotJson.properties.host);
|
|
814
790
|
assert.notEqual(undefined, sampleDotJson.properties.port);
|
|
815
791
|
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
792
|
+
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
816
793
|
assert.notEqual(undefined, sampleDotJson.properties.authentication);
|
|
817
794
|
assert.notEqual(null, sampleDotJson.properties.authentication);
|
|
818
795
|
assert.notEqual('', sampleDotJson.properties.authentication);
|
|
@@ -840,17 +817,12 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
840
817
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.cert_file);
|
|
841
818
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.secure_protocol);
|
|
842
819
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.ciphers);
|
|
843
|
-
|
|
844
820
|
assert.notEqual(undefined, sampleDotJson.properties.base_path);
|
|
845
821
|
assert.notEqual(undefined, sampleDotJson.properties.version);
|
|
846
822
|
assert.notEqual(undefined, sampleDotJson.properties.cache_location);
|
|
847
823
|
assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
|
|
824
|
+
assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
|
|
848
825
|
assert.notEqual(undefined, sampleDotJson.properties.save_metric);
|
|
849
|
-
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
850
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
851
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
852
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
853
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
854
826
|
assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
|
|
855
827
|
assert.notEqual(null, sampleDotJson.properties.healthcheck);
|
|
856
828
|
assert.notEqual('', sampleDotJson.properties.healthcheck);
|
|
@@ -909,6 +881,14 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
909
881
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.ca_file);
|
|
910
882
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.key_file);
|
|
911
883
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.cert_file);
|
|
884
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker);
|
|
885
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevice);
|
|
886
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevicesFiltered);
|
|
887
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
888
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
889
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
890
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache);
|
|
891
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache.entities);
|
|
912
892
|
done();
|
|
913
893
|
} catch (error) {
|
|
914
894
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1002,10 +982,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1002
982
|
});
|
|
1003
983
|
});
|
|
1004
984
|
|
|
1005
|
-
describe('#
|
|
1006
|
-
it('should have a
|
|
985
|
+
describe('#iapUpdateAdapterConfiguration', () => {
|
|
986
|
+
it('should have a iapUpdateAdapterConfiguration function', (done) => {
|
|
1007
987
|
try {
|
|
1008
|
-
assert.equal(true, typeof a.
|
|
988
|
+
assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
|
|
1009
989
|
done();
|
|
1010
990
|
} catch (error) {
|
|
1011
991
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1014,44 +994,22 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1014
994
|
});
|
|
1015
995
|
});
|
|
1016
996
|
|
|
1017
|
-
describe('#
|
|
1018
|
-
it('should have a
|
|
997
|
+
describe('#iapSuspendAdapter', () => {
|
|
998
|
+
it('should have a iapSuspendAdapter function', (done) => {
|
|
1019
999
|
try {
|
|
1020
|
-
assert.equal(true, typeof a.
|
|
1000
|
+
assert.equal(true, typeof a.iapSuspendAdapter === 'function');
|
|
1021
1001
|
done();
|
|
1022
1002
|
} catch (error) {
|
|
1023
1003
|
log.error(`Test Failure: ${error}`);
|
|
1024
1004
|
done(error);
|
|
1025
1005
|
}
|
|
1026
1006
|
});
|
|
1027
|
-
it('findPath should find atleast one path that matches', (done) => {
|
|
1028
|
-
try {
|
|
1029
|
-
a.findPath('{base_path}/{version}', (data, error) => {
|
|
1030
|
-
try {
|
|
1031
|
-
assert.equal(undefined, error);
|
|
1032
|
-
assert.notEqual(undefined, data);
|
|
1033
|
-
assert.notEqual(null, data);
|
|
1034
|
-
assert.equal(true, data.found);
|
|
1035
|
-
assert.notEqual(undefined, data.foundIn);
|
|
1036
|
-
assert.notEqual(null, data.foundIn);
|
|
1037
|
-
assert.notEqual(0, data.foundIn.length);
|
|
1038
|
-
done();
|
|
1039
|
-
} catch (err) {
|
|
1040
|
-
log.error(`Test Failure: ${err}`);
|
|
1041
|
-
done(err);
|
|
1042
|
-
}
|
|
1043
|
-
});
|
|
1044
|
-
} catch (error) {
|
|
1045
|
-
log.error(`Adapter Exception: ${error}`);
|
|
1046
|
-
done(error);
|
|
1047
|
-
}
|
|
1048
|
-
}).timeout(attemptTimeout);
|
|
1049
1007
|
});
|
|
1050
1008
|
|
|
1051
|
-
describe('#
|
|
1052
|
-
it('should have a
|
|
1009
|
+
describe('#iapUnsuspendAdapter', () => {
|
|
1010
|
+
it('should have a iapUnsuspendAdapter function', (done) => {
|
|
1053
1011
|
try {
|
|
1054
|
-
assert.equal(true, typeof a.
|
|
1012
|
+
assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
|
|
1055
1013
|
done();
|
|
1056
1014
|
} catch (error) {
|
|
1057
1015
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1060,10 +1018,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1060
1018
|
});
|
|
1061
1019
|
});
|
|
1062
1020
|
|
|
1063
|
-
describe('#
|
|
1064
|
-
it('should have a
|
|
1021
|
+
describe('#iapGetAdapterQueue', () => {
|
|
1022
|
+
it('should have a iapGetAdapterQueue function', (done) => {
|
|
1065
1023
|
try {
|
|
1066
|
-
assert.equal(true, typeof a.
|
|
1024
|
+
assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
|
|
1067
1025
|
done();
|
|
1068
1026
|
} catch (error) {
|
|
1069
1027
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1072,22 +1030,44 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1072
1030
|
});
|
|
1073
1031
|
});
|
|
1074
1032
|
|
|
1075
|
-
describe('#
|
|
1076
|
-
it('should have a
|
|
1033
|
+
describe('#iapFindAdapterPath', () => {
|
|
1034
|
+
it('should have a iapFindAdapterPath function', (done) => {
|
|
1077
1035
|
try {
|
|
1078
|
-
assert.equal(true, typeof a.
|
|
1036
|
+
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
1079
1037
|
done();
|
|
1080
1038
|
} catch (error) {
|
|
1081
1039
|
log.error(`Test Failure: ${error}`);
|
|
1082
1040
|
done(error);
|
|
1083
1041
|
}
|
|
1084
1042
|
});
|
|
1043
|
+
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
1044
|
+
try {
|
|
1045
|
+
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
1046
|
+
try {
|
|
1047
|
+
assert.equal(undefined, error);
|
|
1048
|
+
assert.notEqual(undefined, data);
|
|
1049
|
+
assert.notEqual(null, data);
|
|
1050
|
+
assert.equal(true, data.found);
|
|
1051
|
+
assert.notEqual(undefined, data.foundIn);
|
|
1052
|
+
assert.notEqual(null, data.foundIn);
|
|
1053
|
+
assert.notEqual(0, data.foundIn.length);
|
|
1054
|
+
done();
|
|
1055
|
+
} catch (err) {
|
|
1056
|
+
log.error(`Test Failure: ${err}`);
|
|
1057
|
+
done(err);
|
|
1058
|
+
}
|
|
1059
|
+
});
|
|
1060
|
+
} catch (error) {
|
|
1061
|
+
log.error(`Adapter Exception: ${error}`);
|
|
1062
|
+
done(error);
|
|
1063
|
+
}
|
|
1064
|
+
}).timeout(attemptTimeout);
|
|
1085
1065
|
});
|
|
1086
1066
|
|
|
1087
|
-
describe('#
|
|
1088
|
-
it('should have a
|
|
1067
|
+
describe('#iapTroubleshootAdapter', () => {
|
|
1068
|
+
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
1089
1069
|
try {
|
|
1090
|
-
assert.equal(true, typeof a.
|
|
1070
|
+
assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
|
|
1091
1071
|
done();
|
|
1092
1072
|
} catch (error) {
|
|
1093
1073
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1096,10 +1076,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1096
1076
|
});
|
|
1097
1077
|
});
|
|
1098
1078
|
|
|
1099
|
-
describe('#
|
|
1100
|
-
it('should have a
|
|
1079
|
+
describe('#iapRunAdapterHealthcheck', () => {
|
|
1080
|
+
it('should have a iapRunAdapterHealthcheck function', (done) => {
|
|
1101
1081
|
try {
|
|
1102
|
-
assert.equal(true, typeof a.
|
|
1082
|
+
assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
|
|
1103
1083
|
done();
|
|
1104
1084
|
} catch (error) {
|
|
1105
1085
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1108,10 +1088,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1108
1088
|
});
|
|
1109
1089
|
});
|
|
1110
1090
|
|
|
1111
|
-
describe('#
|
|
1112
|
-
it('should have a
|
|
1091
|
+
describe('#iapRunAdapterConnectivity', () => {
|
|
1092
|
+
it('should have a iapRunAdapterConnectivity function', (done) => {
|
|
1113
1093
|
try {
|
|
1114
|
-
assert.equal(true, typeof a.
|
|
1094
|
+
assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
|
|
1115
1095
|
done();
|
|
1116
1096
|
} catch (error) {
|
|
1117
1097
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1120,10 +1100,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1120
1100
|
});
|
|
1121
1101
|
});
|
|
1122
1102
|
|
|
1123
|
-
describe('#
|
|
1124
|
-
it('should have a
|
|
1103
|
+
describe('#iapRunAdapterBasicGet', () => {
|
|
1104
|
+
it('should have a iapRunAdapterBasicGet function', (done) => {
|
|
1125
1105
|
try {
|
|
1126
|
-
assert.equal(true, typeof a.
|
|
1106
|
+
assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
|
|
1127
1107
|
done();
|
|
1128
1108
|
} catch (error) {
|
|
1129
1109
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1132,10 +1112,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1132
1112
|
});
|
|
1133
1113
|
});
|
|
1134
1114
|
|
|
1135
|
-
describe('#
|
|
1136
|
-
it('should have a
|
|
1115
|
+
describe('#iapMoveAdapterEntitiesToDB', () => {
|
|
1116
|
+
it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
|
|
1137
1117
|
try {
|
|
1138
|
-
assert.equal(true, typeof a.
|
|
1118
|
+
assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
|
|
1139
1119
|
done();
|
|
1140
1120
|
} catch (error) {
|
|
1141
1121
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1229,54 +1209,46 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1229
1209
|
}).timeout(attemptTimeout);
|
|
1230
1210
|
});
|
|
1231
1211
|
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
// try {
|
|
1244
|
-
// a.hasEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
|
|
1245
|
-
// try {
|
|
1246
|
-
// assert.equal(true, data[0]);
|
|
1247
|
-
// done();
|
|
1248
|
-
// } catch (err) {
|
|
1249
|
-
// log.error(`Test Failure: ${err}`);
|
|
1250
|
-
// done(err);
|
|
1251
|
-
// }
|
|
1252
|
-
// });
|
|
1253
|
-
// } catch (error) {
|
|
1254
|
-
// log.error(`Adapter Exception: ${error}`);
|
|
1255
|
-
// done(error);
|
|
1256
|
-
// }
|
|
1257
|
-
// }).timeout(attemptTimeout);
|
|
1258
|
-
// it('should not find entity', (done) => {
|
|
1259
|
-
// try {
|
|
1260
|
-
// a.hasEntity('template_entity', 'blah', (data) => {
|
|
1261
|
-
// try {
|
|
1262
|
-
// assert.equal(false, data[0]);
|
|
1263
|
-
// done();
|
|
1264
|
-
// } catch (err) {
|
|
1265
|
-
// log.error(`Test Failure: ${err}`);
|
|
1266
|
-
// done(err);
|
|
1267
|
-
// }
|
|
1268
|
-
// });
|
|
1269
|
-
// } catch (error) {
|
|
1270
|
-
// log.error(`Adapter Exception: ${error}`);
|
|
1271
|
-
// done(error);
|
|
1272
|
-
// }
|
|
1273
|
-
// }).timeout(attemptTimeout);
|
|
1274
|
-
// });
|
|
1212
|
+
describe('#iapDeactivateTasks', () => {
|
|
1213
|
+
it('should have a iapDeactivateTasks function', (done) => {
|
|
1214
|
+
try {
|
|
1215
|
+
assert.equal(true, typeof a.iapDeactivateTasks === 'function');
|
|
1216
|
+
done();
|
|
1217
|
+
} catch (error) {
|
|
1218
|
+
log.error(`Test Failure: ${error}`);
|
|
1219
|
+
done(error);
|
|
1220
|
+
}
|
|
1221
|
+
});
|
|
1222
|
+
});
|
|
1275
1223
|
|
|
1276
|
-
describe('#
|
|
1277
|
-
it('should have a
|
|
1224
|
+
describe('#iapActivateTasks', () => {
|
|
1225
|
+
it('should have a iapActivateTasks function', (done) => {
|
|
1278
1226
|
try {
|
|
1279
|
-
assert.equal(true, typeof a.
|
|
1227
|
+
assert.equal(true, typeof a.iapActivateTasks === 'function');
|
|
1228
|
+
done();
|
|
1229
|
+
} catch (error) {
|
|
1230
|
+
log.error(`Test Failure: ${error}`);
|
|
1231
|
+
done(error);
|
|
1232
|
+
}
|
|
1233
|
+
});
|
|
1234
|
+
});
|
|
1235
|
+
|
|
1236
|
+
describe('#iapPopulateEntityCache', () => {
|
|
1237
|
+
it('should have a iapPopulateEntityCache function', (done) => {
|
|
1238
|
+
try {
|
|
1239
|
+
assert.equal(true, typeof a.iapPopulateEntityCache === 'function');
|
|
1240
|
+
done();
|
|
1241
|
+
} catch (error) {
|
|
1242
|
+
log.error(`Test Failure: ${error}`);
|
|
1243
|
+
done(error);
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1246
|
+
});
|
|
1247
|
+
|
|
1248
|
+
describe('#iapRetrieveEntitiesCache', () => {
|
|
1249
|
+
it('should have a iapRetrieveEntitiesCache function', (done) => {
|
|
1250
|
+
try {
|
|
1251
|
+
assert.equal(true, typeof a.iapRetrieveEntitiesCache === 'function');
|
|
1280
1252
|
done();
|
|
1281
1253
|
} catch (error) {
|
|
1282
1254
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1285,10 +1257,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1285
1257
|
});
|
|
1286
1258
|
});
|
|
1287
1259
|
|
|
1288
|
-
describe('#
|
|
1289
|
-
it('should have a
|
|
1260
|
+
describe('#hasEntities', () => {
|
|
1261
|
+
it('should have a hasEntities function', (done) => {
|
|
1290
1262
|
try {
|
|
1291
|
-
assert.equal(true, typeof a.
|
|
1263
|
+
assert.equal(true, typeof a.hasEntities === 'function');
|
|
1292
1264
|
done();
|
|
1293
1265
|
} catch (error) {
|
|
1294
1266
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1345,10 +1317,10 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1345
1317
|
});
|
|
1346
1318
|
});
|
|
1347
1319
|
|
|
1348
|
-
describe('#
|
|
1349
|
-
it('should have a
|
|
1320
|
+
describe('#iapGetDeviceCount', () => {
|
|
1321
|
+
it('should have a iapGetDeviceCount function', (done) => {
|
|
1350
1322
|
try {
|
|
1351
|
-
assert.equal(true, typeof a.
|
|
1323
|
+
assert.equal(true, typeof a.iapGetDeviceCount === 'function');
|
|
1352
1324
|
done();
|
|
1353
1325
|
} catch (error) {
|
|
1354
1326
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1357,6 +1329,173 @@ describe('[unit] Etsi_sol003 Adapter Test', () => {
|
|
|
1357
1329
|
});
|
|
1358
1330
|
});
|
|
1359
1331
|
|
|
1332
|
+
describe('#iapExpandedGenericAdapterRequest', () => {
|
|
1333
|
+
it('should have a iapExpandedGenericAdapterRequest function', (done) => {
|
|
1334
|
+
try {
|
|
1335
|
+
assert.equal(true, typeof a.iapExpandedGenericAdapterRequest === 'function');
|
|
1336
|
+
done();
|
|
1337
|
+
} catch (error) {
|
|
1338
|
+
log.error(`Test Failure: ${error}`);
|
|
1339
|
+
done(error);
|
|
1340
|
+
}
|
|
1341
|
+
});
|
|
1342
|
+
});
|
|
1343
|
+
|
|
1344
|
+
describe('#genericAdapterRequest', () => {
|
|
1345
|
+
it('should have a genericAdapterRequest function', (done) => {
|
|
1346
|
+
try {
|
|
1347
|
+
assert.equal(true, typeof a.genericAdapterRequest === 'function');
|
|
1348
|
+
done();
|
|
1349
|
+
} catch (error) {
|
|
1350
|
+
log.error(`Test Failure: ${error}`);
|
|
1351
|
+
done(error);
|
|
1352
|
+
}
|
|
1353
|
+
});
|
|
1354
|
+
});
|
|
1355
|
+
|
|
1356
|
+
describe('#genericAdapterRequestNoBasePath', () => {
|
|
1357
|
+
it('should have a genericAdapterRequestNoBasePath function', (done) => {
|
|
1358
|
+
try {
|
|
1359
|
+
assert.equal(true, typeof a.genericAdapterRequestNoBasePath === 'function');
|
|
1360
|
+
done();
|
|
1361
|
+
} catch (error) {
|
|
1362
|
+
log.error(`Test Failure: ${error}`);
|
|
1363
|
+
done(error);
|
|
1364
|
+
}
|
|
1365
|
+
});
|
|
1366
|
+
});
|
|
1367
|
+
|
|
1368
|
+
describe('#iapRunAdapterLint', () => {
|
|
1369
|
+
it('should have a iapRunAdapterLint function', (done) => {
|
|
1370
|
+
try {
|
|
1371
|
+
assert.equal(true, typeof a.iapRunAdapterLint === 'function');
|
|
1372
|
+
done();
|
|
1373
|
+
} catch (error) {
|
|
1374
|
+
log.error(`Test Failure: ${error}`);
|
|
1375
|
+
done(error);
|
|
1376
|
+
}
|
|
1377
|
+
});
|
|
1378
|
+
it('retrieve the lint results', (done) => {
|
|
1379
|
+
try {
|
|
1380
|
+
a.iapRunAdapterLint((data, error) => {
|
|
1381
|
+
try {
|
|
1382
|
+
assert.equal(undefined, error);
|
|
1383
|
+
assert.notEqual(undefined, data);
|
|
1384
|
+
assert.notEqual(null, data);
|
|
1385
|
+
assert.notEqual(undefined, data.status);
|
|
1386
|
+
assert.notEqual(null, data.status);
|
|
1387
|
+
assert.equal('SUCCESS', data.status);
|
|
1388
|
+
done();
|
|
1389
|
+
} catch (err) {
|
|
1390
|
+
log.error(`Test Failure: ${err}`);
|
|
1391
|
+
done(err);
|
|
1392
|
+
}
|
|
1393
|
+
});
|
|
1394
|
+
} catch (error) {
|
|
1395
|
+
log.error(`Adapter Exception: ${error}`);
|
|
1396
|
+
done(error);
|
|
1397
|
+
}
|
|
1398
|
+
}).timeout(attemptTimeout);
|
|
1399
|
+
});
|
|
1400
|
+
|
|
1401
|
+
describe('#iapRunAdapterTests', () => {
|
|
1402
|
+
it('should have a iapRunAdapterTests function', (done) => {
|
|
1403
|
+
try {
|
|
1404
|
+
assert.equal(true, typeof a.iapRunAdapterTests === 'function');
|
|
1405
|
+
done();
|
|
1406
|
+
} catch (error) {
|
|
1407
|
+
log.error(`Test Failure: ${error}`);
|
|
1408
|
+
done(error);
|
|
1409
|
+
}
|
|
1410
|
+
});
|
|
1411
|
+
});
|
|
1412
|
+
|
|
1413
|
+
describe('#iapGetAdapterInventory', () => {
|
|
1414
|
+
it('should have a iapGetAdapterInventory function', (done) => {
|
|
1415
|
+
try {
|
|
1416
|
+
assert.equal(true, typeof a.iapGetAdapterInventory === 'function');
|
|
1417
|
+
done();
|
|
1418
|
+
} catch (error) {
|
|
1419
|
+
log.error(`Test Failure: ${error}`);
|
|
1420
|
+
done(error);
|
|
1421
|
+
}
|
|
1422
|
+
});
|
|
1423
|
+
it('retrieve the inventory', (done) => {
|
|
1424
|
+
try {
|
|
1425
|
+
a.iapGetAdapterInventory((data, error) => {
|
|
1426
|
+
try {
|
|
1427
|
+
assert.equal(undefined, error);
|
|
1428
|
+
assert.notEqual(undefined, data);
|
|
1429
|
+
assert.notEqual(null, data);
|
|
1430
|
+
done();
|
|
1431
|
+
} catch (err) {
|
|
1432
|
+
log.error(`Test Failure: ${err}`);
|
|
1433
|
+
done(err);
|
|
1434
|
+
}
|
|
1435
|
+
});
|
|
1436
|
+
} catch (error) {
|
|
1437
|
+
log.error(`Adapter Exception: ${error}`);
|
|
1438
|
+
done(error);
|
|
1439
|
+
}
|
|
1440
|
+
}).timeout(attemptTimeout);
|
|
1441
|
+
});
|
|
1442
|
+
describe('metadata.json', () => {
|
|
1443
|
+
it('should have a metadata.json', (done) => {
|
|
1444
|
+
try {
|
|
1445
|
+
fs.exists('metadata.json', (val) => {
|
|
1446
|
+
assert.equal(true, val);
|
|
1447
|
+
done();
|
|
1448
|
+
});
|
|
1449
|
+
} catch (error) {
|
|
1450
|
+
log.error(`Test Failure: ${error}`);
|
|
1451
|
+
done(error);
|
|
1452
|
+
}
|
|
1453
|
+
});
|
|
1454
|
+
it('metadata.json is customized', (done) => {
|
|
1455
|
+
try {
|
|
1456
|
+
const metadataDotJson = require('../../metadata.json');
|
|
1457
|
+
assert.equal('adapter-etsi_sol003', metadataDotJson.name);
|
|
1458
|
+
assert.notEqual(undefined, metadataDotJson.webName);
|
|
1459
|
+
assert.notEqual(null, metadataDotJson.webName);
|
|
1460
|
+
assert.notEqual('', metadataDotJson.webName);
|
|
1461
|
+
assert.equal('Adapter', metadataDotJson.type);
|
|
1462
|
+
done();
|
|
1463
|
+
} catch (error) {
|
|
1464
|
+
log.error(`Test Failure: ${error}`);
|
|
1465
|
+
done(error);
|
|
1466
|
+
}
|
|
1467
|
+
});
|
|
1468
|
+
it('metadata.json contains accurate documentation', (done) => {
|
|
1469
|
+
try {
|
|
1470
|
+
const metadataDotJson = require('../../metadata.json');
|
|
1471
|
+
assert.notEqual(undefined, metadataDotJson.documentation);
|
|
1472
|
+
assert.equal('https://www.npmjs.com/package/@itentialopensource/adapter-etsi_sol003', metadataDotJson.documentation.npmLink);
|
|
1473
|
+
assert.equal('https://docs.itential.com/opensource/docs/troubleshooting-an-adapter', metadataDotJson.documentation.faqLink);
|
|
1474
|
+
assert.equal('https://gitlab.com/itentialopensource/adapters/contributing-guide', metadataDotJson.documentation.contributeLink);
|
|
1475
|
+
assert.equal('https://itential.atlassian.net/servicedesk/customer/portals', metadataDotJson.documentation.issueLink);
|
|
1476
|
+
done();
|
|
1477
|
+
} catch (error) {
|
|
1478
|
+
log.error(`Test Failure: ${error}`);
|
|
1479
|
+
done(error);
|
|
1480
|
+
}
|
|
1481
|
+
});
|
|
1482
|
+
it('metadata.json has related items', (done) => {
|
|
1483
|
+
try {
|
|
1484
|
+
const metadataDotJson = require('../../metadata.json');
|
|
1485
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems);
|
|
1486
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.adapters);
|
|
1487
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.integrations);
|
|
1488
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.ecosystemApplications);
|
|
1489
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.workflowProjects);
|
|
1490
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.transformationProjects);
|
|
1491
|
+
assert.notEqual(undefined, metadataDotJson.relatedItems.exampleProjects);
|
|
1492
|
+
done();
|
|
1493
|
+
} catch (error) {
|
|
1494
|
+
log.error(`Test Failure: ${error}`);
|
|
1495
|
+
done(error);
|
|
1496
|
+
}
|
|
1497
|
+
});
|
|
1498
|
+
});
|
|
1360
1499
|
/*
|
|
1361
1500
|
-----------------------------------------------------------------------
|
|
1362
1501
|
-----------------------------------------------------------------------
|