@itentialopensource/adapter-meraki 0.8.0 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -317,8 +317,10 @@ describe('[unit] Adapter Base Test', () => {
317
317
  });
318
318
  it('should return a list of functions', (done) => {
319
319
  const returnedFunctions = ['addEntityCache', 'capabilityResults', 'checkActionFiles', 'checkProperties', 'connect', 'encryptProperty',
320
- 'entityInList', 'findPath', 'getAllCapabilities', 'getAllFunctions', 'getQueue', 'getWorkflowFunctions', 'healthCheck', 'moveEntitiesToDB',
321
- 'refreshProperties', 'runBasicGet', 'runConnectivity', 'runHealthcheck', 'suspend', 'troubleshoot', 'unsuspend', 'updateAdapterConfiguration', 'addListener',
320
+ 'entityInList', 'getAllCapabilities', 'getAllFunctions', 'getConfig', 'getDevice', 'getDevicesFiltered', 'hasDevices', 'hasEntities',
321
+ 'healthCheck', 'iapFindAdapterPath', 'iapGetAdapterQueue', 'iapGetAdapterWorkflowFunctions', 'iapGetDeviceCount', 'iapMakeBrokerCall',
322
+ 'iapMoveAdapterEntitiesToDB', 'iapRunAdapterBasicGet', 'iapRunAdapterConnectivity', 'iapRunAdapterHealthcheck', 'iapSuspendAdapter',
323
+ 'iapTroubleshootAdapter', 'iapUnsuspendAdapter', 'iapUpdateAdapterConfiguration', 'isAlive', 'refreshProperties', 'addListener',
322
324
  'emit', 'eventNames', 'getMaxListeners', 'listenerCount', 'listeners', 'off', 'on', 'once', 'prependListener',
323
325
  'prependOnceListener', 'rawListeners', 'removeAllListeners', 'removeListener', 'setMaxListeners'];
324
326
  try {
@@ -337,10 +339,10 @@ describe('[unit] Adapter Base Test', () => {
337
339
  }).timeout(attemptTimeout);
338
340
  });
339
341
 
340
- describe('#getWorkflowFunctions', () => {
341
- it('should have a getWorkflowFunctions function', (done) => {
342
+ describe('#iapGetAdapterWorkflowFunctions', () => {
343
+ it('should have a iapGetAdapterWorkflowFunctions function', (done) => {
342
344
  try {
343
- assert.equal(true, typeof a.getWorkflowFunctions === 'function');
345
+ assert.equal(true, typeof a.iapGetAdapterWorkflowFunctions === 'function');
344
346
  done();
345
347
  } catch (error) {
346
348
  log.error(`Test Failure: ${error}`);
@@ -349,7 +351,7 @@ describe('[unit] Adapter Base Test', () => {
349
351
  });
350
352
  it('should retrieve workflow functions', (done) => {
351
353
  try {
352
- const expectedFunctions = a.getWorkflowFunctions([]);
354
+ const expectedFunctions = a.iapGetAdapterWorkflowFunctions([]);
353
355
  try {
354
356
  assert.equal(0, expectedFunctions.length);
355
357
  done();
@@ -426,10 +428,10 @@ describe('[unit] Adapter Base Test', () => {
426
428
  }).timeout(attemptTimeout);
427
429
  });
428
430
 
429
- describe('#getQueue', () => {
430
- it('should have a getQueue function', (done) => {
431
+ describe('#iapGetAdapterQueue', () => {
432
+ it('should have a iapGetAdapterQueue function', (done) => {
431
433
  try {
432
- assert.equal(true, typeof a.getQueue === 'function');
434
+ assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
433
435
  done();
434
436
  } catch (error) {
435
437
  log.error(`Test Failure: ${error}`);
@@ -438,7 +440,7 @@ describe('[unit] Adapter Base Test', () => {
438
440
  });
439
441
  it('should get information for all of the requests currently in the queue', (done) => {
440
442
  try {
441
- const expectedFunctions = a.getQueue();
443
+ const expectedFunctions = a.iapGetAdapterQueue();
442
444
  try {
443
445
  assert.equal(0, expectedFunctions.length);
444
446
  done();
@@ -817,12 +819,17 @@ describe('[unit] Adapter Base Test', () => {
817
819
  try {
818
820
  assert.notEqual(0, expectedCapabilities.length);
819
821
  assert.equal('.generic', expectedCapabilities[0].entity);
820
- assert.equal(5, expectedCapabilities[0].actions.length);
822
+ assert.equal(10, expectedCapabilities[0].actions.length);
821
823
  assert.equal('getGenerics', expectedCapabilities[0].actions[0]);
822
824
  assert.equal('createGeneric', expectedCapabilities[0].actions[1]);
823
825
  assert.equal('updateGeneric', expectedCapabilities[0].actions[2]);
824
826
  assert.equal('patchGeneric', expectedCapabilities[0].actions[3]);
825
827
  assert.equal('deleteGeneric', expectedCapabilities[0].actions[4]);
828
+ assert.equal('getGenericsNoBase', expectedCapabilities[0].actions[5]);
829
+ assert.equal('createGenericNoBase', expectedCapabilities[0].actions[6]);
830
+ assert.equal('updateGenericNoBase', expectedCapabilities[0].actions[7]);
831
+ assert.equal('patchGenericNoBase', expectedCapabilities[0].actions[8]);
832
+ assert.equal('deleteGenericNoBase', expectedCapabilities[0].actions[9]);
826
833
  assert.equal('.system', expectedCapabilities[1].entity);
827
834
  assert.equal(2, expectedCapabilities[1].actions.length);
828
835
  assert.equal('getToken', expectedCapabilities[1].actions[0]);
@@ -843,12 +850,10 @@ describe('[unit] Adapter Base Test', () => {
843
850
  }).timeout(attemptTimeout);
844
851
  });
845
852
 
846
- // const returnedFunctions = ['updateAdapterConfiguration'];
847
-
848
- describe('#updateAdapterConfiguration', () => {
849
- it('should have a updateAdapterConfiguration function', (done) => {
853
+ describe('#iapUpdateAdapterConfiguration', () => {
854
+ it('should have a iapUpdateAdapterConfiguration function', (done) => {
850
855
  try {
851
- assert.equal(true, typeof a.updateAdapterConfiguration === 'function');
856
+ assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
852
857
  done();
853
858
  } catch (error) {
854
859
  log.error(`Test Failure: ${error}`);
@@ -857,7 +862,7 @@ describe('[unit] Adapter Base Test', () => {
857
862
  });
858
863
  it('should return no updated if no changes are provided', (done) => {
859
864
  try {
860
- a.updateAdapterConfiguration(null, null, null, null, null, (data, error) => {
865
+ a.iapUpdateAdapterConfiguration(null, null, null, null, null, (data, error) => {
861
866
  try {
862
867
  assert.equal('No configuration updates to make', data.response);
863
868
  done();
@@ -873,10 +878,10 @@ describe('[unit] Adapter Base Test', () => {
873
878
  }).timeout(attemptTimeout);
874
879
  it('should throw an error if missing configuration file', (done) => {
875
880
  try {
876
- a.updateAdapterConfiguration(null, { name: 'fakeChange' }, null, null, null, (data, error) => {
881
+ a.iapUpdateAdapterConfiguration(null, { name: 'fakeChange' }, null, null, null, (data, error) => {
877
882
  try {
878
883
  const displayE = 'configFile is required';
879
- runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-updateAdapterConfiguration', displayE);
884
+ runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
880
885
  done();
881
886
  } catch (err) {
882
887
  log.error(`Test Failure: ${err}`);
@@ -890,10 +895,10 @@ describe('[unit] Adapter Base Test', () => {
890
895
  }).timeout(attemptTimeout);
891
896
  it('if not package.json, entity is required', (done) => {
892
897
  try {
893
- a.updateAdapterConfiguration('notPackage', { name: 'fakeChange' }, null, null, null, (data, error) => {
898
+ a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, null, null, null, (data, error) => {
894
899
  try {
895
900
  const displayE = 'Unsupported Configuration Change or Missing Entity';
896
- runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-updateAdapterConfiguration', displayE);
901
+ runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
897
902
  done();
898
903
  } catch (err) {
899
904
  log.error(`Test Failure: ${err}`);
@@ -907,10 +912,10 @@ describe('[unit] Adapter Base Test', () => {
907
912
  }).timeout(attemptTimeout);
908
913
  it('if not package.json, type is required', (done) => {
909
914
  try {
910
- a.updateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'entity', null, null, (data, error) => {
915
+ a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'entity', null, null, (data, error) => {
911
916
  try {
912
917
  const displayE = 'type is required';
913
- runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-updateAdapterConfiguration', displayE);
918
+ runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
914
919
  done();
915
920
  } catch (err) {
916
921
  log.error(`Test Failure: ${err}`);
@@ -924,10 +929,10 @@ describe('[unit] Adapter Base Test', () => {
924
929
  }).timeout(attemptTimeout);
925
930
  it('if not package.json, entity must be valid', (done) => {
926
931
  try {
927
- a.updateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'fakeEntity', 'fakeType', null, (data, error) => {
932
+ a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'fakeEntity', 'fakeType', null, (data, error) => {
928
933
  try {
929
934
  const displayE = 'Incomplete Configuration Change: Invalid Entity - fakeEntity';
930
- runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-updateAdapterConfiguration', displayE);
935
+ runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
931
936
  done();
932
937
  } catch (err) {
933
938
  log.error(`Test Failure: ${err}`);
@@ -271,10 +271,10 @@ describe('[unit] Meraki Adapter Test', () => {
271
271
  });
272
272
 
273
273
  let wffunctions = [];
274
- describe('#getWorkflowFunctions', () => {
274
+ describe('#iapGetAdapterWorkflowFunctions', () => {
275
275
  it('should retrieve workflow functions', (done) => {
276
276
  try {
277
- wffunctions = a.getWorkflowFunctions([]);
277
+ wffunctions = a.iapGetAdapterWorkflowFunctions([]);
278
278
 
279
279
  try {
280
280
  assert.notEqual(0, wffunctions.length);
@@ -465,16 +465,17 @@ describe('[unit] Meraki Adapter Test', () => {
465
465
  assert.notEqual('', pronghornDotJson.methods);
466
466
  assert.equal(true, Array.isArray(pronghornDotJson.methods));
467
467
  assert.notEqual(0, pronghornDotJson.methods.length);
468
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'updateAdapterConfiguration'));
469
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'findPath'));
470
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'troubleshoot'));
471
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'runHealthcheck'));
472
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'runConnectivity'));
473
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'runBasicGet'));
474
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'suspend'));
475
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'unsuspend'));
476
- assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'getQueue'));
468
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUpdateAdapterConfiguration'));
469
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
470
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
471
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
472
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
473
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
474
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapSuspendAdapter'));
475
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUnsuspendAdapter'));
476
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterQueue'));
477
477
  assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
478
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequestNoBasePath'));
478
479
  done();
479
480
  } catch (error) {
480
481
  log.error(`Test Failure: ${error}`);
@@ -646,6 +647,8 @@ describe('[unit] Meraki Adapter Test', () => {
646
647
  assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_id.type);
647
648
  assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_secret.type);
648
649
  assert.equal('string', propertiesDotJson.definitions.authentication.properties.grant_type.type);
650
+ assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
651
+ assert.notEqual(null, propertiesDotJson.definitions.ssl);
649
652
  assert.notEqual('', propertiesDotJson.definitions.ssl);
650
653
  assert.equal('string', propertiesDotJson.definitions.ssl.properties.ecdhCurve.type);
651
654
  assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.enabled.type);
@@ -659,6 +662,7 @@ describe('[unit] Meraki Adapter Test', () => {
659
662
  assert.equal('string', propertiesDotJson.properties.version.type);
660
663
  assert.equal('string', propertiesDotJson.properties.cache_location.type);
661
664
  assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
665
+ assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
662
666
  assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
663
667
  assert.equal('string', propertiesDotJson.properties.protocol.type);
664
668
  assert.notEqual(undefined, propertiesDotJson.definitions);
@@ -707,8 +711,6 @@ describe('[unit] Meraki Adapter Test', () => {
707
711
  assert.equal('string', propertiesDotJson.definitions.proxy.properties.protocol.type);
708
712
  assert.equal('string', propertiesDotJson.definitions.proxy.properties.username.type);
709
713
  assert.equal('string', propertiesDotJson.definitions.proxy.properties.password.type);
710
- assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
711
- assert.notEqual(null, propertiesDotJson.definitions.ssl);
712
714
  assert.notEqual(undefined, propertiesDotJson.definitions.mongo);
713
715
  assert.notEqual(null, propertiesDotJson.definitions.mongo);
714
716
  assert.notEqual('', propertiesDotJson.definitions.mongo);
@@ -724,6 +726,12 @@ describe('[unit] Meraki Adapter Test', () => {
724
726
  assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.ca_file.type);
725
727
  assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.key_file.type);
726
728
  assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.cert_file.type);
729
+ assert.notEqual('', propertiesDotJson.definitions.devicebroker);
730
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevice.type);
731
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevicesFiltered.type);
732
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.isAlive.type);
733
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getConfig.type);
734
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getCount.type);
727
735
  done();
728
736
  } catch (error) {
729
737
  log.error(`Test Failure: ${error}`);
@@ -1002,10 +1010,10 @@ describe('[unit] Meraki Adapter Test', () => {
1002
1010
  });
1003
1011
  });
1004
1012
 
1005
- describe('#updateAdapterConfiguration', () => {
1006
- it('should have a updateAdapterConfiguration function', (done) => {
1013
+ describe('#iapUpdateAdapterConfiguration', () => {
1014
+ it('should have a iapUpdateAdapterConfiguration function', (done) => {
1007
1015
  try {
1008
- assert.equal(true, typeof a.updateAdapterConfiguration === 'function');
1016
+ assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
1009
1017
  done();
1010
1018
  } catch (error) {
1011
1019
  log.error(`Test Failure: ${error}`);
@@ -1014,19 +1022,19 @@ describe('[unit] Meraki Adapter Test', () => {
1014
1022
  });
1015
1023
  });
1016
1024
 
1017
- describe('#findPath', () => {
1018
- it('should have a findPath function', (done) => {
1025
+ describe('#iapFindAdapterPath', () => {
1026
+ it('should have a iapFindAdapterPath function', (done) => {
1019
1027
  try {
1020
- assert.equal(true, typeof a.findPath === 'function');
1028
+ assert.equal(true, typeof a.iapFindAdapterPath === 'function');
1021
1029
  done();
1022
1030
  } catch (error) {
1023
1031
  log.error(`Test Failure: ${error}`);
1024
1032
  done(error);
1025
1033
  }
1026
1034
  });
1027
- it('findPath should find atleast one path that matches', (done) => {
1035
+ it('iapFindAdapterPath should find atleast one path that matches', (done) => {
1028
1036
  try {
1029
- a.findPath('{base_path}/{version}', (data, error) => {
1037
+ a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
1030
1038
  try {
1031
1039
  assert.equal(undefined, error);
1032
1040
  assert.notEqual(undefined, data);
@@ -1048,10 +1056,10 @@ describe('[unit] Meraki Adapter Test', () => {
1048
1056
  }).timeout(attemptTimeout);
1049
1057
  });
1050
1058
 
1051
- describe('#suspend', () => {
1052
- it('should have a suspend function', (done) => {
1059
+ describe('#iapSuspendAdapter', () => {
1060
+ it('should have a iapSuspendAdapter function', (done) => {
1053
1061
  try {
1054
- assert.equal(true, typeof a.suspend === 'function');
1062
+ assert.equal(true, typeof a.iapSuspendAdapter === 'function');
1055
1063
  done();
1056
1064
  } catch (error) {
1057
1065
  log.error(`Test Failure: ${error}`);
@@ -1060,10 +1068,10 @@ describe('[unit] Meraki Adapter Test', () => {
1060
1068
  });
1061
1069
  });
1062
1070
 
1063
- describe('#unsuspend', () => {
1064
- it('should have a unsuspend function', (done) => {
1071
+ describe('#iapUnsuspendAdapter', () => {
1072
+ it('should have a iapUnsuspendAdapter function', (done) => {
1065
1073
  try {
1066
- assert.equal(true, typeof a.unsuspend === 'function');
1074
+ assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
1067
1075
  done();
1068
1076
  } catch (error) {
1069
1077
  log.error(`Test Failure: ${error}`);
@@ -1072,10 +1080,10 @@ describe('[unit] Meraki Adapter Test', () => {
1072
1080
  });
1073
1081
  });
1074
1082
 
1075
- describe('#getQueue', () => {
1076
- it('should have a getQueue function', (done) => {
1083
+ describe('#iapGetAdapterQueue', () => {
1084
+ it('should have a iapGetAdapterQueue function', (done) => {
1077
1085
  try {
1078
- assert.equal(true, typeof a.getQueue === 'function');
1086
+ assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
1079
1087
  done();
1080
1088
  } catch (error) {
1081
1089
  log.error(`Test Failure: ${error}`);
@@ -1084,10 +1092,10 @@ describe('[unit] Meraki Adapter Test', () => {
1084
1092
  });
1085
1093
  });
1086
1094
 
1087
- describe('#troubleshoot', () => {
1088
- it('should have a troubleshoot function', (done) => {
1095
+ describe('#iapTroubleshootAdapter', () => {
1096
+ it('should have a iapTroubleshootAdapter function', (done) => {
1089
1097
  try {
1090
- assert.equal(true, typeof a.troubleshoot === 'function');
1098
+ assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
1091
1099
  done();
1092
1100
  } catch (error) {
1093
1101
  log.error(`Test Failure: ${error}`);
@@ -1096,10 +1104,10 @@ describe('[unit] Meraki Adapter Test', () => {
1096
1104
  });
1097
1105
  });
1098
1106
 
1099
- describe('#runHealthcheck', () => {
1100
- it('should have a runHealthcheck function', (done) => {
1107
+ describe('#iapRunAdapterHealthcheck', () => {
1108
+ it('should have a iapRunAdapterHealthcheck function', (done) => {
1101
1109
  try {
1102
- assert.equal(true, typeof a.runHealthcheck === 'function');
1110
+ assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
1103
1111
  done();
1104
1112
  } catch (error) {
1105
1113
  log.error(`Test Failure: ${error}`);
@@ -1108,10 +1116,10 @@ describe('[unit] Meraki Adapter Test', () => {
1108
1116
  });
1109
1117
  });
1110
1118
 
1111
- describe('#runConnectivity', () => {
1112
- it('should have a runConnectivity function', (done) => {
1119
+ describe('#iapRunAdapterConnectivity', () => {
1120
+ it('should have a iapRunAdapterConnectivity function', (done) => {
1113
1121
  try {
1114
- assert.equal(true, typeof a.runConnectivity === 'function');
1122
+ assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
1115
1123
  done();
1116
1124
  } catch (error) {
1117
1125
  log.error(`Test Failure: ${error}`);
@@ -1120,10 +1128,10 @@ describe('[unit] Meraki Adapter Test', () => {
1120
1128
  });
1121
1129
  });
1122
1130
 
1123
- describe('#runBasicGet', () => {
1124
- it('should have a runBasicGet function', (done) => {
1131
+ describe('#iapRunAdapterBasicGet', () => {
1132
+ it('should have a iapRunAdapterBasicGet function', (done) => {
1125
1133
  try {
1126
- assert.equal(true, typeof a.runBasicGet === 'function');
1134
+ assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
1127
1135
  done();
1128
1136
  } catch (error) {
1129
1137
  log.error(`Test Failure: ${error}`);
@@ -1132,10 +1140,10 @@ describe('[unit] Meraki Adapter Test', () => {
1132
1140
  });
1133
1141
  });
1134
1142
 
1135
- describe('#moveEntitiesToDB', () => {
1136
- it('should have a moveEntitiesToDB function', (done) => {
1143
+ describe('#iapMoveAdapterEntitiesToDB', () => {
1144
+ it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
1137
1145
  try {
1138
- assert.equal(true, typeof a.moveEntitiesToDB === 'function');
1146
+ assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
1139
1147
  done();
1140
1148
  } catch (error) {
1141
1149
  log.error(`Test Failure: ${error}`);
@@ -1229,10 +1237,10 @@ describe('[unit] Meraki Adapter Test', () => {
1229
1237
  }).timeout(attemptTimeout);
1230
1238
  });
1231
1239
 
1232
- // describe('#hasEntity', () => {
1233
- // it('should have a hasEntity function', (done) => {
1240
+ // describe('#iapHasAdapterEntity', () => {
1241
+ // it('should have a iapHasAdapterEntity function', (done) => {
1234
1242
  // try {
1235
- // assert.equal(true, typeof a.hasEntity === 'function');
1243
+ // assert.equal(true, typeof a.iapHasAdapterEntity === 'function');
1236
1244
  // done();
1237
1245
  // } catch (error) {
1238
1246
  // log.error(`Test Failure: ${error}`);
@@ -1241,7 +1249,7 @@ describe('[unit] Meraki Adapter Test', () => {
1241
1249
  // });
1242
1250
  // it('should find entity', (done) => {
1243
1251
  // try {
1244
- // a.hasEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
1252
+ // a.iapHasAdapterEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
1245
1253
  // try {
1246
1254
  // assert.equal(true, data[0]);
1247
1255
  // done();
@@ -1257,7 +1265,7 @@ describe('[unit] Meraki Adapter Test', () => {
1257
1265
  // }).timeout(attemptTimeout);
1258
1266
  // it('should not find entity', (done) => {
1259
1267
  // try {
1260
- // a.hasEntity('template_entity', 'blah', (data) => {
1268
+ // a.iapHasAdapterEntity('template_entity', 'blah', (data) => {
1261
1269
  // try {
1262
1270
  // assert.equal(false, data[0]);
1263
1271
  // done();
@@ -1285,18 +1293,6 @@ describe('[unit] Meraki Adapter Test', () => {
1285
1293
  });
1286
1294
  });
1287
1295
 
1288
- describe('#hasDevices', () => {
1289
- it('should have a hasDevices function', (done) => {
1290
- try {
1291
- assert.equal(true, typeof a.hasDevices === 'function');
1292
- done();
1293
- } catch (error) {
1294
- log.error(`Test Failure: ${error}`);
1295
- done(error);
1296
- }
1297
- });
1298
- });
1299
-
1300
1296
  describe('#getDevice', () => {
1301
1297
  it('should have a getDevice function', (done) => {
1302
1298
  try {
@@ -1345,10 +1341,10 @@ describe('[unit] Meraki Adapter Test', () => {
1345
1341
  });
1346
1342
  });
1347
1343
 
1348
- describe('#getCount', () => {
1349
- it('should have a getCount function', (done) => {
1344
+ describe('#iapGetDeviceCount', () => {
1345
+ it('should have a iapGetDeviceCount function', (done) => {
1350
1346
  try {
1351
- assert.equal(true, typeof a.getCount === 'function');
1347
+ assert.equal(true, typeof a.iapGetDeviceCount === 'function');
1352
1348
  done();
1353
1349
  } catch (error) {
1354
1350
  log.error(`Test Failure: ${error}`);
@@ -0,0 +1,206 @@
1
+ #!/usr/bin/env node
2
+ /* @copyright Itential, LLC 2019 */
3
+ /* eslint global-require:warn */
4
+ /* eslint import/no-dynamic-require:warn */
5
+ /* eslint prefer-destructuring:warn */
6
+
7
+ const fs = require('fs-extra');
8
+ const path = require('path');
9
+
10
+ /**
11
+ * This script will determine the information about the adapter and store
12
+ * it into a file in the adapter.
13
+ */
14
+
15
+ /**
16
+ * get adapter information
17
+ */
18
+ function adapterInfo() {
19
+ // set the base pase of the adapter - tool shoud be one level up in utils
20
+ let adaptdir = __dirname;
21
+ const infoRes = {};
22
+
23
+ if (adaptdir.endsWith('/utils')) {
24
+ adaptdir = adaptdir.substring(0, adaptdir.length - 6);
25
+ }
26
+ const pack = require(`${adaptdir}/package.json`);
27
+ infoRes.version = pack.version;
28
+
29
+ let configCount = 0;
30
+ if (fs.existsSync(`${adaptdir}/pronghorn.json`)) {
31
+ const cFile = fs.readFileSync(`${adaptdir}/pronghorn.json`, 'utf8');
32
+ configCount += cFile.split('\n').length;
33
+ } else {
34
+ console.log('Missing - pronghorn.json');
35
+ }
36
+ if (fs.existsSync(`${adaptdir}/propertiesSchema.json`)) {
37
+ const cFile = fs.readFileSync(`${adaptdir}/propertiesSchema.json`, 'utf8');
38
+ configCount += cFile.split('\n').length;
39
+ } else {
40
+ console.log('Missing - propertiesSchema.json');
41
+ }
42
+ if (fs.existsSync(`${adaptdir}/error.json`)) {
43
+ const cFile = fs.readFileSync(`${adaptdir}/error.json`, 'utf8');
44
+ configCount += cFile.split('\n').length;
45
+ } else {
46
+ console.log('Missing - error.json');
47
+ }
48
+ const entitydir = path.join(adaptdir, '/entities');
49
+ if (fs.existsSync(entitydir) && fs.statSync(entitydir).isDirectory()) {
50
+ const entities = fs.readdirSync(entitydir);
51
+ // need to go through each entity in the entities directory
52
+ for (let e = 0; e < entities.length; e += 1) {
53
+ if (fs.statSync(`${entitydir}/${entities[e]}`).isDirectory()) {
54
+ const cfiles = fs.readdirSync(entitydir);
55
+ for (let c = 0; c < cfiles.length; c += 1) {
56
+ if (cfiles[c].endsWith('.json')) {
57
+ const ccFile = fs.readFileSync(`${entitydir}/${entities[e]}/${cfiles[c]}`, 'utf8');
58
+ configCount += ccFile.split('\n').length;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ } else {
64
+ console.log('Could not find the entities directory');
65
+ }
66
+ infoRes.configLines = configCount;
67
+
68
+ let scodeCount = 0;
69
+ if (fs.existsSync(`${adaptdir}/utils/artifactize.js`)) {
70
+ const sFile = fs.readFileSync(`${adaptdir}/utils/artifactize.js`, 'utf8');
71
+ scodeCount += sFile.split('\n').length;
72
+ } else {
73
+ console.log('Missing - utils/artifactize.js');
74
+ }
75
+ if (fs.existsSync(`${adaptdir}/utils/basicGet.js`)) {
76
+ const sFile = fs.readFileSync(`${adaptdir}/utils/basicGet.js`, 'utf8');
77
+ scodeCount += sFile.split('\n').length;
78
+ } else {
79
+ console.log('Missing - utils/basicGet.js');
80
+ }
81
+ if (fs.existsSync(`${adaptdir}/utils/checkMigrate.js`)) {
82
+ const sFile = fs.readFileSync(`${adaptdir}/utils/checkMigrate.js`, 'utf8');
83
+ scodeCount += sFile.split('\n').length;
84
+ } else {
85
+ console.log('Missing - utils/checkMigrate.js');
86
+ }
87
+ if (fs.existsSync(`${adaptdir}/utils/findPath.js`)) {
88
+ const sFile = fs.readFileSync(`${adaptdir}/utils/findPath.js`, 'utf8');
89
+ scodeCount += sFile.split('\n').length;
90
+ } else {
91
+ console.log('Missing - utils/findPath.js');
92
+ }
93
+ if (fs.existsSync(`${adaptdir}/utils/modify.js`)) {
94
+ const sFile = fs.readFileSync(`${adaptdir}/utils/modify.js`, 'utf8');
95
+ scodeCount += sFile.split('\n').length;
96
+ } else {
97
+ console.log('Missing - utils/modify.js');
98
+ }
99
+ if (fs.existsSync(`${adaptdir}/utils/packModificationScript.js`)) {
100
+ const sFile = fs.readFileSync(`${adaptdir}/utils/packModificationScript.js`, 'utf8');
101
+ scodeCount += sFile.split('\n').length;
102
+ } else {
103
+ console.log('Missing - utils/packModificationScript.js');
104
+ }
105
+ if (fs.existsSync(`${adaptdir}/utils/setup.js`)) {
106
+ const sFile = fs.readFileSync(`${adaptdir}/utils/setup.js`, 'utf8');
107
+ scodeCount += sFile.split('\n').length;
108
+ } else {
109
+ console.log('Missing - utils/setup.js');
110
+ }
111
+ if (fs.existsSync(`${adaptdir}/utils/tbScript.js`)) {
112
+ const sFile = fs.readFileSync(`${adaptdir}/utils/tbScript.js`, 'utf8');
113
+ scodeCount += sFile.split('\n').length;
114
+ } else {
115
+ console.log('Missing - utils/tbScript.js');
116
+ }
117
+ if (fs.existsSync(`${adaptdir}/utils/tbUtils.js`)) {
118
+ const sFile = fs.readFileSync(`${adaptdir}/utils/tbUtils.js`, 'utf8');
119
+ scodeCount += sFile.split('\n').length;
120
+ } else {
121
+ console.log('Missing - utils/tbUtils.js');
122
+ }
123
+ if (fs.existsSync(`${adaptdir}/utils/testRunner.js`)) {
124
+ const sFile = fs.readFileSync(`${adaptdir}/utils/testRunner.js`, 'utf8');
125
+ scodeCount += sFile.split('\n').length;
126
+ } else {
127
+ console.log('Missing - utils/testRunner.js');
128
+ }
129
+ if (fs.existsSync(`${adaptdir}/utils/troubleshootingAdapter.js`)) {
130
+ const sFile = fs.readFileSync(`${adaptdir}/utils/troubleshootingAdapter.js`, 'utf8');
131
+ scodeCount += sFile.split('\n').length;
132
+ } else {
133
+ console.log('Missing - utils/troubleshootingAdapter.js');
134
+ }
135
+ infoRes.scriptLines = scodeCount;
136
+
137
+ let codeCount = 0;
138
+ if (fs.existsSync(`${adaptdir}/adapter.js`)) {
139
+ const aFile = fs.readFileSync(`${adaptdir}/adapter.js`, 'utf8');
140
+ codeCount += aFile.split('\n').length;
141
+ } else {
142
+ console.log('Missing - utils/adapter.js');
143
+ }
144
+ if (fs.existsSync(`${adaptdir}/adapterBase.js`)) {
145
+ const aFile = fs.readFileSync(`${adaptdir}/adapterBase.js`, 'utf8');
146
+ codeCount += aFile.split('\n').length;
147
+ } else {
148
+ console.log('Missing - utils/adapterBase.js');
149
+ }
150
+ infoRes.codeLines = codeCount;
151
+
152
+ let tcodeCount = 0;
153
+ let ttestCount = 0;
154
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestBasicGet.js`)) {
155
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestBasicGet.js`, 'utf8');
156
+ tcodeCount += tFile.split('\n').length;
157
+ ttestCount += tFile.split('it(\'').length;
158
+ } else {
159
+ console.log('Missing - test/integration/adapterTestBasicGet.js');
160
+ }
161
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestConnectivity.js`)) {
162
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestConnectivity.js`, 'utf8');
163
+ tcodeCount += tFile.split('\n').length;
164
+ ttestCount += tFile.split('it(\'').length;
165
+ } else {
166
+ console.log('Missing - test/integration/adapterTestConnectivity.js');
167
+ }
168
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestIntegration.js`)) {
169
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestIntegration.js`, 'utf8');
170
+ tcodeCount += tFile.split('\n').length;
171
+ ttestCount += tFile.split('it(\'').length;
172
+ } else {
173
+ console.log('Missing - test/integration/adapterTestIntegration.js');
174
+ }
175
+ if (fs.existsSync(`${adaptdir}/test/unit/adapterBaseTestUnit.js`)) {
176
+ const tFile = fs.readFileSync(`${adaptdir}/test/unit/adapterBaseTestUnit.js`, 'utf8');
177
+ tcodeCount += tFile.split('\n').length;
178
+ ttestCount += tFile.split('it(\'').length;
179
+ } else {
180
+ console.log('Missing - test/unit/adapterBaseTestUnit.js');
181
+ }
182
+ if (fs.existsSync(`${adaptdir}/test/unit/adapterTestUnit.js`)) {
183
+ const tFile = fs.readFileSync(`${adaptdir}/test/unit/adapterTestUnit.js`, 'utf8');
184
+ tcodeCount += tFile.split('\n').length;
185
+ ttestCount += tFile.split('it(\'').length;
186
+ } else {
187
+ console.log('Missing - test/unit/adapterTestUnit.js');
188
+ }
189
+ infoRes.testLines = tcodeCount;
190
+ infoRes.testCases = ttestCount;
191
+ infoRes.totalCodeLines = scodeCount + codeCount + tcodeCount;
192
+
193
+ if (fs.existsSync(`${adaptdir}/pronghorn.json`)) {
194
+ // Read the entity schema from the file system
195
+ const phFile = path.join(adaptdir, '/pronghorn.json');
196
+ const prong = require(phFile);
197
+ infoRes.wfTasks = prong.methods.length;
198
+ } else {
199
+ console.log('Missing - pronghorn.json');
200
+ }
201
+
202
+ console.log(JSON.stringify(infoRes));
203
+ fs.writeFileSync(`${adaptdir}/report/adapterInfo.json`, JSON.stringify(infoRes, null, 2));
204
+ }
205
+
206
+ adapterInfo();
@@ -17,6 +17,9 @@ printf "%b" "Running pre-commit hooks...\\n"
17
17
  # verify testing script is stubbed and no credentials
18
18
  node utils/testRunner.js -r
19
19
 
20
+ # update the adapter information file
21
+ node utils/adapterInfo.js
22
+
20
23
  # security audit on the code
21
24
  npm audit --registry=https://registry.npmjs.org --audit-level=moderate
22
25