@itentialopensource/adapter-openstack_neutron 3.0.3 → 3.1.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/AUTH.md +9 -9
- package/CALLS.md +364 -328
- package/CHANGELOG.md +8 -0
- package/CONTRIBUTING.md +1 -160
- package/ENHANCE.md +2 -2
- package/README.md +32 -23
- package/adapter.js +174 -373
- package/adapterBase.js +517 -875
- package/changelogs/CHANGELOG.md +58 -0
- package/metadata.json +56 -0
- package/package.json +24 -26
- package/pronghorn.json +474 -142
- package/propertiesSchema.json +431 -34
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +14594 -0
- package/report/adapter-openapi.yaml +12289 -0
- package/report/adapterInfo.json +8 -8
- package/report/updateReport1691507382282.json +120 -0
- package/report/updateReport1692202417483.json +120 -0
- package/report/updateReport1694460523394.json +120 -0
- package/report/updateReport1698420447048.json +120 -0
- package/sampleProperties.json +58 -3
- 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 +389 -317
- package/test/unit/adapterTestUnit.js +303 -114
- 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 +71 -23
- package/utils/modify.js +13 -15
- package/utils/packModificationScript.js +1 -1
- 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;
|
|
@@ -46,7 +46,6 @@ samProps.ssl.accept_invalid_cert = false;
|
|
|
46
46
|
samProps.request.attempt_timeout = 1200000;
|
|
47
47
|
const attemptTimeout = samProps.request.attempt_timeout;
|
|
48
48
|
const { stub } = samProps;
|
|
49
|
-
const { choosepath } = samProps;
|
|
50
49
|
|
|
51
50
|
// these are the adapter properties. You generally should not need to alter
|
|
52
51
|
// any of these after they are initially set up
|
|
@@ -223,19 +222,24 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
223
222
|
it('package.json should be validated', (done) => {
|
|
224
223
|
try {
|
|
225
224
|
const packageDotJson = require('../../package.json');
|
|
226
|
-
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
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']
|
|
230
234
|
};
|
|
231
|
-
const
|
|
235
|
+
const validate = ajv.compile(packageJsonSchema);
|
|
236
|
+
const isValid = validate(packageDotJson);
|
|
232
237
|
|
|
233
|
-
if (
|
|
234
|
-
log.error('The package.json contains
|
|
235
|
-
|
|
236
|
-
assert.equal(true, results.valid);
|
|
238
|
+
if (isValid === false) {
|
|
239
|
+
log.error('The package.json contains errors');
|
|
240
|
+
assert.equal(true, isValid);
|
|
237
241
|
} else {
|
|
238
|
-
assert.equal(true,
|
|
242
|
+
assert.equal(true, isValid);
|
|
239
243
|
}
|
|
240
244
|
|
|
241
245
|
done();
|
|
@@ -274,7 +278,7 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
274
278
|
assert.notEqual(undefined, packageDotJson.scripts);
|
|
275
279
|
assert.notEqual(null, packageDotJson.scripts);
|
|
276
280
|
assert.notEqual('', packageDotJson.scripts);
|
|
277
|
-
assert.equal('node utils/setup.js
|
|
281
|
+
assert.equal('node utils/setup.js', packageDotJson.scripts.preinstall);
|
|
278
282
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
|
|
279
283
|
assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
|
|
280
284
|
assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
|
|
@@ -311,17 +315,17 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
311
315
|
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
312
316
|
assert.notEqual(null, packageDotJson.dependencies);
|
|
313
317
|
assert.notEqual('', packageDotJson.dependencies);
|
|
314
|
-
assert.equal('^
|
|
315
|
-
assert.equal('^
|
|
316
|
-
assert.equal('^
|
|
317
|
-
assert.equal('^
|
|
318
|
-
assert.equal('^
|
|
318
|
+
assert.equal('^8.12.0', packageDotJson.dependencies.ajv);
|
|
319
|
+
assert.equal('^1.6.3', 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.2.0', packageDotJson.dependencies.mocha);
|
|
319
323
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
320
|
-
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
321
324
|
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
325
|
+
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
|
322
326
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
323
|
-
assert.equal('^7.3
|
|
324
|
-
assert.equal('^3.
|
|
327
|
+
assert.equal('^7.5.3', packageDotJson.dependencies.semver);
|
|
328
|
+
assert.equal('^3.9.0', packageDotJson.dependencies.winston);
|
|
325
329
|
done();
|
|
326
330
|
} catch (error) {
|
|
327
331
|
log.error(`Test Failure: ${error}`);
|
|
@@ -334,13 +338,12 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
334
338
|
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
335
339
|
assert.notEqual(null, packageDotJson.devDependencies);
|
|
336
340
|
assert.notEqual('', packageDotJson.devDependencies);
|
|
337
|
-
assert.equal('^4.3.
|
|
338
|
-
assert.equal('^
|
|
339
|
-
assert.equal('^
|
|
340
|
-
assert.equal('^2.
|
|
341
|
-
assert.equal('^3.
|
|
342
|
-
assert.equal('^
|
|
343
|
-
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);
|
|
344
347
|
done();
|
|
345
348
|
} catch (error) {
|
|
346
349
|
log.error(`Test Failure: ${error}`);
|
|
@@ -384,16 +387,30 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
384
387
|
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
385
388
|
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
386
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'));
|
|
387
393
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
388
394
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
389
395
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
390
396
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
391
397
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
392
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
393
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
394
|
-
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'));
|
|
395
409
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
396
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'));
|
|
397
414
|
done();
|
|
398
415
|
} catch (error) {
|
|
399
416
|
log.error(`Test Failure: ${error}`);
|
|
@@ -582,6 +599,7 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
582
599
|
assert.equal('string', propertiesDotJson.properties.host.type);
|
|
583
600
|
assert.equal('integer', propertiesDotJson.properties.port.type);
|
|
584
601
|
assert.equal('boolean', propertiesDotJson.properties.stub.type);
|
|
602
|
+
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
585
603
|
assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
|
|
586
604
|
assert.notEqual(null, propertiesDotJson.definitions.authentication);
|
|
587
605
|
assert.notEqual('', propertiesDotJson.definitions.authentication);
|
|
@@ -615,7 +633,6 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
615
633
|
assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
|
|
616
634
|
assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
|
|
617
635
|
assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
|
|
618
|
-
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
619
636
|
assert.notEqual(undefined, propertiesDotJson.definitions);
|
|
620
637
|
assert.notEqual(null, propertiesDotJson.definitions);
|
|
621
638
|
assert.notEqual('', propertiesDotJson.definitions);
|
|
@@ -772,6 +789,7 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
772
789
|
assert.notEqual(undefined, sampleDotJson.properties.host);
|
|
773
790
|
assert.notEqual(undefined, sampleDotJson.properties.port);
|
|
774
791
|
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
792
|
+
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
775
793
|
assert.notEqual(undefined, sampleDotJson.properties.authentication);
|
|
776
794
|
assert.notEqual(null, sampleDotJson.properties.authentication);
|
|
777
795
|
assert.notEqual('', sampleDotJson.properties.authentication);
|
|
@@ -805,7 +823,6 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
805
823
|
assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
|
|
806
824
|
assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
|
|
807
825
|
assert.notEqual(undefined, sampleDotJson.properties.save_metric);
|
|
808
|
-
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
809
826
|
assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
|
|
810
827
|
assert.notEqual(null, sampleDotJson.properties.healthcheck);
|
|
811
828
|
assert.notEqual('', sampleDotJson.properties.healthcheck);
|
|
@@ -870,6 +887,8 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
870
887
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
871
888
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
872
889
|
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
890
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache);
|
|
891
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache.entities);
|
|
873
892
|
done();
|
|
874
893
|
} catch (error) {
|
|
875
894
|
log.error(`Test Failure: ${error}`);
|
|
@@ -975,41 +994,6 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
975
994
|
});
|
|
976
995
|
});
|
|
977
996
|
|
|
978
|
-
describe('#iapFindAdapterPath', () => {
|
|
979
|
-
it('should have a iapFindAdapterPath function', (done) => {
|
|
980
|
-
try {
|
|
981
|
-
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
982
|
-
done();
|
|
983
|
-
} catch (error) {
|
|
984
|
-
log.error(`Test Failure: ${error}`);
|
|
985
|
-
done(error);
|
|
986
|
-
}
|
|
987
|
-
});
|
|
988
|
-
it('iapFindAdapterPath should find atleast one path that matches', (done) => {
|
|
989
|
-
try {
|
|
990
|
-
a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
|
|
991
|
-
try {
|
|
992
|
-
console.log(error);
|
|
993
|
-
assert.equal(undefined, error);
|
|
994
|
-
assert.notEqual(undefined, data);
|
|
995
|
-
assert.notEqual(null, data);
|
|
996
|
-
assert.equal(true, data.found);
|
|
997
|
-
assert.notEqual(undefined, data.foundIn);
|
|
998
|
-
assert.notEqual(null, data.foundIn);
|
|
999
|
-
assert.notEqual(0, data.foundIn.length);
|
|
1000
|
-
done();
|
|
1001
|
-
} catch (err) {
|
|
1002
|
-
log.error(`Test Failure: ${err}`);
|
|
1003
|
-
done(err);
|
|
1004
|
-
}
|
|
1005
|
-
});
|
|
1006
|
-
} catch (error) {
|
|
1007
|
-
log.error(`Adapter Exception: ${error}`);
|
|
1008
|
-
done(error);
|
|
1009
|
-
}
|
|
1010
|
-
}).timeout(attemptTimeout);
|
|
1011
|
-
});
|
|
1012
|
-
|
|
1013
997
|
describe('#iapSuspendAdapter', () => {
|
|
1014
998
|
it('should have a iapSuspendAdapter function', (done) => {
|
|
1015
999
|
try {
|
|
@@ -1046,6 +1030,40 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
1046
1030
|
});
|
|
1047
1031
|
});
|
|
1048
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
|
+
|
|
1049
1067
|
describe('#iapTroubleshootAdapter', () => {
|
|
1050
1068
|
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
1051
1069
|
try {
|
|
@@ -1191,49 +1209,53 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
1191
1209
|
}).timeout(attemptTimeout);
|
|
1192
1210
|
});
|
|
1193
1211
|
|
|
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
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
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
|
+
});
|
|
1237
1259
|
|
|
1238
1260
|
describe('#hasEntities', () => {
|
|
1239
1261
|
it('should have a hasEntities function', (done) => {
|
|
@@ -1307,6 +1329,173 @@ describe('[unit] Openstack_neutron Adapter Test', () => {
|
|
|
1307
1329
|
});
|
|
1308
1330
|
});
|
|
1309
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-openstack_neutron', 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-openstack_neutron', 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
|
+
});
|
|
1310
1499
|
/*
|
|
1311
1500
|
-----------------------------------------------------------------------
|
|
1312
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