@itentialopensource/adapter-meraki 0.7.2 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/AUTH.md +40 -0
- package/CALLS.md +100 -0
- package/CHANGELOG.md +24 -0
- package/ENHANCE.md +69 -0
- package/PROPERTIES.md +247 -0
- package/README.md +113 -470
- package/SUMMARY.md +9 -0
- package/SYSTEMINFO.md +11 -0
- package/TROUBLESHOOT.md +46 -0
- package/adapter.js +911 -64
- package/adapterBase.js +294 -271
- package/entities/.generic/action.json +5 -5
- package/error.json +12 -0
- package/package.json +18 -13
- package/pronghorn.json +289 -104
- package/propertiesSchema.json +238 -0
- package/refs?service=git-upload-pack +0 -0
- package/report/updateReport1642739939352.json +95 -0
- package/sampleProperties.json +4 -1
- package/test/integration/adapterTestBasicGet.js +1 -1
- package/test/integration/adapterTestIntegration.js +11 -2
- package/test/unit/adapterBaseTestUnit.js +27 -26
- package/test/unit/adapterTestUnit.js +632 -11
- package/utils/addAuth.js +94 -0
- package/utils/basicGet.js +1 -14
- package/utils/entitiesToDB.js +224 -0
- package/utils/modify.js +1 -1
- package/utils/packModificationScript.js +1 -1
- package/utils/patches2bundledDeps.js +90 -0
- package/utils/removeHooks.js +20 -0
- package/utils/tbScript.js +14 -8
- package/utils/tbUtils.js +98 -19
- package/utils/troubleshootingAdapter.js +2 -26
package/propertiesSchema.json
CHANGED
@@ -93,6 +93,9 @@
|
|
93
93
|
},
|
94
94
|
"mongo": {
|
95
95
|
"$ref": "#/definitions/mongo"
|
96
|
+
},
|
97
|
+
"devicebroker": {
|
98
|
+
"$ref": "#/definitions/devicebroker"
|
96
99
|
}
|
97
100
|
},
|
98
101
|
"required": [
|
@@ -232,6 +235,21 @@
|
|
232
235
|
"type": "boolean",
|
233
236
|
"description": "This property turns on logging of Authentication Information and should only be true when debugging authentication and connectivity",
|
234
237
|
"default": false
|
238
|
+
},
|
239
|
+
"client_id": {
|
240
|
+
"type": "string",
|
241
|
+
"description": "The client id for OAuth requests - can also use username depending on schema",
|
242
|
+
"default": ""
|
243
|
+
},
|
244
|
+
"client_secret": {
|
245
|
+
"type": "string",
|
246
|
+
"description": "The client secret for OAuth requests - can also use password depending on schema",
|
247
|
+
"default": ""
|
248
|
+
},
|
249
|
+
"grant_type": {
|
250
|
+
"type": "string",
|
251
|
+
"description": "The grant type for OAuth requests - can also provide in schema",
|
252
|
+
"default": ""
|
235
253
|
}
|
236
254
|
},
|
237
255
|
"required": [
|
@@ -820,6 +838,226 @@
|
|
820
838
|
}
|
821
839
|
}
|
822
840
|
}
|
841
|
+
},
|
842
|
+
"devicebroker": {
|
843
|
+
"type": "object",
|
844
|
+
"properties": {
|
845
|
+
"getDevice": {
|
846
|
+
"type": "object",
|
847
|
+
"description": "Broker call to getDevice",
|
848
|
+
"properties": {
|
849
|
+
"path": {
|
850
|
+
"type": "string",
|
851
|
+
"description": "The fully qualified path of the call to getDevice (e.g. /rest/api/device/{deviceid})",
|
852
|
+
"default": ""
|
853
|
+
},
|
854
|
+
"method": {
|
855
|
+
"type": "string",
|
856
|
+
"description": "The method of the call to getDevice",
|
857
|
+
"default": "GET"
|
858
|
+
},
|
859
|
+
"query": {
|
860
|
+
"type": "string",
|
861
|
+
"description": "The stringified json object with query parameters of the call to getDevice",
|
862
|
+
"default": "{}"
|
863
|
+
},
|
864
|
+
"body": {
|
865
|
+
"type": "string",
|
866
|
+
"description": "The stringified json object with body of the call to getDevice",
|
867
|
+
"default": "{}"
|
868
|
+
},
|
869
|
+
"headers": {
|
870
|
+
"type": "string",
|
871
|
+
"description": "The stringified json object with headers of the call to getDevice",
|
872
|
+
"default": "{}"
|
873
|
+
},
|
874
|
+
"name_field": {
|
875
|
+
"type": "string",
|
876
|
+
"description": "The field in response to getDevice that contains the name of the device",
|
877
|
+
"default": "name"
|
878
|
+
},
|
879
|
+
"ostype_field": {
|
880
|
+
"type": "string",
|
881
|
+
"description": "The field in response to getDevice that contains the ostype of the device",
|
882
|
+
"default": "ostype"
|
883
|
+
},
|
884
|
+
"ostypePrefix": {
|
885
|
+
"type": "string",
|
886
|
+
"description": "Any prefix that should be added to the ostype of the device (e.g. aws-)",
|
887
|
+
"default": ""
|
888
|
+
},
|
889
|
+
"port_field": {
|
890
|
+
"type": "string",
|
891
|
+
"description": "The field in response to getDevice that contains the port of the device",
|
892
|
+
"default": "port"
|
893
|
+
},
|
894
|
+
"ip_field": {
|
895
|
+
"type": "string",
|
896
|
+
"description": "The field in response to getDevice that contains the ip address of the device",
|
897
|
+
"default": "ipaddress"
|
898
|
+
}
|
899
|
+
}
|
900
|
+
},
|
901
|
+
"getDevicesFiltered": {
|
902
|
+
"type": "object",
|
903
|
+
"description": "Broker call to getDevicesFiltered",
|
904
|
+
"properties": {
|
905
|
+
"path": {
|
906
|
+
"type": "string",
|
907
|
+
"description": "The fully qualified path of the call to getDevicesFiltered (e.g. /rest/api/devices)",
|
908
|
+
"default": ""
|
909
|
+
},
|
910
|
+
"method": {
|
911
|
+
"type": "string",
|
912
|
+
"description": "The method of the call to getDevicesFiltered",
|
913
|
+
"default": "GET"
|
914
|
+
},
|
915
|
+
"query": {
|
916
|
+
"type": "string",
|
917
|
+
"description": "The stringified json object with query parameters of the call to getDevicesFiltered",
|
918
|
+
"default": "{}"
|
919
|
+
},
|
920
|
+
"body": {
|
921
|
+
"type": "string",
|
922
|
+
"description": "The stringified json object with body of the call to getDevicesFiltered",
|
923
|
+
"default": "{}"
|
924
|
+
},
|
925
|
+
"headers": {
|
926
|
+
"type": "string",
|
927
|
+
"description": "The stringified json object with headers of the call to getDevicesFiltered",
|
928
|
+
"default": "{}"
|
929
|
+
},
|
930
|
+
"name_field": {
|
931
|
+
"type": "string",
|
932
|
+
"description": "The field in response to getDevicesFiltered that contains the name of the device",
|
933
|
+
"default": "name"
|
934
|
+
},
|
935
|
+
"ostype_field": {
|
936
|
+
"type": "string",
|
937
|
+
"description": "The field in response to getDevicesFiltered that contains the ostype of the device",
|
938
|
+
"default": "ostype"
|
939
|
+
},
|
940
|
+
"ostypePrefix": {
|
941
|
+
"type": "string",
|
942
|
+
"description": "Any prefix that should be added to the ostype of the device (e.g. aws-)",
|
943
|
+
"default": ""
|
944
|
+
},
|
945
|
+
"port_field": {
|
946
|
+
"type": "string",
|
947
|
+
"description": "The field in response to getDevicesFiltered that contains the port of the device",
|
948
|
+
"default": "port"
|
949
|
+
},
|
950
|
+
"ip_field": {
|
951
|
+
"type": "string",
|
952
|
+
"description": "The field in response to getDevicesFiltered that contains the ip address of the device",
|
953
|
+
"default": "ipaddress"
|
954
|
+
}
|
955
|
+
}
|
956
|
+
},
|
957
|
+
"isAlive": {
|
958
|
+
"type": "object",
|
959
|
+
"description": "Broker call to isAlive",
|
960
|
+
"properties": {
|
961
|
+
"path": {
|
962
|
+
"type": "string",
|
963
|
+
"description": "The fully qualified path of the call to isAlive (e.g. /rest/api/device/{deviceid})",
|
964
|
+
"default": ""
|
965
|
+
},
|
966
|
+
"method": {
|
967
|
+
"type": "string",
|
968
|
+
"description": "The method of the call to isAlive",
|
969
|
+
"default": "GET"
|
970
|
+
},
|
971
|
+
"query": {
|
972
|
+
"type": "string",
|
973
|
+
"description": "The stringified json object with query parameters of the call to isAlive",
|
974
|
+
"default": "{}"
|
975
|
+
},
|
976
|
+
"body": {
|
977
|
+
"type": "string",
|
978
|
+
"description": "The stringified json object with body of the call to isAlive",
|
979
|
+
"default": "{}"
|
980
|
+
},
|
981
|
+
"headers": {
|
982
|
+
"type": "string",
|
983
|
+
"description": "The stringified json object with headers of the call to isAlive",
|
984
|
+
"default": "{}"
|
985
|
+
},
|
986
|
+
"status_field": {
|
987
|
+
"type": "string",
|
988
|
+
"description": "The field in response to isAlive that contains the status of the device",
|
989
|
+
"default": "status"
|
990
|
+
},
|
991
|
+
"status_value": {
|
992
|
+
"type": "string",
|
993
|
+
"description": "The status of the device that says it is alive",
|
994
|
+
"default": "true"
|
995
|
+
}
|
996
|
+
}
|
997
|
+
},
|
998
|
+
"getConfig": {
|
999
|
+
"type": "object",
|
1000
|
+
"description": "Broker call to getConfig",
|
1001
|
+
"properties": {
|
1002
|
+
"path": {
|
1003
|
+
"type": "string",
|
1004
|
+
"description": "The fully qualified path of the call to getConfig (e.g. /rest/api/device/{deviceid})",
|
1005
|
+
"default": ""
|
1006
|
+
},
|
1007
|
+
"method": {
|
1008
|
+
"type": "string",
|
1009
|
+
"description": "The method of the call to getConfig",
|
1010
|
+
"default": "GET"
|
1011
|
+
},
|
1012
|
+
"query": {
|
1013
|
+
"type": "string",
|
1014
|
+
"description": "The stringified json object with query parameters of the call to getConfig",
|
1015
|
+
"default": "{}"
|
1016
|
+
},
|
1017
|
+
"body": {
|
1018
|
+
"type": "string",
|
1019
|
+
"description": "The stringified json object with body of the call to getConfig",
|
1020
|
+
"default": "{}"
|
1021
|
+
},
|
1022
|
+
"headers": {
|
1023
|
+
"type": "string",
|
1024
|
+
"description": "The stringified json object with headers of the call to getConfig",
|
1025
|
+
"default": "{}"
|
1026
|
+
}
|
1027
|
+
}
|
1028
|
+
},
|
1029
|
+
"getCount": {
|
1030
|
+
"type": "object",
|
1031
|
+
"description": "Broker call to getCount",
|
1032
|
+
"properties": {
|
1033
|
+
"path": {
|
1034
|
+
"type": "string",
|
1035
|
+
"description": "The fully qualified path of the call to getCount (e.g. /rest/api/device)",
|
1036
|
+
"default": ""
|
1037
|
+
},
|
1038
|
+
"method": {
|
1039
|
+
"type": "string",
|
1040
|
+
"description": "The method of the call to getCount",
|
1041
|
+
"default": "GET"
|
1042
|
+
},
|
1043
|
+
"query": {
|
1044
|
+
"type": "string",
|
1045
|
+
"description": "The stringified json object with query parameters of the call to getCount",
|
1046
|
+
"default": "{}"
|
1047
|
+
},
|
1048
|
+
"body": {
|
1049
|
+
"type": "string",
|
1050
|
+
"description": "The stringified json object with body of the call to getCount",
|
1051
|
+
"default": "{}"
|
1052
|
+
},
|
1053
|
+
"headers": {
|
1054
|
+
"type": "string",
|
1055
|
+
"description": "The stringified json object with headers of the call to getCount",
|
1056
|
+
"default": "{}"
|
1057
|
+
}
|
1058
|
+
}
|
1059
|
+
}
|
1060
|
+
}
|
823
1061
|
}
|
824
1062
|
}
|
825
1063
|
}
|
Binary file
|
@@ -0,0 +1,95 @@
|
|
1
|
+
{
|
2
|
+
"errors": [],
|
3
|
+
"statistics": [
|
4
|
+
{
|
5
|
+
"owner": "errorJson",
|
6
|
+
"description": "New adapter errors available for use",
|
7
|
+
"value": 1
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"owner": "errorJson",
|
11
|
+
"description": "Adapter errors no longer available for use",
|
12
|
+
"value": 0
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"owner": "errorJson",
|
16
|
+
"description": "Adapter errors that have been updated (e.g. recommendation changes)",
|
17
|
+
"value": 29
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"owner": "packageJson",
|
21
|
+
"description": "Number of production dependencies",
|
22
|
+
"value": 13
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"owner": "packageJson",
|
26
|
+
"description": "Number of development dependencies",
|
27
|
+
"value": 7
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"owner": "packageJson",
|
31
|
+
"description": "Number of npm scripts",
|
32
|
+
"value": 23
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"owner": "packageJson",
|
36
|
+
"description": "Runtime Library dependency",
|
37
|
+
"value": "^4.44.11"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"owner": "propertiesSchemaJson",
|
41
|
+
"description": "Adapter properties defined in the propertiesSchema file",
|
42
|
+
"value": 64
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"owner": "readmeMd",
|
46
|
+
"description": "Number of lines in the README.md",
|
47
|
+
"value": 688
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"owner": "unitTestJS",
|
51
|
+
"description": "Number of lines of code in unit tests",
|
52
|
+
"value": 13271
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"owner": "unitTestJS",
|
56
|
+
"description": "Number of unit tests",
|
57
|
+
"value": 852
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"owner": "integrationTestJS",
|
61
|
+
"description": "Number of lines of code in integration tests",
|
62
|
+
"value": 9674
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"owner": "integrationTestJS",
|
66
|
+
"description": "Number of integration tests",
|
67
|
+
"value": 334
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"owner": "staticFile",
|
71
|
+
"description": "Number of lines of code in adapterBase.js",
|
72
|
+
"value": 1029
|
73
|
+
},
|
74
|
+
{
|
75
|
+
"owner": "staticFile",
|
76
|
+
"description": "Number of static files added",
|
77
|
+
"value": 34
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"owner": "Overall",
|
81
|
+
"description": "Total lines of Code",
|
82
|
+
"value": 23974
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"owner": "Overall",
|
86
|
+
"description": "Total Tests",
|
87
|
+
"value": 1186
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"owner": "Overall",
|
91
|
+
"description": "Total Files",
|
92
|
+
"value": 6
|
93
|
+
}
|
94
|
+
]
|
95
|
+
}
|
package/sampleProperties.json
CHANGED
@@ -21,7 +21,10 @@
|
|
21
21
|
"invalid_token_error": 401,
|
22
22
|
"auth_field": "header.headers.Authorization",
|
23
23
|
"auth_field_format": "Basic {b64}{username}:{password}{/b64}",
|
24
|
-
"auth_logging": false
|
24
|
+
"auth_logging": false,
|
25
|
+
"client_id": "",
|
26
|
+
"client_secret": "",
|
27
|
+
"grant_type": ""
|
25
28
|
},
|
26
29
|
"healthcheck": {
|
27
30
|
"type": "none",
|
@@ -14,7 +14,7 @@ const itParam = require('mocha-param');
|
|
14
14
|
|
15
15
|
const utils = require('../../utils/tbUtils');
|
16
16
|
const basicGet = require('../../utils/basicGet');
|
17
|
-
const { name } = require('../../package');
|
17
|
+
const { name } = require('../../package.json');
|
18
18
|
const { methods } = require('../../pronghorn.json');
|
19
19
|
|
20
20
|
const getPronghornProps = (iapDir) => {
|
@@ -3,6 +3,7 @@
|
|
3
3
|
// Set globals
|
4
4
|
/* global describe it log pronghornProps */
|
5
5
|
/* eslint no-unused-vars: warn */
|
6
|
+
/* eslint no-underscore-dangle: warn */
|
6
7
|
|
7
8
|
// include required items for testing & logging
|
8
9
|
const assert = require('assert');
|
@@ -13,7 +14,10 @@ const winston = require('winston');
|
|
13
14
|
const { expect } = require('chai');
|
14
15
|
const { use } = require('chai');
|
15
16
|
const td = require('testdouble');
|
17
|
+
const util = require('util');
|
18
|
+
const pronghorn = require('../../pronghorn.json');
|
16
19
|
|
20
|
+
pronghorn.methodsByName = pronghorn.methods.reduce((result, meth) => ({ ...result, [meth.name]: meth }), {});
|
17
21
|
const anything = td.matchers.anything();
|
18
22
|
|
19
23
|
// stub and attemptTimeout are used throughout the code so set them here
|
@@ -63,7 +67,10 @@ global.pronghornProps = {
|
|
63
67
|
invalid_token_error: 401,
|
64
68
|
auth_field: 'header.headers.Authorization',
|
65
69
|
auth_field_format: 'Basic {b64}{username}:{password}{/b64}',
|
66
|
-
auth_logging: false
|
70
|
+
auth_logging: false,
|
71
|
+
client_id: '',
|
72
|
+
client_secret: '',
|
73
|
+
grant_type: ''
|
67
74
|
},
|
68
75
|
healthcheck: {
|
69
76
|
type: 'none',
|
@@ -310,7 +317,7 @@ function saveMockData(entityName, actionName, descriptor, responseData) {
|
|
310
317
|
}
|
311
318
|
|
312
319
|
// require the adapter that we are going to be using
|
313
|
-
const Meraki = require('../../adapter
|
320
|
+
const Meraki = require('../../adapter');
|
314
321
|
|
315
322
|
// begin the testing - these should be pretty well defined between the describe and the it!
|
316
323
|
describe('[integration] Meraki Adapter Test', () => {
|
@@ -341,6 +348,8 @@ describe('[integration] Meraki Adapter Test', () => {
|
|
341
348
|
try {
|
342
349
|
assert.notEqual(null, a);
|
343
350
|
assert.notEqual(undefined, a);
|
351
|
+
const checkId = global.pronghornProps.adapterProps.adapters[0].id;
|
352
|
+
assert.equal(checkId, a.id);
|
344
353
|
assert.notEqual(null, a.allProps);
|
345
354
|
const check = global.pronghornProps.adapterProps.adapters[0].properties.healthcheck.type;
|
346
355
|
assert.equal(check, a.healthcheckType);
|
@@ -61,7 +61,10 @@ global.pronghornProps = {
|
|
61
61
|
token_cache: 'local',
|
62
62
|
auth_field: 'header.headers.Authorization',
|
63
63
|
auth_field_format: 'Basic {b64}{username}:{password}{/b64}',
|
64
|
-
auth_logging: false
|
64
|
+
auth_logging: false,
|
65
|
+
client_id: '',
|
66
|
+
client_secret: '',
|
67
|
+
grant_type: ''
|
65
68
|
},
|
66
69
|
healthcheck: {
|
67
70
|
type: 'none',
|
@@ -194,7 +197,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
|
|
194
197
|
}
|
195
198
|
|
196
199
|
// require the adapter that we are going to be using
|
197
|
-
const AdapterBase = require('../../adapterBase
|
200
|
+
const AdapterBase = require('../../adapterBase');
|
198
201
|
|
199
202
|
// delete the .DS_Store directory in entities -- otherwise this will cause errors
|
200
203
|
const dirPath = path.join(__dirname, '../../entities/.DS_Store');
|
@@ -314,8 +317,8 @@ describe('[unit] Adapter Base Test', () => {
|
|
314
317
|
});
|
315
318
|
it('should return a list of functions', (done) => {
|
316
319
|
const returnedFunctions = ['addEntityCache', 'capabilityResults', 'checkActionFiles', 'checkProperties', 'connect', 'encryptProperty',
|
317
|
-
'entityInList', '
|
318
|
-
'
|
320
|
+
'entityInList', 'getAllCapabilities', 'getAllFunctions', 'healthCheck', 'iapFindAdapterPath', 'iapGetAdapterQueue', 'iapGetAdapterWorkflowFunctions', 'iapMoveAdapterEntitiesToDB',
|
321
|
+
'iapRunAdapterBasicGet', 'iapRunAdapterConnectivity', 'iapRunAdapterHealthcheck', 'iapSuspendAdapter', 'iapTroubleshootAdapter', 'iapUnsuspendAdapter', 'iapUpdateAdapterConfiguration', 'refreshProperties', 'addListener',
|
319
322
|
'emit', 'eventNames', 'getMaxListeners', 'listenerCount', 'listeners', 'off', 'on', 'once', 'prependListener',
|
320
323
|
'prependOnceListener', 'rawListeners', 'removeAllListeners', 'removeListener', 'setMaxListeners'];
|
321
324
|
try {
|
@@ -334,10 +337,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
334
337
|
}).timeout(attemptTimeout);
|
335
338
|
});
|
336
339
|
|
337
|
-
describe('#
|
338
|
-
it('should have a
|
340
|
+
describe('#iapGetAdapterWorkflowFunctions', () => {
|
341
|
+
it('should have a iapGetAdapterWorkflowFunctions function', (done) => {
|
339
342
|
try {
|
340
|
-
assert.equal(true, typeof a.
|
343
|
+
assert.equal(true, typeof a.iapGetAdapterWorkflowFunctions === 'function');
|
341
344
|
done();
|
342
345
|
} catch (error) {
|
343
346
|
log.error(`Test Failure: ${error}`);
|
@@ -346,7 +349,7 @@ describe('[unit] Adapter Base Test', () => {
|
|
346
349
|
});
|
347
350
|
it('should retrieve workflow functions', (done) => {
|
348
351
|
try {
|
349
|
-
const expectedFunctions = a.
|
352
|
+
const expectedFunctions = a.iapGetAdapterWorkflowFunctions([]);
|
350
353
|
try {
|
351
354
|
assert.equal(0, expectedFunctions.length);
|
352
355
|
done();
|
@@ -423,10 +426,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
423
426
|
}).timeout(attemptTimeout);
|
424
427
|
});
|
425
428
|
|
426
|
-
describe('#
|
427
|
-
it('should have a
|
429
|
+
describe('#iapGetAdapterQueue', () => {
|
430
|
+
it('should have a iapGetAdapterQueue function', (done) => {
|
428
431
|
try {
|
429
|
-
assert.equal(true, typeof a.
|
432
|
+
assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
|
430
433
|
done();
|
431
434
|
} catch (error) {
|
432
435
|
log.error(`Test Failure: ${error}`);
|
@@ -435,7 +438,7 @@ describe('[unit] Adapter Base Test', () => {
|
|
435
438
|
});
|
436
439
|
it('should get information for all of the requests currently in the queue', (done) => {
|
437
440
|
try {
|
438
|
-
const expectedFunctions = a.
|
441
|
+
const expectedFunctions = a.iapGetAdapterQueue();
|
439
442
|
try {
|
440
443
|
assert.equal(0, expectedFunctions.length);
|
441
444
|
done();
|
@@ -840,12 +843,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
840
843
|
}).timeout(attemptTimeout);
|
841
844
|
});
|
842
845
|
|
843
|
-
|
844
|
-
|
845
|
-
describe('#updateAdapterConfiguration', () => {
|
846
|
-
it('should have a updateAdapterConfiguration function', (done) => {
|
846
|
+
describe('#iapUpdateAdapterConfiguration', () => {
|
847
|
+
it('should have a iapUpdateAdapterConfiguration function', (done) => {
|
847
848
|
try {
|
848
|
-
assert.equal(true, typeof a.
|
849
|
+
assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
|
849
850
|
done();
|
850
851
|
} catch (error) {
|
851
852
|
log.error(`Test Failure: ${error}`);
|
@@ -854,7 +855,7 @@ describe('[unit] Adapter Base Test', () => {
|
|
854
855
|
});
|
855
856
|
it('should return no updated if no changes are provided', (done) => {
|
856
857
|
try {
|
857
|
-
a.
|
858
|
+
a.iapUpdateAdapterConfiguration(null, null, null, null, null, (data, error) => {
|
858
859
|
try {
|
859
860
|
assert.equal('No configuration updates to make', data.response);
|
860
861
|
done();
|
@@ -870,10 +871,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
870
871
|
}).timeout(attemptTimeout);
|
871
872
|
it('should throw an error if missing configuration file', (done) => {
|
872
873
|
try {
|
873
|
-
a.
|
874
|
+
a.iapUpdateAdapterConfiguration(null, { name: 'fakeChange' }, null, null, null, (data, error) => {
|
874
875
|
try {
|
875
876
|
const displayE = 'configFile is required';
|
876
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-
|
877
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
|
877
878
|
done();
|
878
879
|
} catch (err) {
|
879
880
|
log.error(`Test Failure: ${err}`);
|
@@ -887,10 +888,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
887
888
|
}).timeout(attemptTimeout);
|
888
889
|
it('if not package.json, entity is required', (done) => {
|
889
890
|
try {
|
890
|
-
a.
|
891
|
+
a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, null, null, null, (data, error) => {
|
891
892
|
try {
|
892
893
|
const displayE = 'Unsupported Configuration Change or Missing Entity';
|
893
|
-
runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-
|
894
|
+
runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
|
894
895
|
done();
|
895
896
|
} catch (err) {
|
896
897
|
log.error(`Test Failure: ${err}`);
|
@@ -904,10 +905,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
904
905
|
}).timeout(attemptTimeout);
|
905
906
|
it('if not package.json, type is required', (done) => {
|
906
907
|
try {
|
907
|
-
a.
|
908
|
+
a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'entity', null, null, (data, error) => {
|
908
909
|
try {
|
909
910
|
const displayE = 'type is required';
|
910
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-
|
911
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
|
911
912
|
done();
|
912
913
|
} catch (err) {
|
913
914
|
log.error(`Test Failure: ${err}`);
|
@@ -921,10 +922,10 @@ describe('[unit] Adapter Base Test', () => {
|
|
921
922
|
}).timeout(attemptTimeout);
|
922
923
|
it('if not package.json, entity must be valid', (done) => {
|
923
924
|
try {
|
924
|
-
a.
|
925
|
+
a.iapUpdateAdapterConfiguration('notPackage', { name: 'fakeChange' }, 'fakeEntity', 'fakeType', null, (data, error) => {
|
925
926
|
try {
|
926
927
|
const displayE = 'Incomplete Configuration Change: Invalid Entity - fakeEntity';
|
927
|
-
runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-
|
928
|
+
runErrorAsserts(data, error, 'AD.999', 'Test-Base-adapterBase-iapUpdateAdapterConfiguration', displayE);
|
928
929
|
done();
|
929
930
|
} catch (err) {
|
930
931
|
log.error(`Test Failure: ${err}`);
|