@itentialopensource/adapter-meraki 1.5.1 → 1.5.3
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/CHANGELOG.md +16 -0
- package/SYSTEMINFO.md +1 -1
- package/TAB2.md +2 -2
- package/entities/.generic/action.json +0 -20
- package/metadata.json +12 -5
- package/package.json +6 -6
- package/refs?service=git-upload-pack +0 -0
- package/report/adapterInfo.json +4 -4
- package/sampleProperties.json +2 -2
- package/test/integration/adapterTestConnectivity.js +0 -24
- package/test/integration/adapterTestIntegration.js +19 -15
- package/test/unit/adapterTestUnit.js +15 -11
package/CHANGELOG.md
CHANGED
@@ -1,4 +1,20 @@
|
|
1
1
|
|
2
|
+
## 1.5.3 [09-01-2024]
|
3
|
+
|
4
|
+
* update dependencies and metadata
|
5
|
+
|
6
|
+
See merge request itentialopensource/adapters/adapter-meraki!46
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
## 1.5.2 [08-15-2024]
|
11
|
+
|
12
|
+
* Changes made at 2024.08.14_19:48PM
|
13
|
+
|
14
|
+
See merge request itentialopensource/adapters/adapter-meraki!45
|
15
|
+
|
16
|
+
---
|
17
|
+
|
2
18
|
## 1.5.1 [08-07-2024]
|
3
19
|
|
4
20
|
* Changes made at 2024.08.06_21:53PM
|
package/SYSTEMINFO.md
CHANGED
@@ -23,5 +23,5 @@ The Cisco Meraki adapter from Itential is used to integrate the Itential Automat
|
|
23
23
|
- Claims
|
24
24
|
|
25
25
|
## Additional Product Documentation
|
26
|
-
The [API documents for Cisco Meraki](https://developer.cisco.com/meraki/api-
|
26
|
+
The [API documents for Cisco Meraki](https://developer.cisco.com/meraki/api-v1/)
|
27
27
|
[Cisco Meraki Products](https://www.cisco.com/c/m/en_hk/products/meraki.html)
|
package/TAB2.md
CHANGED
@@ -51,7 +51,7 @@ Sample Properties can be used to help you configure the adapter in the Itential
|
|
51
51
|
|
52
52
|
```json
|
53
53
|
"properties": {
|
54
|
-
"host": "
|
54
|
+
"host": "localhost",
|
55
55
|
"port": 443,
|
56
56
|
"choosepath": "",
|
57
57
|
"base_path": "/api",
|
@@ -67,7 +67,7 @@ Sample Properties can be used to help you configure the adapter in the Itential
|
|
67
67
|
"auth_method": "static_token",
|
68
68
|
"username": "username",
|
69
69
|
"password": "password",
|
70
|
-
"token": "
|
70
|
+
"token": "token",
|
71
71
|
"token_timeout": 1800000,
|
72
72
|
"token_cache": "local",
|
73
73
|
"invalid_token_error": 401,
|
@@ -18,26 +18,6 @@
|
|
18
18
|
"type": "default",
|
19
19
|
"key": "",
|
20
20
|
"mockFile": ""
|
21
|
-
},
|
22
|
-
{
|
23
|
-
"type": "mockData=getDevicesFiltered",
|
24
|
-
"key": "",
|
25
|
-
"mockFile": "mockdatafiles/getDevicesFiltered.json"
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"type": "mockData=getConfig",
|
29
|
-
"key": "",
|
30
|
-
"mockFile": "mockdatafiles/getConfig.json"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"type": "mockData=isAlive",
|
34
|
-
"key": "",
|
35
|
-
"mockFile": "mockdatafiles/isAlive.json"
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"type": "mockData=getCount",
|
39
|
-
"key": "",
|
40
|
-
"mockFile": "mockdatafiles/getDevicesFiltered.json"
|
41
21
|
}
|
42
22
|
]
|
43
23
|
},
|
package/metadata.json
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "adapter-meraki",
|
3
3
|
"webName": "Adapter for Integration to Cisco Meraki",
|
4
|
+
"supportLevel": "certified",
|
4
5
|
"vendor": "Cisco Systems",
|
5
6
|
"product": "Meraki",
|
7
|
+
"techAlliance": true,
|
6
8
|
"osVersion": [],
|
7
9
|
"apiVersions": [
|
8
10
|
"v1"
|
@@ -47,7 +49,7 @@
|
|
47
49
|
"storeLink": "",
|
48
50
|
"npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-meraki",
|
49
51
|
"repoLink": "https://gitlab.com/itentialopensource/adapters/adapter-meraki",
|
50
|
-
"docLink": "https://
|
52
|
+
"docLink": "https://gitlab.com/itentialopensource/adapters/adapter-meraki/-/blob/master/README.md?ref_type=heads",
|
51
53
|
"demoLinks": [
|
52
54
|
{
|
53
55
|
"title": "Meraki SD-WAN Branch Management",
|
@@ -73,9 +75,15 @@
|
|
73
75
|
"apiLinks": [
|
74
76
|
{
|
75
77
|
"title": "Meraki Dashboard API",
|
76
|
-
"link": "https://developer.cisco.com/meraki/api-
|
78
|
+
"link": "https://developer.cisco.com/meraki/api-v1/"
|
77
79
|
}
|
78
|
-
]
|
80
|
+
],
|
81
|
+
"workshopLinks": [
|
82
|
+
{
|
83
|
+
"title": "Cloud Managed Networks"
|
84
|
+
}
|
85
|
+
],
|
86
|
+
"workshopHomePage": "https://www.itential.com/get-started/"
|
79
87
|
},
|
80
88
|
"assets": [],
|
81
89
|
"relatedItems": {
|
@@ -98,6 +106,5 @@
|
|
98
106
|
],
|
99
107
|
"transformationProjects": [],
|
100
108
|
"exampleProjects": []
|
101
|
-
}
|
102
|
-
"supportLevel": "community"
|
109
|
+
}
|
103
110
|
}
|
package/package.json
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "@itentialopensource/adapter-meraki",
|
3
|
-
"version": "1.5.
|
3
|
+
"version": "1.5.3",
|
4
4
|
"description": "This adapter integrates with system described as: merakiDashboardApi.",
|
5
5
|
"main": "adapter.js",
|
6
6
|
"systemName": "Meraki",
|
7
7
|
"wizardVersion": "2.44.7",
|
8
|
-
"engineVersion": "1.
|
8
|
+
"engineVersion": "1.68.2",
|
9
9
|
"adapterType": "http",
|
10
10
|
"scripts": {
|
11
11
|
"artifactize": "npm i && node utils/packModificationScript.js",
|
@@ -53,22 +53,22 @@
|
|
53
53
|
"author": "Itential",
|
54
54
|
"homepage": "https://gitlab.com/itentialopensource/adapters/adapter-meraki#readme",
|
55
55
|
"dependencies": {
|
56
|
-
"@itentialopensource/adapter-utils": "^5.
|
56
|
+
"@itentialopensource/adapter-utils": "^5.7.0",
|
57
57
|
"acorn": "^8.12.1",
|
58
58
|
"ajv": "^8.17.1",
|
59
|
-
"axios": "^1.7.
|
59
|
+
"axios": "^1.7.4",
|
60
60
|
"commander": "^11.0.0",
|
61
61
|
"dns-lookup-promise": "^1.0.4",
|
62
62
|
"fs-extra": "^11.2.0",
|
63
63
|
"json-query": "^2.2.2",
|
64
|
-
"mocha": "^10.7.
|
64
|
+
"mocha": "^10.7.3",
|
65
65
|
"mocha-param": "^2.0.1",
|
66
66
|
"mongodb": "^4.16.0",
|
67
67
|
"ping": "^0.4.4",
|
68
68
|
"prompts": "^2.4.2",
|
69
69
|
"readline-sync": "^1.4.10",
|
70
70
|
"semver": "^7.6.3",
|
71
|
-
"winston": "^3.
|
71
|
+
"winston": "^3.14.2"
|
72
72
|
},
|
73
73
|
"devDependencies": {
|
74
74
|
"chai": "^4.3.7",
|
Binary file
|
package/report/adapterInfo.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
|
-
"version": "1.
|
2
|
+
"version": "1.5.2",
|
3
3
|
"configLines": 63068,
|
4
4
|
"scriptLines": 1783,
|
5
5
|
"codeLines": 53869,
|
6
|
-
"testLines":
|
7
|
-
"testCases":
|
8
|
-
"totalCodeLines":
|
6
|
+
"testLines": 43428,
|
7
|
+
"testCases": 2229,
|
8
|
+
"totalCodeLines": 99080,
|
9
9
|
"wfTasks": 611
|
10
10
|
}
|
package/sampleProperties.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"id": "meraki",
|
3
3
|
"type": "Meraki",
|
4
4
|
"properties": {
|
5
|
-
"host": "
|
5
|
+
"host": "localhost",
|
6
6
|
"port": 443,
|
7
7
|
"choosepath": "",
|
8
8
|
"base_path": "/api",
|
@@ -18,7 +18,7 @@
|
|
18
18
|
"auth_method": "static_token",
|
19
19
|
"username": "username",
|
20
20
|
"password": "password",
|
21
|
-
"token": "
|
21
|
+
"token": "token",
|
22
22
|
"token_timeout": 1800000,
|
23
23
|
"token_cache": "local",
|
24
24
|
"invalid_token_error": 401,
|
@@ -4,7 +4,6 @@
|
|
4
4
|
/* eslint no-unused-vars: warn */
|
5
5
|
|
6
6
|
const assert = require('assert');
|
7
|
-
const http = require('http');
|
8
7
|
const https = require('https');
|
9
8
|
const mocha = require('mocha');
|
10
9
|
const ping = require('ping');
|
@@ -53,29 +52,6 @@ describe('[integration] Adapter Test', () => {
|
|
53
52
|
});
|
54
53
|
});
|
55
54
|
|
56
|
-
it('Support HTTP on port 80', (done) => {
|
57
|
-
const requestOptions = {
|
58
|
-
host,
|
59
|
-
port: 80,
|
60
|
-
method: 'HEAD'
|
61
|
-
};
|
62
|
-
|
63
|
-
const req = http.request(requestOptions, (res) => {
|
64
|
-
try {
|
65
|
-
assert.ok(res.statusCode >= 200 && res.statusCode < 400);
|
66
|
-
done();
|
67
|
-
} catch (error) {
|
68
|
-
done(error);
|
69
|
-
}
|
70
|
-
});
|
71
|
-
|
72
|
-
req.on('error', (err) => {
|
73
|
-
done(err);
|
74
|
-
});
|
75
|
-
|
76
|
-
req.end();
|
77
|
-
});
|
78
|
-
|
79
55
|
it('Support HTTPS on port 443', (done) => {
|
80
56
|
const requestOptions = {
|
81
57
|
host,
|
@@ -36,13 +36,17 @@ const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
|
|
36
36
|
// these variables can be changed to run in integrated mode so easier to set them here
|
37
37
|
// always check these in with bogus data!!!
|
38
38
|
samProps.stub = true;
|
39
|
-
|
40
|
-
|
41
|
-
samProps.
|
42
|
-
samProps.
|
43
|
-
samProps.
|
44
|
-
samProps.
|
45
|
-
samProps.
|
39
|
+
|
40
|
+
// uncomment if connecting
|
41
|
+
// samProps.host = 'replace.hostorip.here';
|
42
|
+
// samProps.authentication.username = 'username';
|
43
|
+
// samProps.authentication.password = 'password';
|
44
|
+
// samProps.authentication.token = 'password';
|
45
|
+
// samProps.protocol = 'http';
|
46
|
+
// samProps.port = 80;
|
47
|
+
// samProps.ssl.enabled = false;
|
48
|
+
// samProps.ssl.accept_invalid_cert = false;
|
49
|
+
|
46
50
|
if (samProps.request.attempt_timeout < 30000) {
|
47
51
|
samProps.request.attempt_timeout = 30000;
|
48
52
|
}
|
@@ -6383,12 +6387,12 @@ describe('[integration] Meraki Adapter Test', () => {
|
|
6383
6387
|
{
|
6384
6388
|
host: '<string>',
|
6385
6389
|
port: '<integer>',
|
6386
|
-
secret:
|
6390
|
+
secret: samProps.authentication.password
|
6387
6391
|
},
|
6388
6392
|
{
|
6389
6393
|
host: '<string>',
|
6390
6394
|
port: '<integer>',
|
6391
|
-
secret:
|
6395
|
+
secret: samProps.authentication.password
|
6392
6396
|
}
|
6393
6397
|
],
|
6394
6398
|
radiusTestingEnabled: '<boolean>',
|
@@ -6409,12 +6413,12 @@ describe('[integration] Meraki Adapter Test', () => {
|
|
6409
6413
|
{
|
6410
6414
|
host: '<string>',
|
6411
6415
|
port: '<integer>',
|
6412
|
-
secret:
|
6416
|
+
secret: samProps.authentication.password
|
6413
6417
|
},
|
6414
6418
|
{
|
6415
6419
|
host: '<string>',
|
6416
6420
|
port: '<integer>',
|
6417
|
-
secret:
|
6421
|
+
secret: samProps.authentication.password
|
6418
6422
|
}
|
6419
6423
|
],
|
6420
6424
|
radiusGroupAttribute: '<string>',
|
@@ -6502,12 +6506,12 @@ describe('[integration] Meraki Adapter Test', () => {
|
|
6502
6506
|
{
|
6503
6507
|
host: '<string>',
|
6504
6508
|
port: '<integer>',
|
6505
|
-
secret:
|
6509
|
+
secret: samProps.authentication.password
|
6506
6510
|
},
|
6507
6511
|
{
|
6508
6512
|
host: '<string>',
|
6509
6513
|
port: '<integer>',
|
6510
|
-
secret:
|
6514
|
+
secret: samProps.authentication.password
|
6511
6515
|
}
|
6512
6516
|
],
|
6513
6517
|
radius: {
|
@@ -6526,12 +6530,12 @@ describe('[integration] Meraki Adapter Test', () => {
|
|
6526
6530
|
{
|
6527
6531
|
host: '<string>',
|
6528
6532
|
port: '<integer>',
|
6529
|
-
secret:
|
6533
|
+
secret: samProps.authentication.password
|
6530
6534
|
},
|
6531
6535
|
{
|
6532
6536
|
host: '<string>',
|
6533
6537
|
port: '<integer>',
|
6534
|
-
secret:
|
6538
|
+
secret: samProps.authentication.password
|
6535
6539
|
}
|
6536
6540
|
],
|
6537
6541
|
radiusGroupAttribute: '<string>',
|
@@ -36,13 +36,17 @@ const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
|
|
36
36
|
// these variables can be changed to run in integrated mode so easier to set them here
|
37
37
|
// always check these in with bogus data!!!
|
38
38
|
samProps.stub = true;
|
39
|
-
|
40
|
-
|
41
|
-
samProps.
|
42
|
-
samProps.
|
43
|
-
samProps.
|
44
|
-
samProps.
|
45
|
-
samProps.
|
39
|
+
|
40
|
+
// uncomment if connecting
|
41
|
+
// samProps.host = 'replace.hostorip.here';
|
42
|
+
// samProps.authentication.username = 'username';
|
43
|
+
// samProps.authentication.password = 'password';
|
44
|
+
// samProps.authentication.token = 'password';
|
45
|
+
// samProps.protocol = 'http';
|
46
|
+
// samProps.port = 80;
|
47
|
+
// samProps.ssl.enabled = false;
|
48
|
+
// samProps.ssl.accept_invalid_cert = false;
|
49
|
+
|
46
50
|
samProps.request.attempt_timeout = 1200000;
|
47
51
|
const attemptTimeout = samProps.request.attempt_timeout;
|
48
52
|
const { stub } = samProps;
|
@@ -315,15 +319,15 @@ describe('[unit] Meraki Adapter Test', () => {
|
|
315
319
|
assert.notEqual(null, packageDotJson.dependencies);
|
316
320
|
assert.notEqual('', packageDotJson.dependencies);
|
317
321
|
assert.equal('^8.17.1', packageDotJson.dependencies.ajv);
|
318
|
-
assert.equal('^1.7.
|
322
|
+
assert.equal('^1.7.4', packageDotJson.dependencies.axios);
|
319
323
|
assert.equal('^11.0.0', packageDotJson.dependencies.commander);
|
320
324
|
assert.equal('^11.2.0', packageDotJson.dependencies['fs-extra']);
|
321
|
-
assert.equal('^10.7.
|
325
|
+
assert.equal('^10.7.3', packageDotJson.dependencies.mocha);
|
322
326
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
323
327
|
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
324
328
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
325
329
|
assert.equal('^7.6.3', packageDotJson.dependencies.semver);
|
326
|
-
assert.equal('^3.
|
330
|
+
assert.equal('^3.14.2', packageDotJson.dependencies.winston);
|
327
331
|
done();
|
328
332
|
} catch (error) {
|
329
333
|
log.error(`Test Failure: ${error}`);
|
@@ -561,7 +565,7 @@ describe('[unit] Meraki Adapter Test', () => {
|
|
561
565
|
log.error(`Adapter Exception: ${error}`);
|
562
566
|
done(error);
|
563
567
|
}
|
564
|
-
});
|
568
|
+
}).timeout(attemptTimeout);
|
565
569
|
});
|
566
570
|
|
567
571
|
describe('propertiesSchema.json', () => {
|