@itentialopensource/adapter-webex_teams 0.5.6 → 0.6.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.
Files changed (43) hide show
  1. package/AUTH.md +39 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +169 -0
  4. package/CHANGELOG.md +31 -24
  5. package/CODE_OF_CONDUCT.md +12 -17
  6. package/CONTRIBUTING.md +88 -74
  7. package/ENHANCE.md +69 -0
  8. package/PROPERTIES.md +641 -0
  9. package/README.md +225 -502
  10. package/SUMMARY.md +9 -0
  11. package/SYSTEMINFO.md +11 -0
  12. package/TROUBLESHOOT.md +47 -0
  13. package/adapter.js +348 -57
  14. package/adapterBase.js +1021 -245
  15. package/entities/.generic/action.json +110 -5
  16. package/entities/.generic/schema.json +6 -1
  17. package/error.json +12 -0
  18. package/package.json +20 -13
  19. package/pronghorn.json +642 -378
  20. package/propertiesDecorators.json +14 -0
  21. package/propertiesSchema.json +436 -0
  22. package/refs?service=git-upload-pack +0 -0
  23. package/report/adapterInfo.json +10 -0
  24. package/report/updateReport1653575821854.json +120 -0
  25. package/sampleProperties.json +94 -2
  26. package/storage/metrics.json +692 -0
  27. package/test/integration/adapterTestBasicGet.js +2 -2
  28. package/test/integration/adapterTestIntegration.js +38 -112
  29. package/test/unit/adapterBaseTestUnit.js +35 -27
  30. package/test/unit/adapterTestUnit.js +580 -182
  31. package/utils/adapterInfo.js +206 -0
  32. package/utils/addAuth.js +94 -0
  33. package/utils/basicGet.js +1 -14
  34. package/utils/entitiesToDB.js +179 -0
  35. package/utils/modify.js +1 -1
  36. package/utils/packModificationScript.js +1 -1
  37. package/utils/patches2bundledDeps.js +90 -0
  38. package/utils/pre-commit.sh +3 -0
  39. package/utils/removeHooks.js +20 -0
  40. package/utils/tbScript.js +43 -22
  41. package/utils/tbUtils.js +126 -29
  42. package/utils/testRunner.js +16 -16
  43. package/utils/troubleshootingAdapter.js +2 -26
@@ -4,6 +4,7 @@
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');
@@ -18,22 +19,31 @@ const { use } = require('chai');
18
19
  const td = require('testdouble');
19
20
 
20
21
  const anything = td.matchers.anything();
21
-
22
- // stub and attemptTimeout are used throughout the code so set them here
23
22
  let logLevel = 'none';
24
- const stub = true;
25
23
  const isRapidFail = false;
26
- const attemptTimeout = 120000;
24
+
25
+ // read in the properties from the sampleProperties files
26
+ let adaptdir = __dirname;
27
+ if (adaptdir.endsWith('/test/integration')) {
28
+ adaptdir = adaptdir.substring(0, adaptdir.length - 17);
29
+ } else if (adaptdir.endsWith('/test/unit')) {
30
+ adaptdir = adaptdir.substring(0, adaptdir.length - 10);
31
+ }
32
+ const samProps = require(`${adaptdir}/sampleProperties.json`).properties;
27
33
 
28
34
  // these variables can be changed to run in integrated mode so easier to set them here
29
35
  // always check these in with bogus data!!!
30
- const host = 'replace.hostorip.here';
31
- const username = 'username';
32
- const password = 'password';
33
- const protocol = 'http';
34
- const port = 80;
35
- const sslenable = false;
36
- const sslinvalid = false;
36
+ samProps.stub = true;
37
+ samProps.host = 'replace.hostorip.here';
38
+ samProps.authentication.username = 'username';
39
+ samProps.authentication.password = 'password';
40
+ samProps.protocol = 'http';
41
+ samProps.port = 80;
42
+ samProps.ssl.enabled = false;
43
+ samProps.ssl.accept_invalid_cert = false;
44
+ samProps.request.attempt_timeout = 60000;
45
+ const attemptTimeout = samProps.request.attempt_timeout;
46
+ const { stub } = samProps;
37
47
 
38
48
  // these are the adapter properties. You generally should not need to alter
39
49
  // any of these after they are initially set up
@@ -43,101 +53,9 @@ global.pronghornProps = {
43
53
  },
44
54
  adapterProps: {
45
55
  adapters: [{
46
- id: 'Test-WebexTeams',
56
+ id: 'Test-webex_teams',
47
57
  type: 'WebexTeams',
48
- properties: {
49
- host,
50
- port,
51
- base_path: '//api',
52
- version: 'v1.3.1',
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
- token_timeout: -1,
64
- token_cache: 'local',
65
- invalid_token_error: 401,
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
- }
58
+ properties: samProps
141
59
  }]
142
60
  }
143
61
  };
@@ -198,7 +116,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
198
116
  }
199
117
 
200
118
  // require the adapter that we are going to be using
201
- const WebexTeams = require('../../adapter.js');
119
+ const WebexTeams = require('../../adapter');
202
120
 
203
121
  // delete the .DS_Store directory in entities -- otherwise this will cause errors
204
122
  const dirPath = path.join(__dirname, '../../entities/.DS_Store');
