@itentialopensource/adapter-aruba_airwave 0.3.4 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/metadata.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "adapter-aruba_airwave",
3
- "webName": "Adapter for Integration to Aruba Airwave",
3
+ "webName": "Adapter for Integration to Aruba AirWave",
4
4
  "vendor": "Aruba Networks",
5
- "product": "Airwave",
5
+ "product": "AirWave",
6
6
  "osVersion": [],
7
7
  "apiVersions": [],
8
8
  "iapVersions": [
@@ -39,20 +39,41 @@
39
39
  "isDeprecated": false
40
40
  },
41
41
  "brokerSince": "",
42
+ "authMethods": [
43
+ {
44
+ "type": "Complex",
45
+ "subtypes": [
46
+ "Cookie",
47
+ "Token"
48
+ ],
49
+ "primary": true
50
+ }
51
+ ],
42
52
  "documentation": {
43
53
  "storeLink": "",
44
54
  "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-aruba_airwave",
45
- "repoLink": "https://gitlab.com/itentialopensource/adapters/controller-orchestrator/adapter-aruba_airwave",
55
+ "repoLink": "https://gitlab.com/itentialopensource/adapters/adapter-aruba_airwave",
46
56
  "docLink": "https://docs.itential.com/opensource/docs/aruba-airwave",
47
57
  "demoLinks": [],
48
- "trainingLinks": [],
58
+ "trainingLinks": [
59
+ {
60
+ "title": "Itential Academy",
61
+ "link": "https://www.itential.com/itential-academy/"
62
+ }
63
+ ],
49
64
  "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
50
65
  "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
51
66
  "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
52
67
  "webLink": "https://www.itential.com/adapters/aruba-airwave/",
53
- "vendorLink": "",
54
- "productLink": "",
55
- "apiLinks": []
68
+ "vendorLink": "https://www.arubanetworks.com/",
69
+ "productLink": "https://www.arubanetworks.com/products/network-management-operations/airwave/",
70
+ "apiLinks": [
71
+ {
72
+ "title": "AirWave API Guide",
73
+ "link": "https://www.arubanetworks.com/techdocs/AirWave/82130/Content/API%20Guide/API%20Guide.htm",
74
+ "public": true
75
+ }
76
+ ]
56
77
  },
57
78
  "assets": [],
