@itentialopensource/adapter-att_mobility 0.1.2 → 0.2.2
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/.eslintignore +0 -1
- package/.jshintrc +3 -0
- package/AUTH.md +11 -14
- package/BROKER.md +3 -3
- package/CALLS.md +59 -23
- package/CHANGELOG.md +24 -0
- package/CONTRIBUTING.md +1 -160
- package/ENHANCE.md +4 -4
- package/PROPERTIES.md +19 -19
- package/README.md +45 -36
- package/SUMMARY.md +2 -2
- package/SYSTEMINFO.md +9 -4
- package/TROUBLESHOOT.md +6 -6
- package/adapter.js +159 -330
- package/adapterBase.js +538 -873
- package/changelogs/changelog.md +16 -0
- package/metadata.json +61 -0
- package/package.json +24 -26
- package/pronghorn.json +474 -142
- package/propertiesSchema.json +447 -43
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +149 -0
- package/report/adapter-openapi.yaml +133 -0
- package/report/adapterInfo.json +8 -8
- package/report/updateReport1691508426658.json +120 -0
- package/report/updateReport1692202905234.json +120 -0
- package/report/updateReport1694465385247.json +120 -0
- package/sampleProperties.json +64 -3
- package/test/integration/adapterTestBasicGet.js +1 -1
- package/test/integration/adapterTestConnectivity.js +91 -42
- package/test/integration/adapterTestIntegration.js +142 -17
- package/test/unit/adapterBaseTestUnit.js +388 -313
- package/test/unit/adapterTestUnit.js +320 -123
- package/utils/adapterInfo.js +1 -1
- package/utils/addAuth.js +1 -1
- package/utils/artifactize.js +1 -1
- package/utils/checkMigrate.js +1 -1
- package/utils/entitiesToDB.js +1 -0
- package/utils/findPath.js +1 -1
- package/utils/methodDocumentor.js +57 -22
- package/utils/modify.js +13 -15
- package/utils/packModificationScript.js +1 -1
- package/utils/taskMover.js +309 -0
- package/utils/tbScript.js +3 -10
- package/utils/tbUtils.js +2 -3
- package/utils/testRunner.js +1 -1
- package/utils/troubleshootingAdapter.js +1 -3
- package/workflows/README.md +0 -3
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
|
|
9
9
|
// include required items for testing & logging
|
|
10
10
|
const assert = require('assert');
|
|
11
|
-
const fs = require('fs-extra');
|
|
12
|
-
const mocha = require('mocha');
|
|
13
11
|
const path = require('path');
|
|
14
12
|
const util = require('util');
|
|
15
|
-
const winston = require('winston');
|
|
16
13
|
const execute = require('child_process').execSync;
|
|
14
|
+
const fs = require('fs-extra');
|
|
15
|
+
const mocha = require('mocha');
|
|
16
|
+
const winston = require('winston');
|
|
17
17
|
const { expect } = require('chai');
|
|
18
18
|
const { use } = require('chai');
|
|
19
19
|
const td = require('testdouble');
|
|
20
20
|
const Ajv = require('ajv');
|
|
21
21
|
|
|
22
|
-
const ajv = new Ajv({ allErrors: true,
|
|
22
|
+
const ajv = new Ajv({ strictSchema: false, allErrors: true, allowUnionTypes: true });
|
|
23
23
|
const anything = td.matchers.anything();
|
|
24
24
|
let logLevel = 'none';
|
|
25
25
|
const isRapidFail = false;
|
|
@@ -55,8 +55,8 @@ global.pronghornProps = {
|
|
|
55
55
|
},
|
|
56
56
|
adapterProps: {
|
|
57
57
|
adapters: [{
|
|
58
|
-
id: 'Test-
|
|
59
|
-
type: '
|
|
58
|
+
id: 'Test-att_mobility',
|
|
59
|
+
type: 'AttMobility',
|
|
60
60
|
properties: samProps
|
|
61
61
|
}]
|
|
62
62
|
}
|
|
@@ -118,7 +118,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
// require the adapter that we are going to be using
|
|
121
|
-
const
|
|
121
|
+
const AttMobility = require('../../adapter');
|
|
122
122
|
|
|
123
123
|
// delete the .DS_Store directory in entities -- otherwise this will cause errors
|
|
124
124
|
const dirPath = path.join(__dirname, '../../entities/.DS_Store');
|
|
@@ -132,9 +132,9 @@ if (fs.existsSync(dirPath)) {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// begin the testing - these should be pretty well defined between the describe and the it!
|
|
135
|
-
describe('[unit]
|
|
136
|
-
describe('
|
|
137
|
-
const a = new
|
|
135
|
+
describe('[unit] AttMobility Adapter Test', () => {
|
|
136
|
+
describe('AttMobility Class Tests', () => {
|
|
137
|
+
const a = new AttMobility(
|
|
138
138
|
pronghornProps.adapterProps.adapters[0].id,
|
|
139
139
|
pronghornProps.adapterProps.adapters[0].properties
|
|
140
140
|
);
|
|
@@ -222,19 +222,24 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
222
222
|
it('package.json should be validated', (done) => {
|
|
223
223
|
try {
|
|
224
224
|
const packageDotJson = require('../../package.json');
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
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']
|
|
229
234
|
};
|
|
230
|
-
const
|
|
235
|
+
const validate = ajv.compile(packageJsonSchema);
|
|
236
|
+
const isValid = validate(packageDotJson);
|
|
231
237
|
|
|
232
|
-
if (
|
|
233
|
-
log.error('The package.json contains
|
|
234
|
-
|
|
235
|
-
assert.equal(true, results.valid);
|
|
238
|
+
if (isValid === false) {
|
|
239
|
+
log.error('The package.json contains errors');
|
|
240
|
+
assert.equal(true, isValid);
|
|
236
241
|
} else {
|
|
237
|
-
assert.equal(true,
|
|
242
|
+
assert.equal(true, isValid);
|
|
238
243
|
}
|
|
239
244
|
|
|
240
245
|
done();
|
|
@@ -273,6 +278,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
273
278
|
assert.notEqual(undefined, packageDotJson.scripts);
|
|
274
279
|
assert.notEqual(null, packageDotJson.scripts);
|
|
275
280
|
assert.notEqual('', packageDotJson.scripts);
|
|
281
|
+
assert.equal('node utils/setup.js', packageDotJson.scripts.preinstall);
|
|
276
282
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
|
|
277
283
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
|
|
278
284
|
assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
|
|
@@ -280,6 +286,8 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
280
286
|
assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
|
|
281
287
|
assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
|
|
282
288
|
assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
|
|
289
|
+
assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
|
|
290
|
+
assert.equal('npm run deploy', packageDotJson.scripts.build);
|
|
283
291
|
done();
|
|
284
292
|
} catch (error) {
|
|
285
293
|
log.error(`Test Failure: ${error}`);
|
|
@@ -292,6 +300,9 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
292
300
|
assert.notEqual(undefined, packageDotJson.repository);
|
|
293
301
|
assert.notEqual(null, packageDotJson.repository);
|
|
294
302
|
assert.notEqual('', packageDotJson.repository);
|
|
303
|
+
assert.equal('git', packageDotJson.repository.type);
|
|
304
|
+
assert.equal('git@gitlab.com:itentialopensource/adapters/', packageDotJson.repository.url.substring(0, 43));
|
|
305
|
+
assert.equal('https://gitlab.com/itentialopensource/adapters/', packageDotJson.homepage.substring(0, 47));
|
|
295
306
|
done();
|
|
296
307
|
} catch (error) {
|
|
297
308
|
log.error(`Test Failure: ${error}`);
|
|
@@ -304,17 +315,17 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
304
315
|
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
305
316
|
assert.notEqual(null, packageDotJson.dependencies);
|
|
306
317
|
assert.notEqual('', packageDotJson.dependencies);
|
|
307
|
-
assert.equal('^
|
|
308
|
-
assert.equal('^
|
|
309
|
-
assert.equal('^
|
|
310
|
-
assert.equal('^
|
|
311
|
-
assert.equal('^
|
|
318
|
+
assert.equal('^8.12.0', packageDotJson.dependencies.ajv);
|
|
319
|
+
assert.equal('^1.4.0', 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);
|
|
312
323
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
313
|
-
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
314
324
|
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
325
|
+
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
|
315
326
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
316
|
-
assert.equal('^7.3
|
|
317
|
-
assert.equal('^3.
|
|
327
|
+
assert.equal('^7.5.3', packageDotJson.dependencies.semver);
|
|
328
|
+
assert.equal('^3.9.0', packageDotJson.dependencies.winston);
|
|
318
329
|
done();
|
|
319
330
|
} catch (error) {
|
|
320
331
|
log.error(`Test Failure: ${error}`);
|
|
@@ -327,13 +338,12 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
327
338
|
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
328
339
|
assert.notEqual(null, packageDotJson.devDependencies);
|
|
329
340
|
assert.notEqual('', packageDotJson.devDependencies);
|
|
330
|
-
assert.equal('^4.3.
|
|
331
|
-
assert.equal('^
|
|
332
|
-
assert.equal('^
|
|
333
|
-
assert.equal('^2.
|
|
334
|
-
assert.equal('^3.
|
|
335
|
-
assert.equal('^
|
|
336
|
-
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);
|
|
337
347
|
done();
|
|
338
348
|
} catch (error) {
|
|
339
349
|
log.error(`Test Failure: ${error}`);
|
|
@@ -377,16 +387,30 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
377
387
|
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
378
388
|
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
379
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'));
|
|
380
393
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
381
394
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
382
395
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
383
396
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
384
397
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
385
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
386
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
387
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
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'));
|
|
388
409
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
389
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'));
|
|
390
414
|
done();
|
|
391
415
|
} catch (error) {
|
|
392
416
|
log.error(`Test Failure: ${error}`);
|
|
@@ -557,7 +581,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
557
581
|
it('propertiesSchema.json should be customized', (done) => {
|
|
558
582
|
try {
|
|
559
583
|
const propertiesDotJson = require('../../propertiesSchema.json');
|
|
560
|
-
assert.equal('adapter-
|
|
584
|
+
assert.equal('adapter-att_mobility', propertiesDotJson.$id);
|
|
561
585
|
assert.equal('object', propertiesDotJson.type);
|
|
562
586
|
assert.equal('http://json-schema.org/draft-07/schema#', propertiesDotJson.$schema);
|
|
563
587
|
done();
|
|
@@ -758,7 +782,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
758
782
|
try {
|
|
759
783
|
const sampleDotJson = require('../../sampleProperties.json');
|
|
760
784
|
assert.notEqual(-1, sampleDotJson.id.indexOf('att_mobility'));
|
|
761
|
-
assert.equal('
|
|
785
|
+
assert.equal('AttMobility', sampleDotJson.type);
|
|
762
786
|
assert.notEqual(undefined, sampleDotJson.properties);
|
|
763
787
|
assert.notEqual(null, sampleDotJson.properties);
|
|
764
788
|
assert.notEqual('', sampleDotJson.properties);
|
|
@@ -863,6 +887,8 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
863
887
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
864
888
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
865
889
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
890
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache);
|
|
891
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache.entities);
|
|
866
892
|
done();
|
|
867
893
|
} catch (error) {
|
|
868
894
|
log.error(`Test Failure: ${error}`);
|
|
@@ -968,40 +994,6 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
968
994
|
});
|
|
969
995
|
});
|
|
970
996
|
|
|
971
|
-
describe('#iapFindAdapterPath', () => {
|
|
972
|
-
it('should have a iapFindAdapterPath function', (done) => {
|
|
973
|
-
try {
|
|
974
|
-
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
975
|
-
done();
|
|
976
|
-
} catch (error) {
|
|
977
|
-
log.error(`Test Failure: ${error}`);
|
|
978
|
-
done(error);
|
|
979
|
-
}
|
|
980
|
-
});
|
|
981
|
-
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
982
|
-
try {
|
|
983
|
-
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
984
|
-
try {
|
|
985
|
-
assert.equal(undefined, error);
|
|
986
|
-
assert.notEqual(undefined, data);
|
|
987
|
-
assert.notEqual(null, data);
|
|
988
|
-
assert.equal(true, data.found);
|
|
989
|
-
assert.notEqual(undefined, data.foundIn);
|
|
990
|
-
assert.notEqual(null, data.foundIn);
|
|
991
|
-
assert.notEqual(0, data.foundIn.length);
|
|
992
|
-
done();
|
|
993
|
-
} catch (err) {
|
|
994
|
-
log.error(`Test Failure: ${err}`);
|
|
995
|
-
done(err);
|
|
996
|
-
}
|
|
997
|
-
});
|
|
998
|
-
} catch (error) {
|
|
999
|
-
log.error(`Adapter Exception: ${error}`);
|
|
1000
|
-
done(error);
|
|
1001
|
-
}
|
|
1002
|
-
}).timeout(attemptTimeout);
|
|
1003
|
-
});
|
|
1004
|
-
|
|
1005
997
|
describe('#iapSuspendAdapter', () => {
|
|
1006
998
|
it('should have a iapSuspendAdapter function', (done) => {
|
|
1007
999
|
try {
|
|
@@ -1038,6 +1030,40 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1038
1030
|
});
|
|
1039
1031
|
});
|
|
1040
1032
|
|
|
1033
|
+
describe('#iapFindAdapterPath', () => {
|
|
1034
|
+
it('should have a iapFindAdapterPath function', (done) => {
|
|
1035
|
+
try {
|
|
1036
|
+
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
1037
|
+
done();
|
|
1038
|
+
} catch (error) {
|
|
1039
|
+
log.error(`Test Failure: ${error}`);
|
|
1040
|
+
done(error);
|
|
1041
|
+
}
|
|
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);
|
|
1065
|
+
});
|
|
1066
|
+
|
|
1041
1067
|
describe('#iapTroubleshootAdapter', () => {
|
|
1042
1068
|
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
1043
1069
|
try {
|
|
@@ -1183,49 +1209,53 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1183
1209
|
}).timeout(attemptTimeout);
|
|
1184
1210
|
});
|
|
1185
1211
|
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
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
|
+
});
|
|
1223
|
+
|
|
1224
|
+
describe('#iapActivateTasks', () => {
|
|
1225
|
+
it('should have a iapActivateTasks function', (done) => {
|
|
1226
|
+
try {
|
|
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');
|
|
1252
|
+
done();
|
|
1253
|
+
} catch (error) {
|
|
1254
|
+
log.error(`Test Failure: ${error}`);
|
|
1255
|
+
done(error);
|
|
1256
|
+
}
|
|
1257
|
+
});
|
|
1258
|
+
});
|
|
1229
1259
|
|
|
1230
1260
|
describe('#hasEntities', () => {
|
|
1231
1261
|
it('should have a hasEntities function', (done) => {
|
|
@@ -1299,6 +1329,173 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1299
1329
|
});
|
|
1300
1330
|
});
|
|
1301
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-att_mobility', 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-att_mobility', 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
|
+
});
|
|
1302
1499
|
/*
|
|
1303
1500
|
-----------------------------------------------------------------------
|
|
1304
1501
|
-----------------------------------------------------------------------
|
|
@@ -1323,7 +1520,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1323
1520
|
a.getServiceActivationStatus(null, (data, error) => {
|
|
1324
1521
|
try {
|
|
1325
1522
|
const displayE = 'requestId is required';
|
|
1326
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1523
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-getServiceActivationStatus', displayE);
|
|
1327
1524
|
done();
|
|
1328
1525
|
} catch (err) {
|
|
1329
1526
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1352,7 +1549,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1352
1549
|
a.getBillingAccountDetails(null, (data, error) => {
|
|
1353
1550
|
try {
|
|
1354
1551
|
const displayE = 'billingAccountNumber is required';
|
|
1355
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1552
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-getBillingAccountDetails', displayE);
|
|
1356
1553
|
done();
|
|
1357
1554
|
} catch (err) {
|
|
1358
1555
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1381,7 +1578,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1381
1578
|
a.getSubscriberLineDetails(null, (data, error) => {
|
|
1382
1579
|
try {
|
|
1383
1580
|
const displayE = 'subscriberLine is required';
|
|
1384
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1581
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-getSubscriberLineDetails', displayE);
|
|
1385
1582
|
done();
|
|
1386
1583
|
} catch (err) {
|
|
1387
1584
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1410,7 +1607,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1410
1607
|
a.postServiceActivation(null, (data, error) => {
|
|
1411
1608
|
try {
|
|
1412
1609
|
const displayE = 'body is required';
|
|
1413
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1610
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-postServiceActivation', displayE);
|
|
1414
1611
|
done();
|
|
1415
1612
|
} catch (err) {
|
|
1416
1613
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1439,7 +1636,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1439
1636
|
a.editSubscriberLineDetails(null, null, (data, error) => {
|
|
1440
1637
|
try {
|
|
1441
1638
|
const displayE = 'subsciberLine is required';
|
|
1442
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1639
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-editSubscriberLineDetails', displayE);
|
|
1443
1640
|
done();
|
|
1444
1641
|
} catch (err) {
|
|
1445
1642
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1456,7 +1653,7 @@ describe('[unit] Attmobility Adapter Test', () => {
|
|
|
1456
1653
|
a.editSubscriberLineDetails('fakeparam', null, (data, error) => {
|
|
1457
1654
|
try {
|
|
1458
1655
|
const displayE = 'body is required';
|
|
1459
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1656
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-att_mobility-adapter-editSubscriberLineDetails', displayE);
|
|
1460
1657
|
done();
|
|
1461
1658
|
} catch (err) {
|
|
1462
1659
|
log.error(`Test Failure: ${err}`);
|
package/utils/adapterInfo.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
/* eslint import/no-dynamic-require:warn */
|
|
5
5
|
/* eslint prefer-destructuring:warn */
|
|
6
6
|
|
|
7
|
-
const fs = require('fs-extra');
|
|
8
7
|
const path = require('path');
|
|
8
|
+
const fs = require('fs-extra');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* This script will determine the information about the adapter and store
|
package/utils/addAuth.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint global-require: warn */
|
|
3
3
|
/* eslint import/no-dynamic-require: warn */
|
|
4
4
|
|
|
5
|
-
const rls = require('readline-sync');
|
|
6
5
|
const path = require('path');
|
|
7
6
|
const fs = require('fs');
|
|
7
|
+
const rls = require('readline-sync');
|
|
8
8
|
|
|
9
9
|
function getQuestions(props, obj) {
|
|
10
10
|
const questions = props.map((p) => `${p}: ${(obj[p] !== undefined) ? `(${obj[p]})` : ''} `);
|
package/utils/artifactize.js
CHANGED