@@ -240,6 +158,8 @@ describe('[unit] WebexTeams Adapter Test', () => {
240
158
  try {
241
159
  assert.notEqual(null, a);
242
160
  assert.notEqual(undefined, a);
161
+ const checkId = global.pronghornProps.adapterProps.adapters[0].id;
162
+ assert.equal(checkId, a.id);
243
163
  assert.notEqual(null, a.allProps);
244
164
  const check = global.pronghornProps.adapterProps.adapters[0].properties.healthcheck.type;
245
165
  assert.equal(check, a.healthcheckType);
@@ -266,10 +186,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
266
186
  });
267
187
 
268
188
  let wffunctions = [];
269
- describe('#getWorkflowFunctions', () => {
189
+ describe('#iapGetAdapterWorkflowFunctions', () => {
270
190
  it('should retrieve workflow functions', (done) => {
271
191
  try {
272
- wffunctions = a.getWorkflowFunctions([]);
192
+ wffunctions = a.iapGetAdapterWorkflowFunctions([]);
273
193
 
274
194
  try {
275
195
  assert.notEqual(0, wffunctions.length);
@@ -321,13 +241,103 @@ describe('[unit] WebexTeams Adapter Test', () => {
321
241
  done(error);
322
242
  }
323
243
  });
324
- it('package.json should be customized', (done) => {
244
+ it('package.json standard fields should be customized', (done) => {
325
245
  try {
326
246
  const packageDotJson = require('../../package.json');
327
247
  assert.notEqual(-1, packageDotJson.name.indexOf('webex_teams'));
328
248
  assert.notEqual(undefined, packageDotJson.version);
329
249
  assert.notEqual(null, packageDotJson.version);
330
250
  assert.notEqual('', packageDotJson.version);
251
+ assert.notEqual(undefined, packageDotJson.description);
252
+ assert.notEqual(null, packageDotJson.description);
253
+ assert.notEqual('', packageDotJson.description);
254
+ assert.equal('adapter.js', packageDotJson.main);
255
+ assert.notEqual(undefined, packageDotJson.wizardVersion);
256
+ assert.notEqual(null, packageDotJson.wizardVersion);
257
+ assert.notEqual('', packageDotJson.wizardVersion);
258
+ assert.notEqual(undefined, packageDotJson.engineVersion);
259
+ assert.notEqual(null, packageDotJson.engineVersion);
260
+ assert.notEqual('', packageDotJson.engineVersion);
261
+ assert.equal('http', packageDotJson.adapterType);
262
+ done();
263
+ } catch (error) {
264
+ log.error(`Test Failure: ${error}`);
265
+ done(error);
266
+ }
267
+ });
268
+ it('package.json proper scripts should be provided', (done) => {
269
+ try {
270
+ const packageDotJson = require('../../package.json');
271
+ assert.notEqual(undefined, packageDotJson.scripts);
272
+ assert.notEqual(null, packageDotJson.scripts);
273
+ assert.notEqual('', packageDotJson.scripts);
274
+ assert.equal('node utils/setup.js && npm install --package-lock-only --ignore-scripts && npx npm-force-resolutions', packageDotJson.scripts.preinstall);
275
+ assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js', packageDotJson.scripts.lint);
276
+ assert.equal('node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet', packageDotJson.scripts['lint:errors']);
277
+ assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
278
+ assert.equal('mocha test/unit/adapterTestUnit.js --LOG=error', packageDotJson.scripts['test:unit']);
279
+ assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
280
+ assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
281
+ assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
282
+ assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
283
+ assert.equal('npm run deploy', packageDotJson.scripts.build);
284
+ done();
285
+ } catch (error) {
286
+ log.error(`Test Failure: ${error}`);
287
+ done(error);
288
+ }
289
+ });
290
+ it('package.json proper directories should be provided', (done) => {
291
+ try {
292
+ const packageDotJson = require('../../package.json');
293
+ assert.notEqual(undefined, packageDotJson.repository);
294
+ assert.notEqual(null, packageDotJson.repository);
295
+ assert.notEqual('', packageDotJson.repository);
296
+ assert.equal('git', packageDotJson.repository.type);
297
+ assert.equal('git@gitlab.com:itentialopensource/adapters/', packageDotJson.repository.url.substring(0, 43));
298
+ assert.equal('https://gitlab.com/itentialopensource/adapters/', packageDotJson.homepage.substring(0, 47));
299
+ done();
300
+ } catch (error) {
301
+ log.error(`Test Failure: ${error}`);
302
+ done(error);
303
+ }
304
+ });
305
+ it('package.json proper dependencies should be provided', (done) => {
306
+ try {
307
+ const packageDotJson = require('../../package.json');
308
+ assert.notEqual(undefined, packageDotJson.dependencies);
309
+ assert.notEqual(null, packageDotJson.dependencies);
310
+ assert.notEqual('', packageDotJson.dependencies);
311
+ assert.equal('^6.12.0', packageDotJson.dependencies.ajv);
312
+ assert.equal('^0.21.0', packageDotJson.dependencies.axios);
313
+ assert.equal('^2.20.0', packageDotJson.dependencies.commander);
314
+ assert.equal('^8.1.0', packageDotJson.dependencies['fs-extra']);
315
+ assert.equal('^9.0.1', packageDotJson.dependencies.mocha);
316
+ assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
317
+ assert.equal('^0.5.3', packageDotJson.dependencies['network-diagnostics']);
318
+ assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
319
+ assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
320
+ assert.equal('^7.3.2', packageDotJson.dependencies.semver);
321
+ assert.equal('^3.3.3', packageDotJson.dependencies.winston);
322
+ done();
323
+ } catch (error) {
324
+ log.error(`Test Failure: ${error}`);
325
+ done(error);
326
+ }
327
+ });
328
+ it('package.json proper dev dependencies should be provided', (done) => {
329
+ try {
330
+ const packageDotJson = require('../../package.json');
331
+ assert.notEqual(undefined, packageDotJson.devDependencies);
332
+ assert.notEqual(null, packageDotJson.devDependencies);
333
+ assert.notEqual('', packageDotJson.devDependencies);
334
+ assert.equal('^4.3.4', packageDotJson.devDependencies.chai);
335
+ assert.equal('^7.29.0', packageDotJson.devDependencies.eslint);
336
+ assert.equal('^14.2.1', packageDotJson.devDependencies['eslint-config-airbnb-base']);
337
+ assert.equal('^2.23.4', packageDotJson.devDependencies['eslint-plugin-import']);
338
+ assert.equal('^3.0.0', packageDotJson.devDependencies['eslint-plugin-json']);
339
+ assert.equal('^0.6.3', packageDotJson.devDependencies['package-json-validator']);
340
+ assert.equal('^3.16.1', packageDotJson.devDependencies.testdouble);
331
341
  done();
332
342
  } catch (error) {
333
343
  log.error(`Test Failure: ${error}`);
@@ -352,8 +362,35 @@ describe('[unit] WebexTeams Adapter Test', () => {
352
362
  try {
353
363
  const pronghornDotJson = require('../../pronghorn.json');
354
364
  assert.notEqual(-1, pronghornDotJson.id.indexOf('webex_teams'));
365
+ assert.equal('Adapter', pronghornDotJson.type);
355
366
  assert.equal('WebexTeams', pronghornDotJson.export);
356
367
  assert.equal('WebexTeams', pronghornDotJson.title);
368
+ assert.equal('adapter.js', pronghornDotJson.src);
369
+ done();
370
+ } catch (error) {
371
+ log.error(`Test Failure: ${error}`);
372
+ done(error);
373
+ }
374
+ });
375
+ it('pronghorn.json should contain generic adapter methods', (done) => {
376
+ try {
377
+ const pronghornDotJson = require('../../pronghorn.json');
378
+ assert.notEqual(undefined, pronghornDotJson.methods);
379
+ assert.notEqual(null, pronghornDotJson.methods);
380
+ assert.notEqual('', pronghornDotJson.methods);
381
+ assert.equal(true, Array.isArray(pronghornDotJson.methods));
382
+ assert.notEqual(0, pronghornDotJson.methods.length);
383
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUpdateAdapterConfiguration'));
384
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapFindAdapterPath'));
385
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapTroubleshootAdapter'));
386
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterHealthcheck'));
387
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterConnectivity'));
388
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapRunAdapterBasicGet'));
389
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapSuspendAdapter'));
390
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapUnsuspendAdapter'));
391
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'iapGetAdapterQueue'));
392
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequest'));
393
+ assert.notEqual(undefined, pronghornDotJson.methods.find((e) => e.name === 'genericAdapterRequestNoBasePath'));
357
394
  done();
358
395
  } catch (error) {
359
396
  log.error(`Test Failure: ${error}`);
@@ -492,6 +529,124 @@ describe('[unit] WebexTeams Adapter Test', () => {
492
529
  try {
493
530
  const propertiesDotJson = require('../../propertiesSchema.json');
494
531
  assert.equal('adapter-webex_teams', propertiesDotJson.$id);
532
+ assert.equal('object', propertiesDotJson.type);
533
+ assert.equal('http://json-schema.org/draft-07/schema#', propertiesDotJson.$schema);
534
+ done();
535
+ } catch (error) {
536
+ log.error(`Test Failure: ${error}`);
537
+ done(error);
538
+ }
539
+ });
540
+ it('propertiesSchema.json should contain generic adapter properties', (done) => {
541
+ try {
542
+ const propertiesDotJson = require('../../propertiesSchema.json');
543
+ assert.notEqual(undefined, propertiesDotJson.properties);
544
+ assert.notEqual(null, propertiesDotJson.properties);
545
+ assert.notEqual('', propertiesDotJson.properties);
546
+ assert.equal('string', propertiesDotJson.properties.host.type);
547
+ assert.equal('integer', propertiesDotJson.properties.port.type);
548
+ assert.equal('boolean', propertiesDotJson.properties.stub.type);
549
+ assert.notEqual(undefined, propertiesDotJson.definitions.authentication);
550
+ assert.notEqual(null, propertiesDotJson.definitions.authentication);
551
+ assert.notEqual('', propertiesDotJson.definitions.authentication);
552
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.auth_method.type);
553
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.username.type);
554
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.password.type);
555
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.token.type);
556
+ assert.equal('integer', propertiesDotJson.definitions.authentication.properties.invalid_token_error.type);
557
+ assert.equal('integer', propertiesDotJson.definitions.authentication.properties.token_timeout.type);
558
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.token_cache.type);
559
+ assert.equal(true, Array.isArray(propertiesDotJson.definitions.authentication.properties.auth_field.type));
560
+ assert.equal(true, Array.isArray(propertiesDotJson.definitions.authentication.properties.auth_field_format.type));
561
+ assert.equal('boolean', propertiesDotJson.definitions.authentication.properties.auth_logging.type);
562
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_id.type);
563
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.client_secret.type);
564
+ assert.equal('string', propertiesDotJson.definitions.authentication.properties.grant_type.type);
565
+ assert.notEqual(undefined, propertiesDotJson.definitions.ssl);
566
+ assert.notEqual(null, propertiesDotJson.definitions.ssl);
567
+ assert.notEqual('', propertiesDotJson.definitions.ssl);
568
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.ecdhCurve.type);
569
+ assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.enabled.type);
570
+ assert.equal('boolean', propertiesDotJson.definitions.ssl.properties.accept_invalid_cert.type);
571
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.ca_file.type);
572
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.key_file.type);
573
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.cert_file.type);
574
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.secure_protocol.type);
575
+ assert.equal('string', propertiesDotJson.definitions.ssl.properties.ciphers.type);
576
+ assert.equal('string', propertiesDotJson.properties.base_path.type);
577
+ assert.equal('string', propertiesDotJson.properties.version.type);
578
+ assert.equal('string', propertiesDotJson.properties.cache_location.type);
579
+ assert.equal('boolean', propertiesDotJson.properties.encode_pathvars.type);
580
+ assert.equal('boolean', propertiesDotJson.properties.encode_queryvars.type);
581
+ assert.equal(true, Array.isArray(propertiesDotJson.properties.save_metric.type));
582
+ assert.equal('string', propertiesDotJson.properties.protocol.type);
583
+ assert.notEqual(undefined, propertiesDotJson.definitions);
584
+ assert.notEqual(null, propertiesDotJson.definitions);
585
+ assert.notEqual('', propertiesDotJson.definitions);
586
+ assert.notEqual(undefined, propertiesDotJson.definitions.healthcheck);
587
+ assert.notEqual(null, propertiesDotJson.definitions.healthcheck);
588
+ assert.notEqual('', propertiesDotJson.definitions.healthcheck);
589
+ assert.equal('string', propertiesDotJson.definitions.healthcheck.properties.type.type);
590
+ assert.equal('integer', propertiesDotJson.definitions.healthcheck.properties.frequency.type);
591
+ assert.equal('object', propertiesDotJson.definitions.healthcheck.properties.query_object.type);
592
+ assert.notEqual(undefined, propertiesDotJson.definitions.throttle);
593
+ assert.notEqual(null, propertiesDotJson.definitions.throttle);
594
+ assert.notEqual('', propertiesDotJson.definitions.throttle);
595
+ assert.equal('boolean', propertiesDotJson.definitions.throttle.properties.throttle_enabled.type);
596
+ assert.equal('integer', propertiesDotJson.definitions.throttle.properties.number_pronghorns.type);
597
+ assert.equal('string', propertiesDotJson.definitions.throttle.properties.sync_async.type);
598
+ assert.equal('integer', propertiesDotJson.definitions.throttle.properties.max_in_queue.type);
599
+ assert.equal('integer', propertiesDotJson.definitions.throttle.properties.concurrent_max.type);
600
+ assert.equal('integer', propertiesDotJson.definitions.throttle.properties.expire_timeout.type);
601
+ assert.equal('integer', propertiesDotJson.definitions.throttle.properties.avg_runtime.type);
602
+ assert.equal('array', propertiesDotJson.definitions.throttle.properties.priorities.type);
603
+ assert.notEqual(undefined, propertiesDotJson.definitions.request);
604
+ assert.notEqual(null, propertiesDotJson.definitions.request);
605
+ assert.notEqual('', propertiesDotJson.definitions.request);
606
+ assert.equal('integer', propertiesDotJson.definitions.request.properties.number_redirects.type);
607
+ assert.equal('integer', propertiesDotJson.definitions.request.properties.number_retries.type);
608
+ assert.equal(true, Array.isArray(propertiesDotJson.definitions.request.properties.limit_retry_error.type));
609
+ assert.equal('array', propertiesDotJson.definitions.request.properties.failover_codes.type);
610
+ assert.equal('integer', propertiesDotJson.definitions.request.properties.attempt_timeout.type);
611
+ assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.type);
612
+ assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.payload.type);
613
+ assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.uriOptions.type);
614
+ assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.addlHeaders.type);
615
+ assert.equal('object', propertiesDotJson.definitions.request.properties.global_request.properties.authData.type);
616
+ assert.equal('boolean', propertiesDotJson.definitions.request.properties.healthcheck_on_timeout.type);
617
+ assert.equal('boolean', propertiesDotJson.definitions.request.properties.return_raw.type);
618
+ assert.equal('boolean', propertiesDotJson.definitions.request.properties.archiving.type);
619
+ assert.equal('boolean', propertiesDotJson.definitions.request.properties.return_request.type);
620
+ assert.notEqual(undefined, propertiesDotJson.definitions.proxy);
621
+ assert.notEqual(null, propertiesDotJson.definitions.proxy);
622
+ assert.notEqual('', propertiesDotJson.definitions.proxy);
623
+ assert.equal('boolean', propertiesDotJson.definitions.proxy.properties.enabled.type);
624
+ assert.equal('string', propertiesDotJson.definitions.proxy.properties.host.type);
625
+ assert.equal('integer', propertiesDotJson.definitions.proxy.properties.port.type);
626
+ assert.equal('string', propertiesDotJson.definitions.proxy.properties.protocol.type);
627
+ assert.equal('string', propertiesDotJson.definitions.proxy.properties.username.type);
628
+ assert.equal('string', propertiesDotJson.definitions.proxy.properties.password.type);
629
+ assert.notEqual(undefined, propertiesDotJson.definitions.mongo);
630
+ assert.notEqual(null, propertiesDotJson.definitions.mongo);
631
+ assert.notEqual('', propertiesDotJson.definitions.mongo);
632
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.host.type);
633
+ assert.equal('integer', propertiesDotJson.definitions.mongo.properties.port.type);
634
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.database.type);
635
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.username.type);
636
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.password.type);
637
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.replSet.type);
638
+ assert.equal('object', propertiesDotJson.definitions.mongo.properties.db_ssl.type);
639
+ assert.equal('boolean', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.enabled.type);
640
+ assert.equal('boolean', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.accept_invalid_cert.type);
641
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.ca_file.type);
642
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.key_file.type);
643
+ assert.equal('string', propertiesDotJson.definitions.mongo.properties.db_ssl.properties.cert_file.type);
644
+ assert.notEqual('', propertiesDotJson.definitions.devicebroker);
645
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevice.type);
646
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getDevicesFiltered.type);
647
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.isAlive.type);
648
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getConfig.type);
649
+ assert.equal('array', propertiesDotJson.definitions.devicebroker.properties.getCount.type);
495
650
  done();
