@itentialopensource/adapter-firemon_securitymanager 0.1.1 → 0.2.1
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/CALLS.md +4530 -0
- package/CHANGELOG.md +16 -1
- package/CONTRIBUTING.md +1 -160
- package/ENHANCE.md +2 -2
- package/README.md +32 -23
- package/SUMMARY.md +2 -2
- package/TROUBLESHOOT.md +6 -6
- package/adapter.js +162 -333
- package/adapterBase.js +541 -877
- package/changelogs/changelog.md +9 -0
- package/metadata.json +49 -0
- package/package.json +23 -25
- package/pronghorn.json +980 -641
- package/propertiesSchema.json +435 -35
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +63736 -0
- package/report/adapter-openapi.yaml +45622 -0
- package/report/adapterInfo.json +8 -8
- package/report/updateReport1691508716734.json +120 -0
- package/report/updateReport1692203173889.json +120 -0
- package/report/updateReport1694468126963.json +120 -0
- package/report/updateReport1698422536944.json +120 -0
- package/sampleProperties.json +63 -2
- package/test/integration/adapterTestBasicGet.js +2 -4
- package/test/integration/adapterTestConnectivity.js +91 -42
- package/test/integration/adapterTestIntegration.js +130 -2
- package/test/unit/adapterBaseTestUnit.js +388 -313
- package/test/unit/adapterTestUnit.js +304 -113
- package/utils/adapterInfo.js +1 -1
- package/utils/addAuth.js +1 -1
- package/utils/artifactize.js +1 -1
- package/utils/checkMigrate.js +1 -1
- package/utils/entitiesToDB.js +2 -2
- package/utils/findPath.js +1 -1
- package/utils/methodDocumentor.js +273 -0
- package/utils/modify.js +13 -15
- package/utils/packModificationScript.js +1 -1
- package/utils/pre-commit.sh +2 -0
- package/utils/taskMover.js +309 -0
- package/utils/tbScript.js +89 -34
- package/utils/tbUtils.js +41 -21
- package/utils/testRunner.js +1 -1
- package/utils/troubleshootingAdapter.js +9 -6
- 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,
|
|
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;
|
|
@@ -222,19 +222,24 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
222
222
|
it('package.json should be validated', (done) => {
|
|
223
223
|
try {
|
|
224
224
|
const packageDotJson = require('../../package.json');
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
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
|
|
235
|
+
const validate = ajv.compile(packageJsonSchema);
|
|
236
|
+
const isValid = validate(packageDotJson);
|
|
231
237
|
|
|
232
|
-
if (
|
|
233
|
-
log.error('The package.json contains
|
|
234
|
-
|
|
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,
|
|
242
|
+
assert.equal(true, isValid);
|
|
238
243
|
}
|
|
239
244
|
|
|
240
245
|
done();
|
|
@@ -273,7 +278,7 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
273
278
|
assert.notEqual(undefined, packageDotJson.scripts);
|
|
274
279
|
assert.notEqual(null, packageDotJson.scripts);
|
|
275
280
|
assert.notEqual('', packageDotJson.scripts);
|
|
276
|
-
assert.equal('node utils/setup.js
|
|
281
|
+
assert.equal('node utils/setup.js', packageDotJson.scripts.preinstall);
|
|
277
282
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
|
|
278
283
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
|
|
279
284
|
assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
|
|
@@ -310,17 +315,17 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
310
315
|
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
311
316
|
assert.notEqual(null, packageDotJson.dependencies);
|
|
312
317
|
assert.notEqual('', packageDotJson.dependencies);
|
|
313
|
-
assert.equal('^
|
|
314
|
-
assert.equal('^
|
|
315
|
-
assert.equal('^
|
|
316
|
-
assert.equal('^
|
|
317
|
-
assert.equal('^
|
|
318
|
+
assert.equal('^8.12.0', packageDotJson.dependencies.ajv);
|
|
319
|
+
assert.equal('^1.6.7', 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.3.0', packageDotJson.dependencies.mocha);
|
|
318
323
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
319
|
-
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
320
324
|
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
325
|
+
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
|
321
326
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
322
|
-
assert.equal('^7.3
|
|
323
|
-
assert.equal('^3.
|
|
327
|
+
assert.equal('^7.5.3', packageDotJson.dependencies.semver);
|
|
328
|
+
assert.equal('^3.9.0', packageDotJson.dependencies.winston);
|
|
324
329
|
done();
|
|
325
330
|
} catch (error) {
|
|
326
331
|
log.error(`Test Failure: ${error}`);
|
|
@@ -333,13 +338,12 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
333
338
|
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
334
339
|
assert.notEqual(null, packageDotJson.devDependencies);
|
|
335
340
|
assert.notEqual('', packageDotJson.devDependencies);
|
|
336
|
-
assert.equal('^4.3.
|
|
337
|
-
assert.equal('^
|
|
338
|
-
assert.equal('^
|
|
339
|
-
assert.equal('^2.
|
|
340
|
-
assert.equal('^3.
|
|
341
|
-
assert.equal('^
|
|
342
|
-
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);
|
|
343
347
|
done();
|
|
344
348
|
} catch (error) {
|
|
345
349
|
log.error(`Test Failure: ${error}`);
|
|
@@ -383,16 +387,30 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
383
387
|
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
384
388
|
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
385
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'));
|
|
386
393
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
387
394
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
388
395
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
389
396
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
390
397
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
391
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
392
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
393
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
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'));
|
|
394
409
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
395
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'));
|
|
396
414
|
done();
|
|
397
415
|
} catch (error) {
|
|
398
416
|
log.error(`Test Failure: ${error}`);
|
|
@@ -545,7 +563,7 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
545
563
|
log.error(`Adapter Exception: ${error}`);
|
|
546
564
|
done(error);
|
|
547
565
|
}
|
|
548
|
-
});
|
|
566
|
+
}).timeout(attemptTimeout);
|
|
549
567
|
});
|
|
550
568
|
|
|
551
569
|
describe('propertiesSchema.json', () => {
|
|
@@ -581,6 +599,7 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
581
599
|
assert.equal('string', propertiesDotJson.properties.host.type);
|
|
582
600
|
assert.equal('integer', propertiesDotJson.properties.port.type);
|
|
583
601
|
assert.equal('boolean', propertiesDotJson.properties.stub.type);
|
|
602
|
+
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
584
603
|
assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
|
|
585
604
|
assert.notEqual(null, propertiesDotJson.definitions.authentication);
|
|
586
605
|
assert.notEqual('', propertiesDotJson.definitions.authentication);
|
|
@@ -614,7 +633,6 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
614
633
|
assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
|
|
615
634
|
assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
|
|
616
635
|
assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
|
|
617
|
-
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
618
636
|
assert.notEqual(undefined, propertiesDotJson.definitions);
|
|
619
637
|
assert.notEqual(null, propertiesDotJson.definitions);
|
|
620
638
|
assert.notEqual('', propertiesDotJson.definitions);
|
|
@@ -771,6 +789,7 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
771
789
|
assert.notEqual(undefined, sampleDotJson.properties.host);
|
|
772
790
|
assert.notEqual(undefined, sampleDotJson.properties.port);
|
|
773
791
|
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
792
|
+
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
774
793
|
assert.notEqual(undefined, sampleDotJson.properties.authentication);
|
|
775
794
|
assert.notEqual(null, sampleDotJson.properties.authentication);
|
|
776
795
|
assert.notEqual('', sampleDotJson.properties.authentication);
|
|
@@ -804,7 +823,6 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
804
823
|
assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
|
|
805
824
|
assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
|
|
806
825
|
assert.notEqual(undefined, sampleDotJson.properties.save_metric);
|
|
807
|
-
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
808
826
|
assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
|
|
809
827
|
assert.notEqual(null, sampleDotJson.properties.healthcheck);
|
|
810
828
|
assert.notEqual('', sampleDotJson.properties.healthcheck);
|
|
@@ -869,6 +887,8 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
869
887
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
870
888
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
871
889
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
890
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache);
|
|
891
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache.entities);
|
|
872
892
|
done();
|
|
873
893
|
} catch (error) {
|
|
874
894
|
log.error(`Test Failure: ${error}`);
|
|
@@ -974,40 +994,6 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
974
994
|
});
|
|
975
995
|
});
|
|
976
996
|
|
|
977
|
-
describe('#iapFindAdapterPath', () => {
|
|
978
|
-
it('should have a iapFindAdapterPath function', (done) => {
|
|
979
|
-
try {
|
|
980
|
-
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
981
|
-
done();
|
|
982
|
-
} catch (error) {
|
|
983
|
-
log.error(`Test Failure: ${error}`);
|
|
984
|
-
done(error);
|
|
985
|
-
}
|
|
986
|
-
});
|
|
987
|
-
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
988
|
-
try {
|
|
989
|
-
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
990
|
-
try {
|
|
991
|
-
assert.equal(undefined, error);
|
|
992
|
-
assert.notEqual(undefined, data);
|
|
993
|
-
assert.notEqual(null, data);
|
|
994
|
-
assert.equal(true, data.found);
|
|
995
|
-
assert.notEqual(undefined, data.foundIn);
|
|
996
|
-
assert.notEqual(null, data.foundIn);
|
|
997
|
-
assert.notEqual(0, data.foundIn.length);
|
|
998
|
-
done();
|
|
999
|
-
} catch (err) {
|
|
1000
|
-
log.error(`Test Failure: ${err}`);
|
|
1001
|
-
done(err);
|
|
1002
|
-
}
|
|
1003
|
-
});
|
|
1004
|
-
} catch (error) {
|
|
1005
|
-
log.error(`Adapter Exception: ${error}`);
|
|
1006
|
-
done(error);
|
|
1007
|
-
}
|
|
1008
|
-
}).timeout(attemptTimeout);
|
|
1009
|
-
});
|
|
1010
|
-
|
|
1011
997
|
describe('#iapSuspendAdapter', () => {
|
|
1012
998
|
it('should have a iapSuspendAdapter function', (done) => {
|
|
1013
999
|
try {
|
|
@@ -1044,6 +1030,40 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
1044
1030
|
});
|
|
1045
1031
|
});
|
|
1046
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
|
+
|
|
1047
1067
|
describe('#iapTroubleshootAdapter', () => {
|
|
1048
1068
|
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
1049
1069
|
try {
|
|
@@ -1189,49 +1209,53 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
1189
1209
|
}).timeout(attemptTimeout);
|
|
1190
1210
|
});
|
|
1191
1211
|
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
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
|
+
});
|
|
1235
1259
|
|
|
1236
1260
|
describe('#hasEntities', () => {
|
|
1237
1261
|
it('should have a hasEntities function', (done) => {
|
|
@@ -1305,6 +1329,173 @@ describe('[unit] Firemon_securitymanager Adapter Test', () => {
|
|
|
1305
1329
|
});
|
|
1306
1330
|
});
|
|
1307
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-firemon_securitymanager', 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-firemon_securitymanager', 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
|
+
});
|
|
1308
1499
|
/*
|
|
1309
1500
|
-----------------------------------------------------------------------
|
|
1310
1501
|
-----------------------------------------------------------------------
|
package/utils/adapterInfo.js
CHANGED
|
@@ -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]})` : ''} `);
|
package/utils/artifactize.js
CHANGED
package/utils/checkMigrate.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { execSync } = require('child_process');
|
|
2
|
+
const fs = require('fs');
|
|
2
3
|
const semver = require('semver');
|
|
3
4
|
const axios = require('axios');
|
|
4
|
-
const fs = require('fs');
|
|
5
5
|
const packageJson = require('../package.json');
|
|
6
6
|
|
|
7
7
|
const localEngineVer = packageJson.engineVersion;
|
package/utils/entitiesToDB.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
/* eslint global-require: warn */
|
|
8
8
|
/* eslint no-unused-vars: warn */
|
|
9
9
|
/* eslint import/no-unresolved: warn */
|
|
10
|
+
/* eslint no-promise-executor-return: warn */
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* This script is used to read through an adapter's entities files
|
|
@@ -164,8 +165,7 @@ const moveEntitiesToDB = async (targetPath, options) => {
|
|
|
164
165
|
});
|
|
165
166
|
|
|
166
167
|
// Upload documents to db collection
|
|
167
|
-
const
|
|
168
|
-
const db = await utils.connect(iapDir, currentProps).catch((err) => { console.error(err); throw err; });
|
|
168
|
+
const db = await utils.connect(currentProps).catch((err) => { console.error(err); throw err; });
|
|
169
169
|
if (!db) {
|
|
170
170
|
console.error('Error occured when connectiong to database', currentProps);
|
|
171
171
|
throw new Error('Database not found');
|
package/utils/findPath.js
CHANGED