58
79
  "relatedItems": {
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-aruba_airwave",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "description": "This adapter integrates with system described as: Aruba Airwave",
5
5
  "main": "adapter.js",
6
6
  "wizardVersion": "2.44.7",
7
- "engineVersion": "1.67.14",
7
+ "engineVersion": "1.67.19",
8
8
  "adapterType": "http",
9
9
  "scripts": {
10
10
  "artifactize": "npm i && node utils/packModificationScript.js",
@@ -15,7 +15,6 @@
15
15
  "test:baseunit": "mocha test/unit/adapterBaseTestUnit.js --LOG=error",
16
16
  "test:unit": "mocha test/unit/adapterTestUnit.js --LOG=error",
17
17
  "test:integration": "mocha test/integration/adapterTestIntegration.js --LOG=error",
18
- "test:cover": "nyc --reporter html --reporter text mocha --reporter dot test/*",
19
18
  "test": "npm run test:baseunit && npm run test:unit && npm run test:integration",
20
19
  "adapter:install": "npm i && node utils/tbScript.js install",
21
20
  "adapter:checkMigrate": "node utils/checkMigrate.js",
@@ -44,15 +43,15 @@
44
43
  ],
45
44
  "license": "Apache-2.0",
46
45
  "engines": {
47
- "node": ">= 8.0.0",
46
+ "node": ">= 14.0.0",
48
47
  "npm": ">= 6.0.0"
49
48
  },
50
49
  "repository": {
51
50
  "type": "git",
52
- "url": "git@gitlab.com:itentialopensource/adapters/controller-orchestrator/adapter-aruba_airwave.git"
51
+ "url": "git@gitlab.com:itentialopensource/adapters/adapter-aruba_airwave.git"
53
52
  },
54
53
  "author": "Itential",
55
- "homepage": "https://gitlab.com/itentialopensource/adapters/controller-orchestrator/adapter-aruba_airwave#readme",
54
+ "homepage": "https://gitlab.com/itentialopensource/adapters/adapter-aruba_airwave#readme",
56
55
  "dependencies": {
57
56
  "@itentialopensource/adapter-utils": "^5.3.10",
58
57
  "acorn": "^8.10.0",
@@ -65,7 +64,6 @@
65
64
  "mocha": "^10.3.0",
66
65
  "mocha-param": "^2.0.1",
67
66
  "mongodb": "^4.16.0",
68
- "nyc": "^15.1.0",
69
67
  "ping": "^0.4.4",
70
68
  "prompts": "^2.4.2",
71
69
  "readline-sync": "^1.4.10",
@@ -945,6 +945,11 @@
945
945
  "devicebroker": {
946
946
  "type": "object",
947
947
  "properties": {
948
+ "enabled": {
949
+ "type": "boolean",
950
+ "description": "Whether or not the device broker calls have been mapped",
951
+ "default": false
952
+ },
948
953
  "getDevice": {
949
954
  "type": "array",
950
955
  "description": "Broker call(s) to getDevice",
Binary file
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "0.2.1",
3
- "configLines": 4215,
2
+ "version": "0.3.4",
3
+ "configLines": 4220,
4
4
  "scriptLines": 1783,
5
5
  "codeLines": 4651,
6
- "testLines": 4610,
6
+ "testLines": 4609,
7
7
  "testCases": 221,
8
- "totalCodeLines": 11044,
8
+ "totalCodeLines": 11043,
9
9
  "wfTasks": 55
10
10
  }
@@ -0,0 +1,120 @@
1
+ {
2
+ "errors": [],
3
+ "statistics": [
4
+ {
5
+ "owner": "errorJson",
6
+ "description": "New adapter errors available for use",
7
+ "value": 0
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": 31
18
+ },
19
+ {
20
+ "owner": "packageJson",
21
+ "description": "Number of production dependencies",
22
+ "value": 16
23
+ },
24
+ {
25
+ "owner": "packageJson",
26
+ "description": "Number of development dependencies",
27
+ "value": 6
28
+ },
29
+ {
30
+ "owner": "packageJson",
31
+ "description": "Number of npm scripts",
32
+ "value": 21
33
+ },
34
+ {
35
+ "owner": "packageJson",
36
+ "description": "Runtime Library dependency",
37
+ "value": "^5.3.10"
38
+ },
39
+ {
40
+ "owner": "propertiesSchemaJson",
41
+ "description": "Adapter properties defined in the propertiesSchema file",
42
+ "value": 78
43
+ },
44
+ {
45
+ "owner": "markdown",
46
+ "description": "Number of lines in the README.md",
47
+ "value": 344
48
+ },
49
+ {
50
+ "owner": "markdown",
51
+ "description": "Number of lines in the SUMMARY.md",
52
+ "value": 9
53
+ },
54
+ {
55
+ "owner": "markdown",
56
+ "description": "Number of lines in the PROPERTIES.md",
57
+ "value": 647
58
+ },
59
+ {
60
+ "owner": "markdown",
61
+ "description": "Number of lines in the TROUBLESHOOT.md",
62
+ "value": 48
63
+ },
64
+ {
65
+ "owner": "markdown",
66
+ "description": "Number of lines in the ENHANCE.md",
67
+ "value": 70
68
+ },
69
+ {
70
+ "owner": "markdown",
71
+ "description": "Number of lines in the BROKER.md",
72
+ "value": 70
73
+ },
74
+ {
75
+ "owner": "unitTestJS",
76
+ "description": "Number of lines of code in unit tests",
77
+ "value": 2171
78
+ },
79
+ {
80
+ "owner": "unitTestJS",
81
+ "description": "Number of unit tests",
82
+ "value": 115
83
+ },
84
+ {
85
+ "owner": "integrationTestJS",
86
+ "description": "Number of lines of code in integration tests",
87
+ "value": 1186
88
+ },
89
+ {
90
+ "owner": "integrationTestJS",
91
+ "description": "Number of integration tests",
92
+ "value": 36
93
+ },
94
+ {
95
+ "owner": "staticFile",
96
+ "description": "Number of lines of code in adapterBase.js",
97
+ "value": 1453
98
+ },
99
+ {
100
+ "owner": "staticFile",
101
+ "description": "Number of static files added",
102
+ "value": 36
103
+ },
104
+ {
105
+ "owner": "Overall",
106
+ "description": "Total lines of Code",
107
+ "value": 4810
108
+ },
109
+ {
110
+ "owner": "Overall",
111
+ "description": "Total Tests",
112
+ "value": 151
113
+ },
114
+ {
115
+ "owner": "Overall",
116
+ "description": "Total Files",
117
+ "value": 6
118
+ }
119
+ ]
120
+ }
@@ -14,15 +14,21 @@
14
14
  "stub": true,
15
15
  "protocol": "https",
16
16
  "authentication": {
17
- "auth_method": "no_authentication",
17
+ "auth_method": "request_token",
18
18
  "username": "username",
19
19
  "password": "password",
20
20
  "token": "token",
21
21
  "token_timeout": 600000,
22
22
  "token_cache": "local",
23
23
  "invalid_token_error": 401,
24
- "auth_field": "header.headers.Authorization",
25
- "auth_field_format": "Basic {b64}{username}:{password}{/b64}",
24
+ "auth_field": [
25
+ "header.headers.X-BISCOTTI",
26
+ "header.headers.Cookie"
27
+ ],
28
+ "auth_field_format": [
29
+ "{token}",
30
+ "MercuryAuthHandlerCookie_AMPAuth={tokenp2}"
31
+ ],
26
32
  "auth_logging": false,
27
33
  "client_id": "",
28
34
  "client_secret": "",
@@ -116,30 +122,32 @@
116
122
  }
117
123
  },
118
124
  "devicebroker": {
125
+ "enabled": false,
119
126
  "getDevice": [
120
127
  {
121
- "path": "/get/devices/{id}",
128
+ "path": "/not/mapped",
122
129
  "method": "GET",
123
130
  "query": {},
124
131
  "body": {},
125
132
  "headers": {},
126
133
  "handleFailure": "ignore",
127
134
  "requestFields": {
128
- "id": "name"
135
+ "insample": "{port}"
129
136
  },
130
137
  "responseDatakey": "",
131
138
  "responseFields": {
132
- "name": "host",
133
- "ostype": "os",
134
- "ostypePrefix": "system-",
135
- "ipaddress": "attributes.ipaddr",
136
- "port": "443"
139
+ "name": "{this}{||}{that}",
140
+ "ostype": "{osfield}",
141
+ "ostypePrefix": "meraki-",
142
+ "port": "{port}",
143
+ "ipaddress": "{ip_addr}",
144
+ "serial" : "{serial}"
137
145
  }
138
146
  }
139
147
  ],
140
148
  "getDevicesFiltered": [
141
149
  {
142
- "path": "/get/devices",
150
+ "path": "/not/mapped",
143
151
  "method": "GET",
144
152
  "pagination": {
145
153
  "offsetVar": "",
@@ -154,42 +162,44 @@
154
162
  "requestFields": {},
155
163
  "responseDatakey": "",
156
164
  "responseFields": {
157
- "name": "host",
158
- "ostype": "os",
159
- "ostypePrefix": "system-",
160
- "ipaddress": "attributes.ipaddr",
161
- "port": "443"
165
+ "name": "{this}{||}{that}",
166
+ "ostype": "{osfield}",
167
+ "ostypePrefix": "meraki-",
168
+ "port": "{port}",
169
+ "ipaddress": "{ip_addr}",
170
+ "serial" : "{serial}",
171
+ "id": "{myid}"
162
172
  }
163
173
  }
164
174
  ],
165
175
  "isAlive": [
166
176
  {
167
- "path": "/get/devices/{id}/status",
177
+ "path": "/not/mapped/{devID}",
168
178
  "method": "GET",
169
179
  "query": {},
170
180
  "body": {},
171
181
  "headers": {},
172
182
  "handleFailure": "ignore",
173
183
  "requestFields": {
174
- "id": "name"
184
+ "devID": "{id}"
175
185
  },
176
186
  "responseDatakey": "",
177
187
  "responseFields": {
178
- "status": "status",
179
- "statusValue": "online"
188
+ "status": "return2xx",
189
+ "statusValue": "AD.200"
180
190
  }
181
191
  }
182
192
  ],
183
193
  "getConfig": [
184
194
  {
185
- "path": "/get/devices/{id}/configPart1",
195
+ "path": "/not/mapped/{devID}",
186
196
  "method": "GET",
187
197
  "query": {},
188
198
  "body": {},
189
199
  "headers": {},
190
200
  "handleFailure": "ignore",
191
201
  "requestFields": {
192
- "id": "name"
202
+ "devID": "{id}"
193
203
  },
194
204
  "responseDatakey": "",
195
205
  "responseFields": {}
@@ -197,7 +207,7 @@
197
207
  ],
198
208
  "getCount": [
199
209
  {
200
- "path": "/get/devices",
210
+ "path": "/not/mapped",
201
211
  "method": "GET",
202
212
  "query": {},
203
213
  "body": {},
@@ -213,15 +223,15 @@
213
223
  "enabled": false,
214
224
  "entities": [
215
225
  {
216
- "entityType": "",
217
- "frequency": 1440,
226
+ "entityType": "device",
227
+ "frequency": 3600,
218
228
  "flushOnFail": false,
219
- "limit": 1000,
229
+ "limit": 10000,
220
230
  "retryAttempts": 5,
221
231
  "sort": true,
222
232
  "populate": [
223
233
  {
224
- "path": "",
234
+ "path": "/not/mapped",
225
235
  "method": "GET",
226
236
  "pagination": {
227
237
  "offsetVar": "",
@@ -235,7 +245,15 @@
235
245
  "handleFailure": "ignore",
236
246
  "requestFields": {},
237
247
  "responseDatakey": "",
238
- "responseFields": {}
248
+ "responseFields": {
249
+ "name": "{this}{||}{that}",
250
+ "ostype": "{osfield}",
251
+ "ostypePrefix": "meraki-",
252
+ "port": "{port}",
253
+ "ipaddress": "{ip_addr}",
254
+ "serial" : "{serial}",
255
+ "id": "{myid}"
256
+ }
239
257
  }
240
258
  ],
241
259
  "cachedTasks": [
@@ -46,6 +46,7 @@ samProps.ssl.accept_invalid_cert = false;
46
46
  if (samProps.request.attempt_timeout < 30000) {
47
47
  samProps.request.attempt_timeout = 30000;
48
48
  }
49
+ samProps.devicebroker.enabled = true;
49
50
  const attemptTimeout = samProps.request.attempt_timeout;
50
51
  const { stub } = samProps;
51
52
 
@@ -284,7 +284,6 @@ describe('[unit] Aruba_airwave Adapter Test', () => {
284
284
  assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
285
285
  assert.equal('mocha test/unit/adapterTestUnit.js --LOG=error', packageDotJson.scripts['test:unit']);
286
286
  assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
287
- assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
288
287
  assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
289
288
  assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
290
289
  assert.equal('npm run deploy', packageDotJson.scripts.build);
@@ -321,7 +320,6 @@ describe('[unit] Aruba_airwave Adapter Test', () => {
321
320
  assert.equal('^11.1.1', packageDotJson.dependencies['fs-extra']);
322
321
  assert.equal('^10.3.0', packageDotJson.dependencies.mocha);
323
322
  assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
324
- assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
325
323
  assert.equal('^0.4.4', packageDotJson.dependencies.ping);
326
324
  assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
327
325
  assert.equal('^7.5.3', packageDotJson.dependencies.semver);