496
651
  } catch (error) {
497
652
  log.error(`Test Failure: ${error}`);
@@ -512,6 +667,50 @@ describe('[unit] WebexTeams Adapter Test', () => {
512
667
  done(error);
513
668
  }
514
669
  });
670
+ it('error.json should have standard adapter errors', (done) => {
671
+ try {
672
+ const errorDotJson = require('../../error.json');
673
+ assert.notEqual(undefined, errorDotJson.errors);
674
+ assert.notEqual(null, errorDotJson.errors);
675
+ assert.notEqual('', errorDotJson.errors);
676
+ assert.equal(true, Array.isArray(errorDotJson.errors));
677
+ assert.notEqual(0, errorDotJson.errors.length);
678
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.100'));
679
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.101'));
680
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.102'));
681
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.110'));
682
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.111'));
683
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.112'));
684
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.113'));
685
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.114'));
686
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.115'));
687
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.116'));
688
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.300'));
689
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.301'));
690
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.302'));
691
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.303'));
692
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.304'));
693
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.305'));
694
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.310'));
695
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.311'));
696
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.312'));
697
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.320'));
698
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.321'));
699
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.400'));
700
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.401'));
701
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.402'));
702
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.500'));
703
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.501'));
704
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.502'));
705
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.503'));
706
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.600'));
707
+ assert.notEqual(undefined, errorDotJson.errors.find((e) => e.icode === 'AD.900'));
708
+ done();
709
+ } catch (error) {
710
+ log.error(`Test Failure: ${error}`);
711
+ done(error);
712
+ }
713
+ });
515
714
  });
