@itentialopensource/adapter-microsoft_office365 0.1.1 → 0.2.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 +41 -0
- package/BROKER.md +199 -0
- package/CALLS.md +222 -0
- package/CHANGELOG.md +8 -1
- package/CODE_OF_CONDUCT.md +12 -17
- package/CONTRIBUTING.md +3 -148
- package/ENHANCE.md +69 -0
- package/PROPERTIES.md +641 -0
- package/README.md +235 -576
- package/SUMMARY.md +9 -0
- package/SYSTEMINFO.md +20 -0
- package/TROUBLESHOOT.md +47 -0
- package/adapter.js +391 -263
- package/adapterBase.js +854 -408
- package/changelogs/changelog.md +9 -0
- package/entities/.generic/action.json +110 -5
- package/entities/.generic/schema.json +6 -1
- package/error.json +6 -0
- package/metadata.json +57 -0
- package/package.json +28 -22
- package/pronghorn.json +691 -88
- package/propertiesDecorators.json +14 -0
- package/propertiesSchema.json +829 -8
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +509 -0
- package/report/adapter-openapi.yaml +349 -0
- package/report/adapterInfo.json +10 -0
- package/report/updateReport1691511327831.json +120 -0
- package/report/updateReport1692202817366.json +120 -0
- package/report/updateReport1694463941759.json +120 -0
- package/report/updateReport1698421603077.json +120 -0
- package/sampleProperties.json +153 -3
- package/test/integration/adapterTestBasicGet.js +3 -5
- package/test/integration/adapterTestConnectivity.js +91 -42
- package/test/integration/adapterTestIntegration.js +166 -114
- package/test/unit/adapterBaseTestUnit.js +388 -308
- package/test/unit/adapterTestUnit.js +490 -252
- package/utils/adapterInfo.js +206 -0
- package/utils/addAuth.js +94 -0
- package/utils/artifactize.js +1 -1
- package/utils/basicGet.js +1 -14
- package/utils/checkMigrate.js +1 -1
- package/utils/entitiesToDB.js +179 -0
- package/utils/findPath.js +1 -1
- package/utils/methodDocumentor.js +273 -0
- package/utils/modify.js +14 -16
- package/utils/packModificationScript.js +1 -1
- package/utils/patches2bundledDeps.js +90 -0
- package/utils/pre-commit.sh +5 -0
- package/utils/removeHooks.js +20 -0
- package/utils/taskMover.js +309 -0
- package/utils/tbScript.js +129 -53
- package/utils/tbUtils.js +125 -25
- package/utils/testRunner.js +17 -17
- package/utils/troubleshootingAdapter.js +10 -31
- package/workflows/README.md +0 -3
|
@@ -4,36 +4,48 @@
|
|
|
4
4
|
/* global describe it log pronghornProps */
|
|
5
5
|
/* eslint global-require: warn */
|
|
6
6
|
/* eslint no-unused-vars: warn */
|
|
7
|
+
/* eslint import/no-dynamic-require:warn */
|
|
7
8
|
|
|
8
9
|
// include required items for testing & logging
|
|
9
10
|
const assert = require('assert');
|
|
10
|
-
const fs = require('fs-extra');
|
|
11
|
-
const mocha = require('mocha');
|
|
12
11
|
const path = require('path');
|
|
13
12
|
const util = require('util');
|
|
14
|
-
const winston = require('winston');
|
|
15
13
|
const execute = require('child_process').execSync;
|
|
14
|
+
const fs = require('fs-extra');
|
|
15
|
+
const mocha = require('mocha');
|
|
16
|
+
const winston = require('winston');
|
|
16
17
|
const { expect } = require('chai');
|
|
17
18
|
const { use } = require('chai');
|
|
18
19
|
const td = require('testdouble');
|
|
20
|
+
const Ajv = require('ajv');
|
|
19
21
|
|
|
22
|
+
const ajv = new Ajv({ strictSchema: false, allErrors: true, allowUnionTypes: true });
|
|
20
23
|
const anything = td.matchers.anything();
|
|
21
|
-
|
|
22
|
-
// stub and attemptTimeout are used throughout the code so set them here
|
|
23
24
|
let logLevel = 'none';
|
|
24
|
-
const stub = true;
|
|
25
25
|
const isRapidFail = false;
|
|
26
|
-
|
|
26
|
+
|
|
27
|
+
// read in the properties from the sampleProperties files
|
|
28
|
+
let adaptdir = __dirname;
|
|
29
|
+
if (adaptdir.endsWith('/test/integration')) {
|
|
30
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 17);
|
|
31
|
+
} else if (adaptdir.endsWith('/test/unit')) {
|
|
32
|
+
adaptdir = adaptdir.substring(0, adaptdir.length - 10);
|
|
33
|
+
}
|
|
34
|
+
const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
|
|
27
35
|
|
|
28
36
|
// these variables can be changed to run in integrated mode so easier to set them here
|
|
29
37
|
// always check these in with bogus data!!!
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
samProps.stub = true;
|
|
39
|
+
samProps.host = 'replace.hostorip.here';
|
|
40
|
+
samProps.authentication.username = 'username';
|
|
41
|
+
samProps.authentication.password = 'password';
|
|
42
|
+
samProps.protocol = 'http';
|
|
43
|
+
samProps.port = 80;
|
|
44
|
+
samProps.ssl.enabled = false;
|
|
45
|
+
samProps.ssl.accept_invalid_cert = false;
|
|
46
|
+
samProps.request.attempt_timeout = 1200000;
|
|
47
|
+
const attemptTimeout = samProps.request.attempt_timeout;
|
|
48
|
+
const { stub } = samProps;
|
|
37
49
|
|
|
38
50
|
// these are the adapter properties. You generally should not need to alter
|
|
39
51
|
// any of these after they are initially set up
|
|
@@ -43,101 +55,9 @@ global.pronghornProps = {
|
|
|
43
55
|
},
|
|
44
56
|
adapterProps: {
|
|
45
57
|
adapters: [{
|
|
46
|
-
id: 'Test-
|
|
58
|
+
id: 'Test-microsoft_office365',
|
|
47
59
|
type: 'MicrosoftOffice365',
|
|
48
|
-
properties:
|
|
49
|
-
host,
|
|
50
|
-
port,
|
|
51
|
-
base_path: '/v1.0',
|
|
52
|
-
version: '',
|
|
53
|
-
cache_location: 'none',
|
|
54
|
-
encode_pathvars: true,
|
|
55
|
-
save_metric: false,
|
|
56
|
-
stub,
|
|
57
|
-
protocol,
|
|
58
|
-
authentication: {
|
|
59
|
-
auth_method: 'no_authentication',
|
|
60
|
-
username,
|
|
61
|
-
password,
|
|
62
|
-
token: '',
|
|
63
|
-
invalid_token_error: 401,
|
|
64
|
-
token_timeout: -1,
|
|
65
|
-
token_cache: 'local',
|
|
66
|
-
auth_field: 'header.headers.Authorization',
|
|
67
|
-
auth_field_format: 'Basic {b64}{username}:{password}{/b64}',
|
|
68
|
-
auth_logging: false
|
|
69
|
-
},
|
|
70
|
-
healthcheck: {
|
|
71
|
-
type: 'none',
|
|
72
|
-
frequency: 60000,
|
|
73
|
-
query_object: {}
|
|
74
|
-
},
|
|
75
|
-
throttle: {
|
|
76
|
-
throttle_enabled: false,
|
|
77
|
-
number_pronghorns: 1,
|
|
78
|
-
sync_async: 'sync',
|
|
79
|
-
max_in_queue: 1000,
|
|
80
|
-
concurrent_max: 1,
|
|
81
|
-
expire_timeout: 0,
|
|
82
|
-
avg_runtime: 200,
|
|
83
|
-
priorities: [
|
|
84
|
-
{
|
|
85
|
-
value: 0,
|
|
86
|
-
percent: 100
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
},
|
|
90
|
-
request: {
|
|
91
|
-
number_redirects: 0,
|
|
92
|
-
number_retries: 3,
|
|
93
|
-
limit_retry_error: [0],
|
|
94
|
-
failover_codes: [],
|
|
95
|
-
attempt_timeout: attemptTimeout,
|
|
96
|
-
global_request: {
|
|
97
|
-
payload: {},
|
|
98
|
-
uriOptions: {},
|
|
99
|
-
addlHeaders: {},
|
|
100
|
-
authData: {}
|
|
101
|
-
},
|
|
102
|
-
healthcheck_on_timeout: true,
|
|
103
|
-
return_raw: true,
|
|
104
|
-
archiving: false,
|
|
105
|
-
return_request: false
|
|
106
|
-
},
|
|
107
|
-
proxy: {
|
|
108
|
-
enabled: false,
|
|
109
|
-
host: '',
|
|
110
|
-
port: 1,
|
|
111
|
-
protocol: 'http',
|
|
112
|
-
username: '',
|
|
113
|
-
password: ''
|
|
114
|
-
},
|
|
115
|
-
ssl: {
|
|
116
|
-
ecdhCurve: '',
|
|
117
|
-
enabled: sslenable,
|
|
118
|
-
accept_invalid_cert: sslinvalid,
|
|
119
|
-
ca_file: '',
|
|
120
|
-
key_file: '',
|
|
121
|
-
cert_file: '',
|
|
122
|
-
secure_protocol: '',
|
|
123
|
-
ciphers: ''
|
|
124
|
-
},
|
|
125
|
-
mongo: {
|
|
126
|
-
host: '',
|
|
127
|
-
port: 0,
|
|
128
|
-
database: '',
|
|
129
|
-
username: '',
|
|
130
|
-
password: '',
|
|
131
|
-
replSet: '',
|
|
132
|
-
db_ssl: {
|
|
133
|
-
enabled: false,
|
|
134
|
-
accept_invalid_cert: false,
|
|
135
|
-
ca_file: '',
|
|
136
|
-
key_file: '',
|
|
137
|
-
cert_file: ''
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
60
|
+
properties: samProps
|
|
141
61
|
}]
|
|
142
62
|
}
|
|
143
63
|
};
|
|
@@ -268,10 +188,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
268
188
|
});
|
|
269
189
|
|
|
270
190
|
let wffunctions = [];
|
|
271
|
-
describe('#
|
|
191
|
+
describe('#iapGetAdapterWorkflowFunctions', () => {
|
|
272
192
|
it('should retrieve workflow functions', (done) => {
|
|
273
193
|
try {
|
|
274
|
-
wffunctions = a.
|
|
194
|
+
wffunctions = a.iapGetAdapterWorkflowFunctions([]);
|
|
275
195
|
|
|
276
196
|
try {
|
|
277
197
|
assert.notEqual(0, wffunctions.length);
|
|
@@ -302,19 +222,24 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
302
222
|
it('package.json should be validated', (done) => {
|
|
303
223
|
try {
|
|
304
224
|
const packageDotJson = require('../../package.json');
|
|
305
|
-
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
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']
|
|
309
234
|
};
|
|
310
|
-
const
|
|
235
|
+
const validate = ajv.compile(packageJsonSchema);
|
|
236
|
+
const isValid = validate(packageDotJson);
|
|
311
237
|
|
|
312
|
-
if (
|
|
313
|
-
log.error('The package.json contains
|
|
314
|
-
|
|
315
|
-
assert.equal(true, results.valid);
|
|
238
|
+
if (isValid === false) {
|
|
239
|
+
log.error('The package.json contains errors');
|
|
240
|
+
assert.equal(true, isValid);
|
|
316
241
|
} else {
|
|
317
|
-
assert.equal(true,
|
|
242
|
+
assert.equal(true, isValid);
|
|
318
243
|
}
|
|
319
244
|
|
|
320
245
|
done();
|
|
@@ -361,7 +286,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
361
286
|
assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
|
|
362
287
|
assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
|
|
363
288
|
assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
|
|
364
|
-
assert.equal('npm publish --registry=
|
|
289
|
+
assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
|
|
365
290
|
assert.equal('npm run deploy', packageDotJson.scripts.build);
|
|
366
291
|
done();
|
|
367
292
|
} catch (error) {
|
|
@@ -390,17 +315,17 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
390
315
|
assert.notEqual(undefined, packageDotJson.dependencies);
|
|
391
316
|
assert.notEqual(null, packageDotJson.dependencies);
|
|
392
317
|
assert.notEqual('', packageDotJson.dependencies);
|
|
393
|
-
assert.equal('^
|
|
394
|
-
assert.equal('^
|
|
395
|
-
assert.equal('^
|
|
396
|
-
assert.equal('^
|
|
397
|
-
assert.equal('^
|
|
318
|
+
assert.equal('^8.12.0', packageDotJson.dependencies.ajv);
|
|
319
|
+
assert.equal('^1.4.0', 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);
|
|
398
323
|
assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
|
|
399
|
-
assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
|
|
400
324
|
assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
|
|
325
|
+
assert.equal('^0.4.4', packageDotJson.dependencies.ping);
|
|
401
326
|
assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
|
|
402
|
-
assert.equal('^7.3
|
|
403
|
-
assert.equal('^3.
|
|
327
|
+
assert.equal('^7.5.3', packageDotJson.dependencies.semver);
|
|
328
|
+
assert.equal('^3.9.0', packageDotJson.dependencies.winston);
|
|
404
329
|
done();
|
|
405
330
|
} catch (error) {
|
|
406
331
|
log.error(`Test Failure: ${error}`);
|
|
@@ -413,13 +338,12 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
413
338
|
assert.notEqual(undefined, packageDotJson.devDependencies);
|
|
414
339
|
assert.notEqual(null, packageDotJson.devDependencies);
|
|
415
340
|
assert.notEqual('', packageDotJson.devDependencies);
|
|
416
|
-
assert.equal('^4.3.
|
|
417
|
-
assert.equal('^
|
|
418
|
-
assert.equal('^
|
|
419
|
-
assert.equal('^2.
|
|
420
|
-
assert.equal('^3.
|
|
421
|
-
assert.equal('^
|
|
422
|
-
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);
|
|
423
347
|
done();
|
|
424
348
|
} catch (error) {
|
|
425
349
|
log.error(`Test Failure: ${error}`);
|
|
@@ -462,16 +386,31 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
462
386
|
assert.notEqual('', pronghornDotJson.methods);
|
|
463
387
|
assert.equal(true, Array.isArray(pronghornDotJson.methods));
|
|
464
388
|
assert.notEqual(0, pronghornDotJson.methods.length);
|
|
465
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
466
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
467
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
468
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
469
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
470
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
471
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
472
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
473
|
-
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === '
|
|
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'));
|
|
393
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
|
|
394
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
|
|
395
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
|
|
396
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
|
|
397
|
+
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
|
|
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'));
|
|
474
409
|
assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
|
|
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'));
|
|
475
414
|
done();
|
|
476
415
|
} catch (error) {
|
|
477
416
|
log.error(`Test Failure: ${error}`);
|
|
@@ -592,6 +531,39 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
592
531
|
done(error);
|
|
593
532
|
}
|
|
594
533
|
});
|
|
534
|
+
it('pronghorn.json verify input/output schema objects', (done) => {
|
|
535
|
+
const verifySchema = (methodName, schema) => {
|
|
536
|
+
try {
|
|
537
|
+
ajv.compile(schema);
|
|
538
|
+
} catch (error) {
|
|
539
|
+
const errorMessage = `Invalid schema found in '${methodName}' method.
|
|
540
|
+
Schema => ${JSON.stringify(schema)}.
|
|
541
|
+
Details => ${error.message}`;
|
|
542
|
+
throw new Error(errorMessage);
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
try {
|
|
547
|
+
const pronghornDotJson = require('../../pronghorn.json');
|
|
548
|
+
const { methods } = pronghornDotJson;
|
|
549
|
+
for (let i = 0; i < methods.length; i += 1) {
|
|
550
|
+
for (let j = 0; j < methods[i].input.length; j += 1) {
|
|
551
|
+
const inputSchema = methods[i].input[j].schema;
|
|
552
|
+
if (inputSchema) {
|
|
553
|
+
verifySchema(methods[i].name, inputSchema);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
const outputSchema = methods[i].output.schema;
|
|
557
|
+
if (outputSchema) {
|
|
558
|
+
verifySchema(methods[i].name, outputSchema);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
done();
|
|
562
|
+
} catch (error) {
|
|
563
|
+
log.error(`Adapter Exception: ${error}`);
|
|
564
|
+
done(error);
|
|
565
|
+
}
|
|
566
|
+
});
|
|
595
567
|
});
|
|
596
568
|
|
|
597
569
|
describe('propertiesSchema.json', () => {
|
|
@@ -627,6 +599,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
627
599
|
assert.equal('string', propertiesDotJson.properties.host.type);
|
|
628
600
|
assert.equal('integer', propertiesDotJson.properties.port.type);
|
|
629
601
|
assert.equal('boolean', propertiesDotJson.properties.stub.type);
|
|
602
|
+
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
630
603
|
assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
|
|
631
604
|
assert.notEqual(null, propertiesDotJson.definitions.authentication);
|
|
632
605
|
assert.notEqual('', propertiesDotJson.definitions.authentication);
|
|
@@ -643,6 +616,8 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
643
616
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_id.type);
|
|
644
617
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_secret.type);
|
|
645
618
|
assert.equal('string', propertiesDotJson.definitions.authentication.properties.grant_type.type);
|
|
619
|
+
assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
|
|
620
|
+
assert.notEqual(null, propertiesDotJson.definitions.ssl);
|
|
646
621
|
assert.notEqual('', propertiesDotJson.definitions.ssl);
|
|
647
622
|
assert.equal('string', propertiesDotJson.definitions.ssl.properties.ecdhCurve.type);
|
|
648
623
|
assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.enabled.type);
|
|
@@ -656,8 +631,8 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
656
631
|
assert.equal('string', propertiesDotJson.properties.version.type);
|
|
657
632
|
assert.equal('string', propertiesDotJson.properties.cache_location.type);
|
|
658
633
|
assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
|
|
634
|
+
assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
|
|
659
635
|
assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
|
|
660
|
-
assert.equal('string', propertiesDotJson.properties.protocol.type);
|
|
661
636
|
assert.notEqual(undefined, propertiesDotJson.definitions);
|
|
662
637
|
assert.notEqual(null, propertiesDotJson.definitions);
|
|
663
638
|
assert.notEqual('', propertiesDotJson.definitions);
|
|
@@ -704,8 +679,6 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
704
679
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.protocol.type);
|
|
705
680
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.username.type);
|
|
706
681
|
assert.equal('string', propertiesDotJson.definitions.proxy.properties.password.type);
|
|
707
|
-
assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
|
|
708
|
-
assert.notEqual(null, propertiesDotJson.definitions.ssl);
|
|
709
682
|
assert.notEqual(undefined, propertiesDotJson.definitions.mongo);
|
|
710
683
|
assert.notEqual(null, propertiesDotJson.definitions.mongo);
|
|
711
684
|
assert.notEqual('', propertiesDotJson.definitions.mongo);
|
|
@@ -721,6 +694,12 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
721
694
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.ca_file.type);
|
|
722
695
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.key_file.type);
|
|
723
696
|
assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.cert_file.type);
|
|
697
|
+
assert.notEqual('', propertiesDotJson.definitions.devicebroker);
|
|
698
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevice.type);
|
|
699
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevicesFiltered.type);
|
|
700
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.isAlive.type);
|
|
701
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getConfig.type);
|
|
702
|
+
assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getCount.type);
|
|
724
703
|
done();
|
|
725
704
|
} catch (error) {
|
|
726
705
|
log.error(`Test Failure: ${error}`);
|
|
@@ -810,6 +789,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
810
789
|
assert.notEqual(undefined, sampleDotJson.properties.host);
|
|
811
790
|
assert.notEqual(undefined, sampleDotJson.properties.port);
|
|
812
791
|
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
792
|
+
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
813
793
|
assert.notEqual(undefined, sampleDotJson.properties.authentication);
|
|
814
794
|
assert.notEqual(null, sampleDotJson.properties.authentication);
|
|
815
795
|
assert.notEqual('', sampleDotJson.properties.authentication);
|
|
@@ -837,17 +817,12 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
837
817
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.cert_file);
|
|
838
818
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.secure_protocol);
|
|
839
819
|
assert.notEqual(undefined, sampleDotJson.properties.ssl.ciphers);
|
|
840
|
-
|
|
841
820
|
assert.notEqual(undefined, sampleDotJson.properties.base_path);
|
|
842
821
|
assert.notEqual(undefined, sampleDotJson.properties.version);
|
|
843
822
|
assert.notEqual(undefined, sampleDotJson.properties.cache_location);
|
|
844
823
|
assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
|
|
824
|
+
assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
|
|
845
825
|
assert.notEqual(undefined, sampleDotJson.properties.save_metric);
|
|
846
|
-
assert.notEqual(undefined, sampleDotJson.properties.protocol);
|
|
847
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
848
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
849
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
850
|
-
assert.notEqual(undefined, sampleDotJson.properties.stub);
|
|
851
826
|
assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
|
|
852
827
|
assert.notEqual(null, sampleDotJson.properties.healthcheck);
|
|
853
828
|
assert.notEqual('', sampleDotJson.properties.healthcheck);
|
|
@@ -906,6 +881,14 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
906
881
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.ca_file);
|
|
907
882
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.key_file);
|
|
908
883
|
assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.cert_file);
|
|
884
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker);
|
|
885
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevice);
|
|
886
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevicesFiltered);
|
|
887
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
|
|
888
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
|
|
889
|
+
assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
|
|
890
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache);
|
|
891
|
+
assert.notEqual(undefined, sampleDotJson.properties.cache.entities);
|
|
909
892
|
done();
|
|
910
893
|
} catch (error) {
|
|
911
894
|
log.error(`Test Failure: ${error}`);
|
|
@@ -999,10 +982,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
999
982
|
});
|
|
1000
983
|
});
|
|
1001
984
|
|
|
1002
|
-
describe('#
|
|
1003
|
-
it('should have a
|
|
985
|
+
describe('#iapUpdateAdapterConfiguration', () => {
|
|
986
|
+
it('should have a iapUpdateAdapterConfiguration function', (done) => {
|
|
1004
987
|
try {
|
|
1005
|
-
assert.equal(true, typeof a.
|
|
988
|
+
assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
|
|
1006
989
|
done();
|
|
1007
990
|
} catch (error) {
|
|
1008
991
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1011,44 +994,34 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1011
994
|
});
|
|
1012
995
|
});
|
|
1013
996
|
|
|
1014
|
-
describe('#
|
|
1015
|
-
it('should have a
|
|
997
|
+
describe('#iapSuspendAdapter', () => {
|
|
998
|
+
it('should have a iapSuspendAdapter function', (done) => {
|
|
1016
999
|
try {
|
|
1017
|
-
assert.equal(true, typeof a.
|
|
1000
|
+
assert.equal(true, typeof a.iapSuspendAdapter === 'function');
|
|
1018
1001
|
done();
|
|
1019
1002
|
} catch (error) {
|
|
1020
1003
|
log.error(`Test Failure: ${error}`);
|
|
1021
1004
|
done(error);
|
|
1022
1005
|
}
|
|
1023
1006
|
});
|
|
1024
|
-
|
|
1007
|
+
});
|
|
1008
|
+
|
|
1009
|
+
describe('#iapUnsuspendAdapter', () => {
|
|
1010
|
+
it('should have a iapUnsuspendAdapter function', (done) => {
|
|
1025
1011
|
try {
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
assert.equal(undefined, error);
|
|
1029
|
-
assert.notEqual(undefined, data);
|
|
1030
|
-
assert.notEqual(null, data);
|
|
1031
|
-
assert.equal(true, data.found);
|
|
1032
|
-
assert.notEqual(undefined, data.foundIn);
|
|
1033
|
-
assert.notEqual(null, data.foundIn);
|
|
1034
|
-
assert.notEqual(0, data.foundIn.length);
|
|
1035
|
-
done();
|
|
1036
|
-
} catch (err) {
|
|
1037
|
-
log.error(`Test Failure: ${err}`);
|
|
1038
|
-
done(err);
|
|
1039
|
-
}
|
|
1040
|
-
});
|
|
1012
|
+
assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
|
|
1013
|
+
done();
|
|
1041
1014
|
} catch (error) {
|
|
1042
|
-
log.error(`
|
|
1015
|
+
log.error(`Test Failure: ${error}`);
|
|
1043
1016
|
done(error);
|
|
1044
1017
|
}
|
|
1045
|
-
})
|
|
1018
|
+
});
|
|
1046
1019
|
});
|
|
1047
1020
|
|
|
1048
|
-
describe('#
|
|
1049
|
-
it('should have a
|
|
1021
|
+
describe('#iapGetAdapterQueue', () => {
|
|
1022
|
+
it('should have a iapGetAdapterQueue function', (done) => {
|
|
1050
1023
|
try {
|
|
1051
|
-
assert.equal(true, typeof a.
|
|
1024
|
+
assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
|
|
1052
1025
|
done();
|
|
1053
1026
|
} catch (error) {
|
|
1054
1027
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1057,22 +1030,44 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1057
1030
|
});
|
|
1058
1031
|
});
|
|
1059
1032
|
|
|
1060
|
-
describe('#
|
|
1061
|
-
it('should have a
|
|
1033
|
+
describe('#iapFindAdapterPath', () => {
|
|
1034
|
+
it('should have a iapFindAdapterPath function', (done) => {
|
|
1062
1035
|
try {
|
|
1063
|
-
assert.equal(true, typeof a.
|
|
1036
|
+
assert.equal(true, typeof a.iapFindAdapterPath === 'function');
|
|
1064
1037
|
done();
|
|
1065
1038
|
} catch (error) {
|
|
1066
1039
|
log.error(`Test Failure: ${error}`);
|
|
1067
1040
|
done(error);
|
|
1068
1041
|
}
|
|
1069
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);
|
|
1070
1065
|
});
|
|
1071
1066
|
|
|
1072
|
-
describe('#
|
|
1073
|
-
it('should have a
|
|
1067
|
+
describe('#iapTroubleshootAdapter', () => {
|
|
1068
|
+
it('should have a iapTroubleshootAdapter function', (done) => {
|
|
1074
1069
|
try {
|
|
1075
|
-
assert.equal(true, typeof a.
|
|
1070
|
+
assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
|
|
1076
1071
|
done();
|
|
1077
1072
|
} catch (error) {
|
|
1078
1073
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1081,10 +1076,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1081
1076
|
});
|
|
1082
1077
|
});
|
|
1083
1078
|
|
|
1084
|
-
describe('#
|
|
1085
|
-
it('should have a
|
|
1079
|
+
describe('#iapRunAdapterHealthcheck', () => {
|
|
1080
|
+
it('should have a iapRunAdapterHealthcheck function', (done) => {
|
|
1086
1081
|
try {
|
|
1087
|
-
assert.equal(true, typeof a.
|
|
1082
|
+
assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
|
|
1088
1083
|
done();
|
|
1089
1084
|
} catch (error) {
|
|
1090
1085
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1093,10 +1088,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1093
1088
|
});
|
|
1094
1089
|
});
|
|
1095
1090
|
|
|
1096
|
-
describe('#
|
|
1097
|
-
it('should have a
|
|
1091
|
+
describe('#iapRunAdapterConnectivity', () => {
|
|
1092
|
+
it('should have a iapRunAdapterConnectivity function', (done) => {
|
|
1098
1093
|
try {
|
|
1099
|
-
assert.equal(true, typeof a.
|
|
1094
|
+
assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
|
|
1100
1095
|
done();
|
|
1101
1096
|
} catch (error) {
|
|
1102
1097
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1105,10 +1100,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1105
1100
|
});
|
|
1106
1101
|
});
|
|
1107
1102
|
|
|
1108
|
-
describe('#
|
|
1109
|
-
it('should have a
|
|
1103
|
+
describe('#iapRunAdapterBasicGet', () => {
|
|
1104
|
+
it('should have a iapRunAdapterBasicGet function', (done) => {
|
|
1110
1105
|
try {
|
|
1111
|
-
assert.equal(true, typeof a.
|
|
1106
|
+
assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
|
|
1112
1107
|
done();
|
|
1113
1108
|
} catch (error) {
|
|
1114
1109
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1117,10 +1112,10 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1117
1112
|
});
|
|
1118
1113
|
});
|
|
1119
1114
|
|
|
1120
|
-
describe('#
|
|
1121
|
-
it('should have a
|
|
1115
|
+
describe('#iapMoveAdapterEntitiesToDB', () => {
|
|
1116
|
+
it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
|
|
1122
1117
|
try {
|
|
1123
|
-
assert.equal(true, typeof a.
|
|
1118
|
+
assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
|
|
1124
1119
|
done();
|
|
1125
1120
|
} catch (error) {
|
|
1126
1121
|
log.error(`Test Failure: ${error}`);
|
|
@@ -1214,50 +1209,293 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1214
1209
|
}).timeout(attemptTimeout);
|
|
1215
1210
|
});
|
|
1216
1211
|
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
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
|
+
});
|
|
1259
|
+
|
|
1260
|
+
describe('#hasEntities', () => {
|
|
1261
|
+
it('should have a hasEntities function', (done) => {
|
|
1262
|
+
try {
|
|
1263
|
+
assert.equal(true, typeof a.hasEntities === 'function');
|
|
1264
|
+
done();
|
|
1265
|
+
} catch (error) {
|
|
1266
|
+
log.error(`Test Failure: ${error}`);
|
|
1267
|
+
done(error);
|
|
1268
|
+
}
|
|
1269
|
+
});
|
|
1270
|
+
});
|
|
1271
|
+
|
|
1272
|
+
describe('#getDevice', () => {
|
|
1273
|
+
it('should have a getDevice function', (done) => {
|
|
1274
|
+
try {
|
|
1275
|
+
assert.equal(true, typeof a.getDevice === 'function');
|
|
1276
|
+
done();
|
|
1277
|
+
} catch (error) {
|
|
1278
|
+
log.error(`Test Failure: ${error}`);
|
|
1279
|
+
done(error);
|
|
1280
|
+
}
|
|
1281
|
+
});
|
|
1282
|
+
});
|
|
1283
|
+
|
|
1284
|
+
describe('#getDevicesFiltered', () => {
|
|
1285
|
+
it('should have a getDevicesFiltered function', (done) => {
|
|
1286
|
+
try {
|
|
1287
|
+
assert.equal(true, typeof a.getDevicesFiltered === 'function');
|
|
1288
|
+
done();
|
|
1289
|
+
} catch (error) {
|
|
1290
|
+
log.error(`Test Failure: ${error}`);
|
|
1291
|
+
done(error);
|
|
1292
|
+
}
|
|
1293
|
+
});
|
|
1294
|
+
});
|
|
1295
|
+
|
|
1296
|
+
describe('#isAlive', () => {
|
|
1297
|
+
it('should have a isAlive function', (done) => {
|
|
1298
|
+
try {
|
|
1299
|
+
assert.equal(true, typeof a.isAlive === 'function');
|
|
1300
|
+
done();
|
|
1301
|
+
} catch (error) {
|
|
1302
|
+
log.error(`Test Failure: ${error}`);
|
|
1303
|
+
done(error);
|
|
1304
|
+
}
|
|
1305
|
+
});
|
|
1306
|
+
});
|
|
1307
|
+
|
|
1308
|
+
describe('#getConfig', () => {
|
|
1309
|
+
it('should have a getConfig function', (done) => {
|
|
1310
|
+
try {
|
|
1311
|
+
assert.equal(true, typeof a.getConfig === 'function');
|
|
1312
|
+
done();
|
|
1313
|
+
} catch (error) {
|
|
1314
|
+
log.error(`Test Failure: ${error}`);
|
|
1315
|
+
done(error);
|
|
1316
|
+
}
|
|
1317
|
+
});
|
|
1318
|
+
});
|
|
1319
|
+
|
|
1320
|
+
describe('#iapGetDeviceCount', () => {
|
|
1321
|
+
it('should have a iapGetDeviceCount function', (done) => {
|
|
1322
|
+
try {
|
|
1323
|
+
assert.equal(true, typeof a.iapGetDeviceCount === 'function');
|
|
1324
|
+
done();
|
|
1325
|
+
} catch (error) {
|
|
1326
|
+
log.error(`Test Failure: ${error}`);
|
|
1327
|
+
done(error);
|
|
1328
|
+
}
|
|
1329
|
+
});
|
|
1330
|
+
});
|
|
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
|
+
});
|
|
1260
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-microsoft_office365', 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-microsoft_office365', 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
|
+
});
|
|
1261
1499
|
/*
|
|
1262
1500
|
-----------------------------------------------------------------------
|
|
1263
1501
|
-----------------------------------------------------------------------
|
|
@@ -1294,7 +1532,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1294
1532
|
a.postGroups(null, (data, error) => {
|
|
1295
1533
|
try {
|
|
1296
1534
|
const displayE = 'body is required';
|
|
1297
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1535
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-postGroups', displayE);
|
|
1298
1536
|
done();
|
|
1299
1537
|
} catch (err) {
|
|
1300
1538
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1323,7 +1561,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1323
1561
|
a.getGroupsGroupId(null, null, (data, error) => {
|
|
1324
1562
|
try {
|
|
1325
1563
|
const displayE = 'groupId is required';
|
|
1326
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1564
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-getGroupsGroupId', displayE);
|
|
1327
1565
|
done();
|
|
1328
1566
|
} catch (err) {
|
|
1329
1567
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1352,7 +1590,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1352
1590
|
a.patchGroupsGroupId(null, null, (data, error) => {
|
|
1353
1591
|
try {
|
|
1354
1592
|
const displayE = 'groupId is required';
|
|
1355
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1593
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-patchGroupsGroupId', displayE);
|
|
1356
1594
|
done();
|
|
1357
1595
|
} catch (err) {
|
|
1358
1596
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1369,7 +1607,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1369
1607
|
a.patchGroupsGroupId('fakeparam', null, (data, error) => {
|
|
1370
1608
|
try {
|
|
1371
1609
|
const displayE = 'body is required';
|
|
1372
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1610
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-patchGroupsGroupId', displayE);
|
|
1373
1611
|
done();
|
|
1374
1612
|
} catch (err) {
|
|
1375
1613
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1398,7 +1636,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1398
1636
|
a.deleteGroupsGroupId(null, (data, error) => {
|
|
1399
1637
|
try {
|
|
1400
1638
|
const displayE = 'groupId is required';
|
|
1401
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1639
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-deleteGroupsGroupId', displayE);
|
|
1402
1640
|
done();
|
|
1403
1641
|
} catch (err) {
|
|
1404
1642
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1439,7 +1677,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1439
1677
|
a.postUsers(null, (data, error) => {
|
|
1440
1678
|
try {
|
|
1441
1679
|
const displayE = 'body is required';
|
|
1442
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1680
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-postUsers', displayE);
|
|
1443
1681
|
done();
|
|
1444
1682
|
} catch (err) {
|
|
1445
1683
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1468,7 +1706,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1468
1706
|
a.getUsersUserId(null, null, (data, error) => {
|
|
1469
1707
|
try {
|
|
1470
1708
|
const displayE = 'userId is required';
|
|
1471
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1709
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-getUsersUserId', displayE);
|
|
1472
1710
|
done();
|
|
1473
1711
|
} catch (err) {
|
|
1474
1712
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1497,7 +1735,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1497
1735
|
a.patchUsersUserId(null, null, (data, error) => {
|
|
1498
1736
|
try {
|
|
1499
1737
|
const displayE = 'userId is required';
|
|
1500
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1738
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-patchUsersUserId', displayE);
|
|
1501
1739
|
done();
|
|
1502
1740
|
} catch (err) {
|
|
1503
1741
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1514,7 +1752,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1514
1752
|
a.patchUsersUserId('fakeparam', null, (data, error) => {
|
|
1515
1753
|
try {
|
|
1516
1754
|
const displayE = 'body is required';
|
|
1517
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1755
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-patchUsersUserId', displayE);
|
|
1518
1756
|
done();
|
|
1519
1757
|
} catch (err) {
|
|
1520
1758
|
log.error(`Test Failure: ${err}`);
|
|
@@ -1543,7 +1781,7 @@ describe('[unit] MicrosoftOffice365 Adapter Test', () => {
|
|
|
1543
1781
|
a.deleteUsersUserId(null, (data, error) => {
|
|
1544
1782
|
try {
|
|
1545
1783
|
const displayE = 'userId is required';
|
|
1546
|
-
runErrorAsserts(data, error, 'AD.300', 'Test-
|
|
1784
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-microsoft_office365-adapter-deleteUsersUserId', displayE);
|
|
1547
1785
|
done();
|
|
1548
1786
|
} catch (err) {
|
|
1549
1787
|
log.error(`Test Failure: ${err}`);
|