@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.
Files changed (48) hide show
  1. package/.eslintignore +0 -1
  2. package/.jshintrc +3 -0
  3. package/AUTH.md +11 -14
  4. package/BROKER.md +3 -3
  5. package/CALLS.md +59 -23
  6. package/CHANGELOG.md +24 -0
  7. package/CONTRIBUTING.md +1 -160
  8. package/ENHANCE.md +4 -4
  9. package/PROPERTIES.md +19 -19
  10. package/README.md +45 -36
  11. package/SUMMARY.md +2 -2
  12. package/SYSTEMINFO.md +9 -4
  13. package/TROUBLESHOOT.md +6 -6
  14. package/adapter.js +159 -330
  15. package/adapterBase.js +538 -873
  16. package/changelogs/changelog.md +16 -0
  17. package/metadata.json +61 -0
  18. package/package.json +24 -26
  19. package/pronghorn.json +474 -142
  20. package/propertiesSchema.json +447 -43
  21. package/refs?service=git-upload-pack +0 -0
  22. package/report/adapter-openapi.json +149 -0
  23. package/report/adapter-openapi.yaml +133 -0
  24. package/report/adapterInfo.json +8 -8
  25. package/report/updateReport1691508426658.json +120 -0
  26. package/report/updateReport1692202905234.json +120 -0
  27. package/report/updateReport1694465385247.json +120 -0
  28. package/sampleProperties.json +64 -3
  29. package/test/integration/adapterTestBasicGet.js +1 -1
  30. package/test/integration/adapterTestConnectivity.js +91 -42
  31. package/test/integration/adapterTestIntegration.js +142 -17
  32. package/test/unit/adapterBaseTestUnit.js +388 -313
  33. package/test/unit/adapterTestUnit.js +320 -123
  34. package/utils/adapterInfo.js +1 -1
  35. package/utils/addAuth.js +1 -1
  36. package/utils/artifactize.js +1 -1
  37. package/utils/checkMigrate.js +1 -1
  38. package/utils/entitiesToDB.js +1 -0
  39. package/utils/findPath.js +1 -1
  40. package/utils/methodDocumentor.js +57 -22
  41. package/utils/modify.js +13 -15
  42. package/utils/packModificationScript.js +1 -1
  43. package/utils/taskMover.js +309 -0
  44. package/utils/tbScript.js +3 -10
  45. package/utils/tbUtils.js +2 -3
  46. package/utils/testRunner.js +1 -1
  47. package/utils/troubleshootingAdapter.js +1 -3
  48. 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, unknownFormats: 'ignore' });
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-attmobility',
59
- type: 'Attmobility',
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 Attmobility = require('../../adapter');
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] Attmobility Adapter Test', () => {
136
- describe('Attmobility Class Tests', () => {
137
- const a = new Attmobility(
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
- const { PJV } = require('package-json-validator');
226
- const options = {
227
- warnings: true, // show warnings
228
- recommendations: true // show recommendations
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 results = PJV.validate(JSON.stringify(packageDotJson), 'npm', options);
235
+ const validate = ajv.compile(packageJsonSchema);
236
+ const isValid = validate(packageDotJson);
231
237
 
232
- if (results.valid === false) {
233
- log.error('The package.json contains the following errors: ');
234
- log.error(util.inspect(results));
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, results.valid);
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('^6.12.0', packageDotJson.dependencies.ajv);
308
- assert.equal('^0.21.0', packageDotJson.dependencies.axios);
309
- assert.equal('^2.20.0', packageDotJson.dependencies.commander);
310
- assert.equal('^8.1.0', packageDotJson.dependencies['fs-extra']);
311
- assert.equal('^9.0.1', packageDotJson.dependencies.mocha);
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.2', packageDotJson.dependencies.semver);
317
- assert.equal('^3.3.3', packageDotJson.dependencies.winston);
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.4', packageDotJson.devDependencies.chai);
331
- assert.equal('^7.29.0', packageDotJson.devDependencies.eslint);
332
- assert.equal('^14.2.1', packageDotJson.devDependencies['eslint-config-airbnb-base']);
333
- assert.equal('^2.23.4', packageDotJson.devDependencies['eslint-plugin-import']);
334
- assert.equal('^3.0.0', packageDotJson.devDependencies['eslint-plugin-json']);
335
- assert.equal('^0.6.3', packageDotJson.devDependencies['package-json-validator']);
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 === 'iapSuspendAdapter'));
386
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUnsuspendAdapter'));
387
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterQueue'));
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-attmobility', propertiesDotJson.$id);
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('att_mobility', sampleDotJson.type);
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
- // describe('#iapHasAdapterEntity', () => {
1187
- // it('should have a iapHasAdapterEntity function', (done) => {
1188
- // try {
1189
- // assert.equal(true, typeof a.iapHasAdapterEntity === 'function');
1190
- // done();
1191
- // } catch (error) {
1192
- // log.error(`Test Failure: ${error}`);
1193
- // done(error);
1194
- // }
1195
- // });
1196
- // it('should find entity', (done) => {
1197
- // try {
1198
- // a.iapHasAdapterEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
1199
- // try {
1200
- // assert.equal(true, data[0]);
1201
- // done();
1202
- // } catch (err) {
1203
- // log.error(`Test Failure: ${err}`);
1204
- // done(err);
1205
- // }
1206
- // });
1207
- // } catch (error) {
1208
- // log.error(`Adapter Exception: ${error}`);
1209
- // done(error);
1210
- // }
1211
- // }).timeout(attemptTimeout);
1212
- // it('should not find entity', (done) => {
1213
- // try {
1214
- // a.iapHasAdapterEntity('template_entity', 'blah', (data) => {
1215
- // try {
1216
- // assert.equal(false, data[0]);
1217
- // done();
1218
- // } catch (err) {
1219
- // log.error(`Test Failure: ${err}`);
1220
- // done(err);
1221
- // }
1222
- // });
1223
- // } catch (error) {
1224
- // log.error(`Adapter Exception: ${error}`);
1225
- // done(error);
1226
- // }
1227
- // }).timeout(attemptTimeout);
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-attmobility-adapter-getServiceActivationStatus', displayE);
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-attmobility-adapter-getBillingAccountDetails', displayE);
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-attmobility-adapter-getSubscriberLineDetails', displayE);
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-attmobility-adapter-postServiceActivation', displayE);
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-attmobility-adapter-editSubscriberLineDetails', displayE);
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-attmobility-adapter-editSubscriberLineDetails', displayE);
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}`);
@@ -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]})` : ''} `);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /* @copyright Itential, LLC 2019 */
3
3
 
4
- const fs = require('fs-extra');
5
4
  const path = require('path');
5
+ const fs = require('fs-extra');
6
6
 
7
7
  async function createBundle(adapterOldDir) {
8
8
  // set directories