516
715
 
517
716
  describe('sampleProperties.json', () => {
@@ -526,6 +725,121 @@ describe('[unit] WebexTeams Adapter Test', () => {
526
725
  done(error);
527
726
  }
528
727
  });
728
+ it('sampleProperties.json should contain generic adapter properties', (done) => {
729
+ try {
730
+ const sampleDotJson = require('../../sampleProperties.json');
731
+ assert.notEqual(-1, sampleDotJson.id.indexOf('webex_teams'));
732
+ assert.equal('WebexTeams', sampleDotJson.type);
733
+ assert.notEqual(undefined, sampleDotJson.properties);
734
+ assert.notEqual(null, sampleDotJson.properties);
735
+ assert.notEqual('', sampleDotJson.properties);
736
+ assert.notEqual(undefined, sampleDotJson.properties.host);
737
+ assert.notEqual(undefined, sampleDotJson.properties.port);
738
+ assert.notEqual(undefined, sampleDotJson.properties.stub);
739
+ assert.notEqual(undefined, sampleDotJson.properties.authentication);
740
+ assert.notEqual(null, sampleDotJson.properties.authentication);
741
+ assert.notEqual('', sampleDotJson.properties.authentication);
742
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_method);
743
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.username);
744
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.password);
745
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.token);
746
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.invalid_token_error);
747
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.token_timeout);
748
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.token_cache);
749
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_field);
750
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_field_format);
751
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.auth_logging);
752
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.client_id);
753
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.client_secret);
754
+ assert.notEqual(undefined, sampleDotJson.properties.authentication.grant_type);
755
+ assert.notEqual(undefined, sampleDotJson.properties.ssl);
756
+ assert.notEqual(null, sampleDotJson.properties.ssl);
757
+ assert.notEqual('', sampleDotJson.properties.ssl);
758
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.ecdhCurve);
759
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.enabled);
760
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.accept_invalid_cert);
761
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.ca_file);
762
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.key_file);
763
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.cert_file);
764
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.secure_protocol);
765
+ assert.notEqual(undefined, sampleDotJson.properties.ssl.ciphers);
766
+ assert.notEqual(undefined, sampleDotJson.properties.base_path);
767
+ assert.notEqual(undefined, sampleDotJson.properties.version);
768
+ assert.notEqual(undefined, sampleDotJson.properties.cache_location);
769
+ assert.notEqual(undefined, sampleDotJson.properties.encode_pathvars);
770
+ assert.notEqual(undefined, sampleDotJson.properties.encode_queryvars);
771
+ assert.notEqual(undefined, sampleDotJson.properties.save_metric);
772
+ assert.notEqual(undefined, sampleDotJson.properties.protocol);
773
+ assert.notEqual(undefined, sampleDotJson.properties.healthcheck);
774
+ assert.notEqual(null, sampleDotJson.properties.healthcheck);
775
+ assert.notEqual('', sampleDotJson.properties.healthcheck);
776
+ assert.notEqual(undefined, sampleDotJson.properties.healthcheck.type);
777
+ assert.notEqual(undefined, sampleDotJson.properties.healthcheck.frequency);
778
+ assert.notEqual(undefined, sampleDotJson.properties.healthcheck.query_object);
779
+ assert.notEqual(undefined, sampleDotJson.properties.throttle);
780
+ assert.notEqual(null, sampleDotJson.properties.throttle);
781
+ assert.notEqual('', sampleDotJson.properties.throttle);
782
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.throttle_enabled);
783
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.number_pronghorns);
784
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.sync_async);
785
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.max_in_queue);
786
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.concurrent_max);
787
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.expire_timeout);
788
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.avg_runtime);
789
+ assert.notEqual(undefined, sampleDotJson.properties.throttle.priorities);
790
+ assert.notEqual(undefined, sampleDotJson.properties.request);
791
+ assert.notEqual(null, sampleDotJson.properties.request);
792
+ assert.notEqual('', sampleDotJson.properties.request);
793
+ assert.notEqual(undefined, sampleDotJson.properties.request.number_redirects);
794
+ assert.notEqual(undefined, sampleDotJson.properties.request.number_retries);
795
+ assert.notEqual(undefined, sampleDotJson.properties.request.limit_retry_error);
796
+ assert.notEqual(undefined, sampleDotJson.properties.request.failover_codes);
797
+ assert.notEqual(undefined, sampleDotJson.properties.request.attempt_timeout);
798
+ assert.notEqual(undefined, sampleDotJson.properties.request.global_request);
799
+ assert.notEqual(undefined, sampleDotJson.properties.request.global_request.payload);
800
+ assert.notEqual(undefined, sampleDotJson.properties.request.global_request.uriOptions);
801
+ assert.notEqual(undefined, sampleDotJson.properties.request.global_request.addlHeaders);
802
+ assert.notEqual(undefined, sampleDotJson.properties.request.global_request.authData);
803
+ assert.notEqual(undefined, sampleDotJson.properties.request.healthcheck_on_timeout);
804
+ assert.notEqual(undefined, sampleDotJson.properties.request.return_raw);
805
+ assert.notEqual(undefined, sampleDotJson.properties.request.archiving);
806
+ assert.notEqual(undefined, sampleDotJson.properties.request.return_request);
807
+ assert.notEqual(undefined, sampleDotJson.properties.proxy);
808
+ assert.notEqual(null, sampleDotJson.properties.proxy);
809
+ assert.notEqual('', sampleDotJson.properties.proxy);
810
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.enabled);
811
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.host);
812
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.port);
813
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.protocol);
814
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.username);
815
+ assert.notEqual(undefined, sampleDotJson.properties.proxy.password);
816
+ assert.notEqual(undefined, sampleDotJson.properties.mongo);
817
+ assert.notEqual(null, sampleDotJson.properties.mongo);
818
+ assert.notEqual('', sampleDotJson.properties.mongo);
819
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.host);
820
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.port);
821
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.database);
822
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.username);
823
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.password);
824
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.replSet);
825
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl);
826
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.enabled);
827
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.accept_invalid_cert);
828
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.ca_file);
829
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.key_file);
830
+ assert.notEqual(undefined, sampleDotJson.properties.mongo.db_ssl.cert_file);
831
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker);
832
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevice);
833
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getDevicesFiltered);
834
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker.isAlive);
835
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getConfig);
836
+ assert.notEqual(undefined, sampleDotJson.properties.devicebroker.getCount);
837
+ done();
838
+ } catch (error) {
839
+ log.error(`Test Failure: ${error}`);
840
+ done(error);
841
+ }
842
+ });
529
843
  });
530
844
 
531
845
  describe('#checkProperties', () => {
@@ -613,10 +927,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
613
927
  });
614
928
  });
615
929
 
616
- describe('#updateAdapterConfiguration', () => {
617
- it('should have a updateAdapterConfiguration function', (done) => {
930
+ describe('#iapUpdateAdapterConfiguration', () => {
931
+ it('should have a iapUpdateAdapterConfiguration function', (done) => {
618
932
  try {
619
- assert.equal(true, typeof a.updateAdapterConfiguration === 'function');
933
+ assert.equal(true, typeof a.iapUpdateAdapterConfiguration === 'function');
620
934
  done();
621
935
  } catch (error) {
622
936
  log.error(`Test Failure: ${error}`);
@@ -625,19 +939,19 @@ describe('[unit] WebexTeams Adapter Test', () => {
625
939
  });
626
940
  });
627
941
 
628
- describe('#findPath', () => {
629
- it('should have a findPath function', (done) => {
942
+ describe('#iapFindAdapterPath', () => {
943
+ it('should have a iapFindAdapterPath function', (done) => {
630
944
  try {
631
- assert.equal(true, typeof a.findPath === 'function');
945
+ assert.equal(true, typeof a.iapFindAdapterPath === 'function');
632
946
  done();
633
947
  } catch (error) {
634
948
  log.error(`Test Failure: ${error}`);
635
949
  done(error);
636
950
  }
637
951
  });
638
- it('findPath should find atleast one path that matches', (done) => {
952
+ it('iapFindAdapterPath should find atleast one path that matches', (done) => {
639
953
  try {
640
- a.findPath('{base_path}/{version}', (data, error) => {
954
+ a.iapFindAdapterPath('{base_path}/{version}', (data, error) => {
641
955
  try {
642
956
  assert.equal(undefined, error);
643
957
  assert.notEqual(undefined, data);
@@ -659,10 +973,22 @@ describe('[unit] WebexTeams Adapter Test', () => {
659
973
  }).timeout(attemptTimeout);
660
974
  });
661
975
 
662
- describe('#suspend', () => {
663
- it('should have a suspend function', (done) => {
976
+ describe('#iapSuspendAdapter', () => {
977
+ it('should have a iapSuspendAdapter function', (done) => {
978
+ try {
979
+ assert.equal(true, typeof a.iapSuspendAdapter === 'function');
980
+ done();
981
+ } catch (error) {
982
+ log.error(`Test Failure: ${error}`);
983
+ done(error);
984
+ }
985
+ });
986
+ });
987
+
988
+ describe('#iapUnsuspendAdapter', () => {
989
+ it('should have a iapUnsuspendAdapter function', (done) => {
664
990
  try {
665
- assert.equal(true, typeof a.suspend === 'function');
991
+ assert.equal(true, typeof a.iapUnsuspendAdapter === 'function');
666
992
  done();
667
993
  } catch (error) {
668
994
  log.error(`Test Failure: ${error}`);
@@ -671,10 +997,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
671
997
  });
672
998
  });
673
999
 
674
- describe('#unsuspend', () => {
675
- it('should have a unsuspend function', (done) => {
1000
+ describe('#iapGetAdapterQueue', () => {
1001
+ it('should have a iapGetAdapterQueue function', (done) => {
676
1002
  try {
677
- assert.equal(true, typeof a.unsuspend === 'function');
1003
+ assert.equal(true, typeof a.iapGetAdapterQueue === 'function');
678
1004
  done();
679
1005
  } catch (error) {
680
1006
  log.error(`Test Failure: ${error}`);
@@ -683,10 +1009,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
683
1009
  });
684
1010
  });
685
1011
 
686
- describe('#getQueue', () => {
687
- it('should have a getQueue function', (done) => {
1012
+ describe('#iapTroubleshootAdapter', () => {
1013
+ it('should have a iapTroubleshootAdapter function', (done) => {
688
1014
  try {
689
- assert.equal(true, typeof a.getQueue === 'function');
1015
+ assert.equal(true, typeof a.iapTroubleshootAdapter === 'function');
690
1016
  done();
691
1017
  } catch (error) {
692
1018
  log.error(`Test Failure: ${error}`);
@@ -695,10 +1021,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
695
1021
  });
696
1022
  });
697
1023
 
698
- describe('#troubleshoot', () => {
699
- it('should have a troubleshoot function', (done) => {
1024
+ describe('#iapRunAdapterHealthcheck', () => {
1025
+ it('should have a iapRunAdapterHealthcheck function', (done) => {
700
1026
  try {
701
- assert.equal(true, typeof a.troubleshoot === 'function');
1027
+ assert.equal(true, typeof a.iapRunAdapterHealthcheck === 'function');
702
1028
  done();
703
1029
  } catch (error) {
704
1030
  log.error(`Test Failure: ${error}`);
@@ -707,10 +1033,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
707
1033
  });
708
1034
  });
709
1035
 
710
- describe('#runHealthcheck', () => {
711
- it('should have a runHealthcheck function', (done) => {
1036
+ describe('#iapRunAdapterConnectivity', () => {
1037
+ it('should have a iapRunAdapterConnectivity function', (done) => {
712
1038
  try {
713
- assert.equal(true, typeof a.runHealthcheck === 'function');
1039
+ assert.equal(true, typeof a.iapRunAdapterConnectivity === 'function');
714
1040
  done();
715
1041
  } catch (error) {
716
1042
  log.error(`Test Failure: ${error}`);
@@ -719,10 +1045,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
719
1045
  });
720
1046
  });
721
1047
 
722
- describe('#runConnectivity', () => {
723
- it('should have a runConnectivity function', (done) => {
1048
+ describe('#iapRunAdapterBasicGet', () => {
1049
+ it('should have a iapRunAdapterBasicGet function', (done) => {
724
1050
  try {
725
- assert.equal(true, typeof a.runConnectivity === 'function');
1051
+ assert.equal(true, typeof a.iapRunAdapterBasicGet === 'function');
726
1052
  done();
727
1053
  } catch (error) {
728
1054
  log.error(`Test Failure: ${error}`);
@@ -731,10 +1057,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
731
1057
  });
732
1058
  });
733
1059
 
734
- describe('#runBasicGet', () => {
735
- it('should have a runBasicGet function', (done) => {
1060
+ describe('#iapMoveAdapterEntitiesToDB', () => {
1061
+ it('should have a iapMoveAdapterEntitiesToDB function', (done) => {
736
1062
  try {
737
- assert.equal(true, typeof a.runBasicGet === 'function');
1063
+ assert.equal(true, typeof a.iapMoveAdapterEntitiesToDB === 'function');
738
1064
  done();
739
1065
  } catch (error) {
740
1066
  log.error(`Test Failure: ${error}`);
@@ -828,10 +1154,10 @@ describe('[unit] WebexTeams Adapter Test', () => {
828
1154
  }).timeout(attemptTimeout);
829
1155
  });
830
1156
 
831
- // describe('#hasEntity', () => {
832
- // it('should have a hasEntity function', (done) => {
1157
+ // describe('#iapHasAdapterEntity', () => {
1158
+ // it('should have a iapHasAdapterEntity function', (done) => {
833
1159
  // try {
834
- // assert.equal(true, typeof a.hasEntity === 'function');
1160
+ // assert.equal(true, typeof a.iapHasAdapterEntity === 'function');
835
1161
  // done();
836
1162
  // } catch (error) {
837
1163
  // log.error(`Test Failure: ${error}`);
@@ -840,7 +1166,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
840
1166
  // });
841
1167
  // it('should find entity', (done) => {
842
1168
  // try {
843
- // a.hasEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
1169
+ // a.iapHasAdapterEntity('template_entity', // 'a9e9c33dc61122760072455df62663d2', (data) => {
844
1170
  // try {
845
1171
  // assert.equal(true, data[0]);
846
1172
  // done();
@@ -856,7 +1182,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
856
1182
  // }).timeout(attemptTimeout);
857
1183
  // it('should not find entity', (done) => {
858
1184
  // try {
859
- // a.hasEntity('template_entity', 'blah', (data) => {
1185
+ // a.iapHasAdapterEntity('template_entity', 'blah', (data) => {
860
1186
  // try {
861
1187
  // assert.equal(false, data[0]);
862
1188
  // done();
@@ -872,6 +1198,78 @@ describe('[unit] WebexTeams Adapter Test', () => {
872
1198
  // }).timeout(attemptTimeout);
873
1199
  // });
874
1200
 
1201
+ describe('#hasEntities', () => {
1202
+ it('should have a hasEntities function', (done) => {
1203
+ try {
1204
+ assert.equal(true, typeof a.hasEntities === 'function');
1205
+ done();
1206
+ } catch (error) {
1207
+ log.error(`Test Failure: ${error}`);
1208
+ done(error);
1209
+ }
1210
+ });
1211
+ });
1212
+
1213
+ describe('#getDevice', () => {
1214
+ it('should have a getDevice function', (done) => {
1215
+ try {
1216
+ assert.equal(true, typeof a.getDevice === 'function');
1217
+ done();
1218
+ } catch (error) {
1219
+ log.error(`Test Failure: ${error}`);
1220
+ done(error);
1221
+ }
1222
+ });
1223
+ });
1224
+
1225
+ describe('#getDevicesFiltered', () => {
1226
+ it('should have a getDevicesFiltered function', (done) => {
1227
+ try {
1228
+ assert.equal(true, typeof a.getDevicesFiltered === 'function');
1229
+ done();
1230
+ } catch (error) {
1231
+ log.error(`Test Failure: ${error}`);
1232
+ done(error);
1233
+ }
1234
+ });
1235
+ });
1236
+
1237
+ describe('#isAlive', () => {
1238
+ it('should have a isAlive function', (done) => {
1239
+ try {
1240
+ assert.equal(true, typeof a.isAlive === 'function');
1241
+ done();
1242
+ } catch (error) {
1243
+ log.error(`Test Failure: ${error}`);
1244
+ done(error);
1245
+ }
1246
+ });
1247
+ });
1248
+
1249
+ describe('#getConfig', () => {
1250
+ it('should have a getConfig function', (done) => {
1251
+ try {
1252
+ assert.equal(true, typeof a.getConfig === 'function');
1253
+ done();
1254
+ } catch (error) {
1255
+ log.error(`Test Failure: ${error}`);
1256
+ done(error);
1257
+ }
1258
+ });
1259
+ });
1260
+
1261
+ describe('#iapGetDeviceCount', () => {
1262
+ it('should have a iapGetDeviceCount function', (done) => {
1263
+ try {
1264
+ assert.equal(true, typeof a.iapGetDeviceCount === 'function');
1265
+ done();
1266
+ } catch (error) {
1267
+ log.error(`Test Failure: ${error}`);
1268
+ done(error);
1269
+ }
1270
+ });
1271
+ });
1272
+
875
1273
  /*
876
1274
  -----------------------------------------------------------------------
877
1275
  -----------------------------------------------------------------------
@@ -908,7 +1306,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
908
1306
  a.addPerson(null, (data, error) => {
909
1307
  try {
910
1308
  const displayE = 'body is required';
911
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-addPerson', displayE);
1309
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-addPerson', displayE);
912
1310
  done();
913
1311
  } catch (err) {
914
1312
  log.error(`Test Failure: ${err}`);
@@ -937,7 +1335,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
937
1335
  a.getPerson(null, (data, error) => {
938
1336
  try {
939
1337
  const displayE = 'personId is required';
940
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getPerson', displayE);
1338
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getPerson', displayE);
941
1339
  done();
942
1340
  } catch (err) {
943
1341
  log.error(`Test Failure: ${err}`);
@@ -966,7 +1364,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
966
1364
  a.updatePerson(null, null, (data, error) => {
967
1365
  try {
968
1366
  const displayE = 'personId is required';
969
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updatePerson', displayE);
1367
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updatePerson', displayE);
970
1368
  done();
971
1369
  } catch (err) {
972
1370
  log.error(`Test Failure: ${err}`);
@@ -983,7 +1381,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
983
1381
  a.updatePerson('fakeparam', null, (data, error) => {
984
1382
  try {
985
1383
  const displayE = 'body is required';
986
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updatePerson', displayE);
1384
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updatePerson', displayE);
987
1385
  done();
988
1386
  } catch (err) {
989
1387
  log.error(`Test Failure: ${err}`);
@@ -1012,7 +1410,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1012
1410
  a.deletePerson(null, (data, error) => {
1013
1411
  try {
1014
1412
  const displayE = 'personId is required';
1015
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deletePerson', displayE);
1413
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deletePerson', displayE);
1016
1414
  done();
1017
1415
  } catch (err) {
1018
1416
  log.error(`Test Failure: ${err}`);
@@ -1065,7 +1463,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1065
1463
  a.createRoom(null, (data, error) => {
1066
1464
  try {
1067
1465
  const displayE = 'body is required';
1068
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createRoom', displayE);
1466
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createRoom', displayE);
1069
1467
  done();
1070
1468
  } catch (err) {
1071
1469
  log.error(`Test Failure: ${err}`);
@@ -1094,7 +1492,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1094
1492
  a.getRoom(null, (data, error) => {
1095
1493
  try {
1096
1494
  const displayE = 'roomId is required';
1097
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getRoom', displayE);
1495
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getRoom', displayE);
1098
1496
  done();
1099
1497
  } catch (err) {
1100
1498
  log.error(`Test Failure: ${err}`);
@@ -1123,7 +1521,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1123
1521
  a.updateRoom(null, null, (data, error) => {
1124
1522
  try {
1125
1523
  const displayE = 'roomId is required';
1126
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateRoom', displayE);
1524
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateRoom', displayE);
1127
1525
  done();
1128
1526
  } catch (err) {
1129
1527
  log.error(`Test Failure: ${err}`);
@@ -1140,7 +1538,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1140
1538
  a.updateRoom('fakeparam', null, (data, error) => {
1141
1539
  try {
1142
1540
  const displayE = 'body is required';
1143
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateRoom', displayE);
1541
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateRoom', displayE);
1144
1542
  done();
1145
1543
  } catch (err) {
1146
1544
  log.error(`Test Failure: ${err}`);
@@ -1169,7 +1567,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1169
1567
  a.deleteRoom(null, (data, error) => {
1170
1568
  try {
1171
1569
  const displayE = 'roomId is required';
1172
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteRoom', displayE);
1570
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteRoom', displayE);
1173
1571
  done();
1174
1572
  } catch (err) {
1175
1573
  log.error(`Test Failure: ${err}`);
@@ -1210,7 +1608,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1210
1608
  a.createMembership(null, (data, error) => {
1211
1609
  try {
1212
1610
  const displayE = 'body is required';
1213
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createMembership', displayE);
1611
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createMembership', displayE);
1214
1612
  done();
1215
1613
  } catch (err) {
1216
1614
  log.error(`Test Failure: ${err}`);
@@ -1239,7 +1637,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1239
1637
  a.getMembership(null, (data, error) => {
1240
1638
  try {
1241
1639
  const displayE = 'membershipId is required';
1242
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getMembership', displayE);
1640
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getMembership', displayE);
1243
1641
  done();
1244
1642
  } catch (err) {
1245
1643
  log.error(`Test Failure: ${err}`);
@@ -1268,7 +1666,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1268
1666
  a.updateMembership(null, null, (data, error) => {
1269
1667
  try {
1270
1668
  const displayE = 'membershipId is required';
1271
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateMembership', displayE);
1669
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateMembership', displayE);
1272
1670
  done();
1273
1671
  } catch (err) {
1274
1672
  log.error(`Test Failure: ${err}`);
@@ -1285,7 +1683,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1285
1683
  a.updateMembership('fakeparam', null, (data, error) => {
1286
1684
  try {
1287
1685
  const displayE = 'body is required';
1288
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateMembership', displayE);
1686
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateMembership', displayE);
1289
1687
  done();
1290
1688
  } catch (err) {
1291
1689
  log.error(`Test Failure: ${err}`);
@@ -1314,7 +1712,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1314
1712
  a.deleteMembership(null, (data, error) => {
1315
1713
  try {
1316
1714
  const displayE = 'membershipId is required';
1317
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteMembership', displayE);
1715
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteMembership', displayE);
1318
1716
  done();
1319
1717
  } catch (err) {
1320
1718
  log.error(`Test Failure: ${err}`);
@@ -1343,7 +1741,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1343
1741
  a.getMessages(null, null, null, null, null, (data, error) => {
1344
1742
  try {
1345
1743
  const displayE = 'roomId is required';
1346
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getMessages', displayE);
1744
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getMessages', displayE);
1347
1745
  done();
1348
1746
  } catch (err) {
1349
1747
  log.error(`Test Failure: ${err}`);
@@ -1372,7 +1770,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1372
1770
  a.createMessage(null, (data, error) => {
1373
1771
  try {
1374
1772
  const displayE = 'body is required';
1375
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createMessage', displayE);
1773
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createMessage', displayE);
1376
1774
  done();
1377
1775
  } catch (err) {
1378
1776
  log.error(`Test Failure: ${err}`);
@@ -1401,7 +1799,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1401
1799
  a.getMessage(null, (data, error) => {
1402
1800
  try {
1403
1801
  const displayE = 'messageId is required';
1404
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getMessage', displayE);
1802
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getMessage', displayE);
1405
1803
  done();
1406
1804
  } catch (err) {
1407
1805
  log.error(`Test Failure: ${err}`);
@@ -1430,7 +1828,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1430
1828
  a.deleteMessage(null, (data, error) => {
1431
1829
  try {
1432
1830
  const displayE = 'messageId is required';
1433
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteMessage', displayE);
1831
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteMessage', displayE);
1434
1832
  done();
1435
1833
  } catch (err) {
1436
1834
  log.error(`Test Failure: ${err}`);
@@ -1471,7 +1869,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1471
1869
  a.createTeam(null, (data, error) => {
1472
1870
  try {
1473
1871
  const displayE = 'body is required';
1474
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createTeam', displayE);
1872
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createTeam', displayE);
1475
1873
  done();
1476
1874
  } catch (err) {
1477
1875
  log.error(`Test Failure: ${err}`);
@@ -1500,7 +1898,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1500
1898
  a.getTeam(null, (data, error) => {
1501
1899
  try {
1502
1900
  const displayE = 'teamId is required';
1503
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getTeam', displayE);
1901
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getTeam', displayE);
1504
1902
  done();
1505
1903
  } catch (err) {
1506
1904
  log.error(`Test Failure: ${err}`);
@@ -1529,7 +1927,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1529
1927
  a.updateTeam(null, null, (data, error) => {
1530
1928
  try {
1531
1929
  const displayE = 'teamId is required';
1532
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateTeam', displayE);
1930
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateTeam', displayE);
1533
1931
  done();
1534
1932
  } catch (err) {
1535
1933
  log.error(`Test Failure: ${err}`);
@@ -1546,7 +1944,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1546
1944
  a.updateTeam('fakeparam', null, (data, error) => {
1547
1945
  try {
1548
1946
  const displayE = 'body is required';
1549
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateTeam', displayE);
1947
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateTeam', displayE);
1550
1948
  done();
1551
1949
  } catch (err) {
1552
1950
  log.error(`Test Failure: ${err}`);
@@ -1575,7 +1973,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1575
1973
  a.deleteTeam(null, (data, error) => {
1576
1974
  try {
1577
1975
  const displayE = 'teamId is required';
1578
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteTeam', displayE);
1976
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteTeam', displayE);
1579
1977
  done();
1580
1978
  } catch (err) {
1581
1979
  log.error(`Test Failure: ${err}`);
@@ -1604,7 +2002,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1604
2002
  a.getTeamMemberships(null, null, (data, error) => {
1605
2003
  try {
1606
2004
  const displayE = 'teamId is required';
1607
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getTeamMemberships', displayE);
2005
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getTeamMemberships', displayE);
1608
2006
  done();
1609
2007
  } catch (err) {
1610
2008
  log.error(`Test Failure: ${err}`);
@@ -1633,7 +2031,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1633
2031
  a.createTeamMembership(null, (data, error) => {
1634
2032
  try {
1635
2033
  const displayE = 'body is required';
1636
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createTeamMembership', displayE);
2034
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createTeamMembership', displayE);
1637
2035
  done();
1638
2036
  } catch (err) {
1639
2037
  log.error(`Test Failure: ${err}`);
@@ -1662,7 +2060,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1662
2060
  a.getTeamMembership(null, (data, error) => {
1663
2061
  try {
1664
2062
  const displayE = 'membershipId is required';
1665
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getTeamMembership', displayE);
2063
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getTeamMembership', displayE);
1666
2064
  done();
1667
2065
  } catch (err) {
1668
2066
  log.error(`Test Failure: ${err}`);
@@ -1691,7 +2089,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1691
2089
  a.updateTeamMembership(null, null, (data, error) => {
1692
2090
  try {
1693
2091
  const displayE = 'membershipId is required';
1694
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateTeamMembership', displayE);
2092
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateTeamMembership', displayE);
1695
2093
  done();
1696
2094
  } catch (err) {
1697
2095
  log.error(`Test Failure: ${err}`);
@@ -1708,7 +2106,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1708
2106
  a.updateTeamMembership('fakeparam', null, (data, error) => {
1709
2107
  try {
1710
2108
  const displayE = 'body is required';
1711
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateTeamMembership', displayE);
2109
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateTeamMembership', displayE);
1712
2110
  done();
1713
2111
  } catch (err) {
1714
2112
  log.error(`Test Failure: ${err}`);
@@ -1737,7 +2135,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1737
2135
  a.deleteTeamMembership(null, (data, error) => {
1738
2136
  try {
1739
2137
  const displayE = 'membershipId is required';
1740
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteTeamMembership', displayE);
2138
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteTeamMembership', displayE);
1741
2139
  done();
1742
2140
  } catch (err) {
1743
2141
  log.error(`Test Failure: ${err}`);
@@ -1778,7 +2176,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1778
2176
  a.createWebhook(null, (data, error) => {
1779
2177
  try {
1780
2178
  const displayE = 'body is required';
1781
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-createWebhook', displayE);
2179
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-createWebhook', displayE);
1782
2180
  done();
1783
2181
  } catch (err) {
1784
2182
  log.error(`Test Failure: ${err}`);
@@ -1807,7 +2205,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1807
2205
  a.getWebhook(null, (data, error) => {
1808
2206
  try {
1809
2207
  const displayE = 'webhookId is required';
1810
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getWebhook', displayE);
2208
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getWebhook', displayE);
1811
2209
  done();
1812
2210
  } catch (err) {
1813
2211
  log.error(`Test Failure: ${err}`);
@@ -1836,7 +2234,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1836
2234
  a.updateWebhook(null, null, (data, error) => {
1837
2235
  try {
1838
2236
  const displayE = 'webhookId is required';
1839
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateWebhook', displayE);
2237
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateWebhook', displayE);
1840
2238
  done();
1841
2239
  } catch (err) {
1842
2240
  log.error(`Test Failure: ${err}`);
@@ -1853,7 +2251,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1853
2251
  a.updateWebhook('fakeparam', null, (data, error) => {
1854
2252
  try {
1855
2253
  const displayE = 'body is required';
1856
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-updateWebhook', displayE);
2254
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-updateWebhook', displayE);
1857
2255
  done();
1858
2256
  } catch (err) {
1859
2257
  log.error(`Test Failure: ${err}`);
@@ -1882,7 +2280,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1882
2280
  a.deleteWebhook(null, (data, error) => {
1883
2281
  try {
1884
2282
  const displayE = 'webhookId is required';
1885
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-deleteWebhook', displayE);
2283
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-deleteWebhook', displayE);
1886
2284
  done();
1887
2285
  } catch (err) {
1888
2286
  log.error(`Test Failure: ${err}`);
@@ -1923,7 +2321,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1923
2321
  a.getOrganization(null, (data, error) => {
1924
2322
  try {
1925
2323
  const displayE = 'orgId is required';
1926
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getOrganization', displayE);
2324
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getOrganization', displayE);
1927
2325
  done();
1928
2326
  } catch (err) {
1929
2327
  log.error(`Test Failure: ${err}`);
@@ -1964,7 +2362,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
1964
2362
  a.getLicense(null, (data, error) => {
1965
2363
  try {
1966
2364
  const displayE = 'licenseId is required';
1967
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getLicense', displayE);
2365
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getLicense', displayE);
1968
2366
  done();
1969
2367
  } catch (err) {
1970
2368
  log.error(`Test Failure: ${err}`);
@@ -2005,7 +2403,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
2005
2403
  a.getRole(null, (data, error) => {
2006
2404
  try {
2007
2405
  const displayE = 'roleId is required';
2008
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getRole', displayE);
2406
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getRole', displayE);
2009
2407
  done();
2010
2408
  } catch (err) {
2011
2409
  log.error(`Test Failure: ${err}`);
@@ -2034,7 +2432,7 @@ describe('[unit] WebexTeams Adapter Test', () => {
2034
2432
  a.getContent(null, (data, error) => {
2035
2433
  try {
2036
2434
  const displayE = 'contentId is required';
2037
- runErrorAsserts(data, error, 'AD.300', 'Test-WebexTeams-adapter-getContent', displayE);
2435
+ runErrorAsserts(data, error, 'AD.300', 'Test-webex_teams-adapter-getContent', displayE);
2038
2436
  done();
2039
2437
  } catch (err) {
2040
2438
  log.error(`Test Failure: ${err}`);