@webex/webex-core 3.0.0-bnr.5 → 3.0.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 (187) hide show
  1. package/.eslintrc.js +6 -0
  2. package/babel.config.js +3 -0
  3. package/dist/config.js +1 -2
  4. package/dist/config.js.map +1 -1
  5. package/dist/credentials-config.js +1 -2
  6. package/dist/credentials-config.js.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/interceptors/auth.js +4 -3
  10. package/dist/interceptors/auth.js.map +1 -1
  11. package/dist/interceptors/default-options.js +4 -3
  12. package/dist/interceptors/default-options.js.map +1 -1
  13. package/dist/interceptors/embargo.js +4 -3
  14. package/dist/interceptors/embargo.js.map +1 -1
  15. package/dist/interceptors/network-timing.js +4 -3
  16. package/dist/interceptors/network-timing.js.map +1 -1
  17. package/dist/interceptors/payload-transformer.js +4 -3
  18. package/dist/interceptors/payload-transformer.js.map +1 -1
  19. package/dist/interceptors/rate-limit.js +4 -3
  20. package/dist/interceptors/rate-limit.js.map +1 -1
  21. package/dist/interceptors/redirect.js +7 -6
  22. package/dist/interceptors/redirect.js.map +1 -1
  23. package/dist/interceptors/request-event.js +9 -8
  24. package/dist/interceptors/request-event.js.map +1 -1
  25. package/dist/interceptors/request-logger.js +12 -15
  26. package/dist/interceptors/request-logger.js.map +1 -1
  27. package/dist/interceptors/request-timing.js +4 -3
  28. package/dist/interceptors/request-timing.js.map +1 -1
  29. package/dist/interceptors/response-logger.js +10 -10
  30. package/dist/interceptors/response-logger.js.map +1 -1
  31. package/dist/interceptors/user-agent.js +8 -7
  32. package/dist/interceptors/user-agent.js.map +1 -1
  33. package/dist/interceptors/webex-tracking-id.js +4 -3
  34. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  35. package/dist/interceptors/webex-user-agent.js +9 -8
  36. package/dist/interceptors/webex-user-agent.js.map +1 -1
  37. package/dist/lib/batcher.js +8 -5
  38. package/dist/lib/batcher.js.map +1 -1
  39. package/dist/lib/constants.js +13 -0
  40. package/dist/lib/constants.js.map +1 -0
  41. package/dist/lib/credentials/credentials.js +73 -35
  42. package/dist/lib/credentials/credentials.js.map +1 -1
  43. package/dist/lib/credentials/grant-errors.js +5 -5
  44. package/dist/lib/credentials/grant-errors.js.map +1 -1
  45. package/dist/lib/credentials/index.js.map +1 -1
  46. package/dist/lib/credentials/scope.js +26 -5
  47. package/dist/lib/credentials/scope.js.map +1 -1
  48. package/dist/lib/credentials/token-collection.js +1 -2
  49. package/dist/lib/credentials/token-collection.js.map +1 -1
  50. package/dist/lib/credentials/token.js +14 -10
  51. package/dist/lib/credentials/token.js.map +1 -1
  52. package/dist/lib/page.js +1 -2
  53. package/dist/lib/page.js.map +1 -1
  54. package/dist/lib/services/constants.js +3 -6
  55. package/dist/lib/services/constants.js.map +1 -1
  56. package/dist/lib/services/index.js +2 -2
  57. package/dist/lib/services/index.js.map +1 -1
  58. package/dist/lib/services/interceptors/server-error.js +6 -5
  59. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  60. package/dist/lib/services/interceptors/service.js +8 -5
  61. package/dist/lib/services/interceptors/service.js.map +1 -1
  62. package/dist/lib/services/metrics.js +1 -2
  63. package/dist/lib/services/metrics.js.map +1 -1
  64. package/dist/lib/services/service-catalog.js +5 -5
  65. package/dist/lib/services/service-catalog.js.map +1 -1
  66. package/dist/lib/services/service-fed-ramp.js +1 -2
  67. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  68. package/dist/lib/services/service-host.js +1 -2
  69. package/dist/lib/services/service-host.js.map +1 -1
  70. package/dist/lib/services/service-registry.js +3 -4
  71. package/dist/lib/services/service-registry.js.map +1 -1
  72. package/dist/lib/services/service-state.js +1 -2
  73. package/dist/lib/services/service-state.js.map +1 -1
  74. package/dist/lib/services/service-url.js +1 -2
  75. package/dist/lib/services/service-url.js.map +1 -1
  76. package/dist/lib/services/services.js +56 -13
  77. package/dist/lib/services/services.js.map +1 -1
  78. package/dist/lib/stateless-webex-plugin.js +1 -2
  79. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  80. package/dist/lib/storage/decorators.js +18 -16
  81. package/dist/lib/storage/decorators.js.map +1 -1
  82. package/dist/lib/storage/errors.js +5 -5
  83. package/dist/lib/storage/errors.js.map +1 -1
  84. package/dist/lib/storage/index.js.map +1 -1
  85. package/dist/lib/storage/make-webex-plugin-store.js +8 -10
  86. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  87. package/dist/lib/storage/make-webex-store.js.map +1 -1
  88. package/dist/lib/storage/memory-store-adapter.js +1 -2
  89. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  90. package/dist/lib/webex-core-plugin-mixin.js +13 -14
  91. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  92. package/dist/lib/webex-http-error.js +4 -3
  93. package/dist/lib/webex-http-error.js.map +1 -1
  94. package/dist/lib/webex-internal-core-plugin-mixin.js +13 -14
  95. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  96. package/dist/lib/webex-plugin.js +5 -8
  97. package/dist/lib/webex-plugin.js.map +1 -1
  98. package/dist/plugins/logger.js +2 -3
  99. package/dist/plugins/logger.js.map +1 -1
  100. package/dist/webex-core.js +37 -38
  101. package/dist/webex-core.js.map +1 -1
  102. package/dist/webex-internal-core.js +1 -2
  103. package/dist/webex-internal-core.js.map +1 -1
  104. package/jest.config.js +3 -0
  105. package/package.json +33 -17
  106. package/process +1 -0
  107. package/src/lib/constants.js +6 -0
  108. package/src/lib/credentials/credentials.js +82 -40
  109. package/src/lib/credentials/scope.js +24 -5
  110. package/src/lib/credentials/token.js +9 -1
  111. package/src/lib/services/interceptors/server-error.js +1 -1
  112. package/src/lib/services/interceptors/service.js +2 -2
  113. package/src/lib/services/service-catalog.js +3 -1
  114. package/src/lib/services/services.js +46 -0
  115. package/src/webex-core.js +13 -1
  116. package/test/integration/spec/credentials/credentials.js +6 -3
  117. package/test/integration/spec/unit-browser/auth.js +93 -0
  118. package/test/integration/spec/unit-browser/token.js +122 -0
  119. package/test/unit/spec/_setup.js +6 -0
  120. package/test/unit/spec/credentials/credentials.js +181 -24
  121. package/test/unit/spec/credentials/scope.js +80 -0
  122. package/test/unit/spec/credentials/token.js +11 -1
  123. package/test/unit/spec/interceptors/auth.js +4 -1
  124. package/test/unit/spec/interceptors/embargo.js +8 -8
  125. package/test/unit/spec/interceptors/webex-user-agent.js +6 -6
  126. package/test/unit/spec/lib/page.js +3 -3
  127. package/test/unit/spec/services/interceptors/server-error.js +5 -5
  128. package/test/unit/spec/services/interceptors/service.js +21 -14
  129. package/test/unit/spec/services/service-catalog.js +24 -12
  130. package/test/unit/spec/services/service-host.js +3 -3
  131. package/test/unit/spec/services/service-registry.js +34 -44
  132. package/test/unit/spec/services/service-state.js +1 -1
  133. package/test/unit/spec/services/service-url.js +2 -2
  134. package/test/unit/spec/services/services.js +10 -4
  135. package/test/unit/spec/webex-core.js +12 -2
  136. package/test/unit/spec/webex-internal-core.js +0 -10
  137. package/dist/types/config.d.ts +0 -39
  138. package/dist/types/credentials-config.d.ts +0 -2
  139. package/dist/types/index.d.ts +0 -24
  140. package/dist/types/interceptors/auth.d.ts +0 -43
  141. package/dist/types/interceptors/default-options.d.ts +0 -31
  142. package/dist/types/interceptors/embargo.d.ts +0 -16
  143. package/dist/types/interceptors/network-timing.d.ts +0 -30
  144. package/dist/types/interceptors/payload-transformer.d.ts +0 -30
  145. package/dist/types/interceptors/rate-limit.d.ts +0 -61
  146. package/dist/types/interceptors/redirect.d.ts +0 -22
  147. package/dist/types/interceptors/request-event.d.ts +0 -36
  148. package/dist/types/interceptors/request-logger.d.ts +0 -22
  149. package/dist/types/interceptors/request-timing.d.ts +0 -36
  150. package/dist/types/interceptors/response-logger.d.ts +0 -30
  151. package/dist/types/interceptors/user-agent.d.ts +0 -38
  152. package/dist/types/interceptors/webex-tracking-id.d.ts +0 -26
  153. package/dist/types/interceptors/webex-user-agent.d.ts +0 -22
  154. package/dist/types/lib/batcher.d.ts +0 -6
  155. package/dist/types/lib/credentials/credentials.d.ts +0 -5
  156. package/dist/types/lib/credentials/grant-errors.d.ts +0 -57
  157. package/dist/types/lib/credentials/index.d.ts +0 -4
  158. package/dist/types/lib/credentials/scope.d.ts +0 -16
  159. package/dist/types/lib/credentials/token-collection.d.ts +0 -2
  160. package/dist/types/lib/credentials/token.d.ts +0 -5
  161. package/dist/types/lib/page.d.ts +0 -76
  162. package/dist/types/lib/services/constants.d.ts +0 -6
  163. package/dist/types/lib/services/index.d.ts +0 -10
  164. package/dist/types/lib/services/interceptors/server-error.d.ts +0 -16
  165. package/dist/types/lib/services/interceptors/service.d.ts +0 -37
  166. package/dist/types/lib/services/metrics.d.ts +0 -4
  167. package/dist/types/lib/services/service-catalog.d.ts +0 -5
  168. package/dist/types/lib/services/service-fed-ramp.d.ts +0 -5
  169. package/dist/types/lib/services/service-host.d.ts +0 -217
  170. package/dist/types/lib/services/service-registry.d.ts +0 -271
  171. package/dist/types/lib/services/service-state.d.ts +0 -46
  172. package/dist/types/lib/services/service-url.d.ts +0 -5
  173. package/dist/types/lib/services/services.d.ts +0 -5
  174. package/dist/types/lib/stateless-webex-plugin.d.ts +0 -48
  175. package/dist/types/lib/storage/decorators.d.ts +0 -15
  176. package/dist/types/lib/storage/errors.d.ts +0 -10
  177. package/dist/types/lib/storage/index.d.ts +0 -5
  178. package/dist/types/lib/storage/make-webex-plugin-store.d.ts +0 -8
  179. package/dist/types/lib/storage/make-webex-store.d.ts +0 -48
  180. package/dist/types/lib/storage/memory-store-adapter.d.ts +0 -18
  181. package/dist/types/lib/webex-core-plugin-mixin.d.ts +0 -8
  182. package/dist/types/lib/webex-http-error.d.ts +0 -12
  183. package/dist/types/lib/webex-internal-core-plugin-mixin.d.ts +0 -8
  184. package/dist/types/lib/webex-plugin.d.ts +0 -5
  185. package/dist/types/plugins/logger.d.ts +0 -2
  186. package/dist/types/webex-core.d.ts +0 -31
  187. package/dist/types/webex-internal-core.d.ts +0 -7
@@ -12,6 +12,7 @@ import Logger from '@webex/plugin-logger';
12
12
  import MockWebex from '@webex/test-helper-mock-webex';
13
13
  import {AuthInterceptor, config, Credentials, WebexHttpError, Token} from '@webex/webex-core';
14
14
  import {cloneDeep, merge} from 'lodash';
15
+ import Metrics from '@webex/internal-plugin-metrics';
15
16
 
16
17
  const {assert} = chai;
17
18
 
@@ -28,6 +29,7 @@ describe('webex-core', () => {
28
29
  children: {
29
30
  credentials: Credentials,
30
31
  logger: Logger,
32
+ metrics: Metrics,
31
33
  },
32
34
  config: merge(cloneDeep(config), {credentials: {client_secret: 'fake'}}),
33
35
  });
@@ -41,6 +43,7 @@ describe('webex-core', () => {
41
43
  );
42
44
 
43
45
  interceptor = Reflect.apply(AuthInterceptor.create, webex, []);
46
+ sinon.stub(webex.internal.metrics, 'submitClientMetrics').callsFake(() => {});
44
47
  });
45
48
 
46
49
  describe('#onRequest()', () => {
@@ -254,7 +257,7 @@ describe('webex-core', () => {
254
257
  Promise.resolve(services[pto.name] || pto.url);
255
258
  });
256
259
 
257
- afterEach('remove services plugin', () => {
260
+ afterEach(() => {
258
261
  if (webex.internal.services) {
259
262
  delete webex.internal.services;
260
263
  }
@@ -12,7 +12,7 @@ describe('webex-core', () => {
12
12
  describe('EmbargoInterceptor', () => {
13
13
  let interceptor;
14
14
 
15
- before('create interceptor', () => {
15
+ beforeAll(() => {
16
16
  interceptor = new EmbargoInterceptor();
17
17
  });
18
18
 
@@ -23,7 +23,7 @@ describe('webex-core', () => {
23
23
  let options;
24
24
  let reason;
25
25
 
26
- beforeEach('create options object', () => {
26
+ beforeEach(() => {
27
27
  options = {
28
28
  uri: 'http://not-a-url.com/embargoed',
29
29
  };
@@ -46,8 +46,8 @@ describe('webex-core', () => {
46
46
  ].join('');
47
47
  });
48
48
 
49
- describe("when the reason does have a '451' status code", () => {
50
- beforeEach('set appropriate status code and spys', () => {
49
+ describe('when the reason does have a \'451\' status code', () => {
50
+ beforeEach(() => {
51
51
  reason = new WebexHttpError.InternalServerError({
52
52
  message: 'test message',
53
53
  statusCode: 451,
@@ -78,7 +78,7 @@ describe('webex-core', () => {
78
78
  describe('when the device plugin is mounted', () => {
79
79
  let deviceClear;
80
80
 
81
- beforeEach('set up the device plugin', () => {
81
+ beforeEach(() => {
82
82
  interceptor.webex.internal.device = {
83
83
  clear: sinon.spy(),
84
84
  };
@@ -93,8 +93,8 @@ describe('webex-core', () => {
93
93
  });
94
94
  });
95
95
 
96
- describe("when the reason does not have a '451' status code", () => {
97
- beforeEach('set appropriate status code and spys', () => {
96
+ describe('when the reason does not have a \'451\' status code', () => {
97
+ beforeEach(() => {
98
98
  reason = new WebexHttpError.InternalServerError({
99
99
  message: 'test message',
100
100
  statusCode: 452,
@@ -125,7 +125,7 @@ describe('webex-core', () => {
125
125
  describe('when the device plugin is mounted', () => {
126
126
  let deviceClear;
127
127
 
128
- beforeEach('set up the device plugin', () => {
128
+ beforeEach(() => {
129
129
  interceptor.webex.internal.device = {
130
130
  clear: sinon.spy(),
131
131
  };
@@ -27,7 +27,7 @@ describe('webex-core', () => {
27
27
  assert.property(options.headers, 'spark-user-agent');
28
28
  assert.equal(
29
29
  options.headers['spark-user-agent'],
30
- `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
30
+ `webex-js-sdk/development (${typeof window === 'undefined' ? 'node' : 'web'})`
31
31
  );
32
32
  });
33
33
 
@@ -47,7 +47,7 @@ describe('webex-core', () => {
47
47
  assert.property(options.headers, 'spark-user-agent');
48
48
  assert.equal(
49
49
  options.headers['spark-user-agent'],
50
- `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
50
+ `webex-js-sdk/development (${typeof window === 'undefined' ? 'node' : 'web'})`
51
51
  );
52
52
  });
53
53
 
@@ -74,7 +74,7 @@ describe('webex-core', () => {
74
74
  assert.property(options.headers, 'spark-user-agent');
75
75
  assert.equal(
76
76
  options.headers['spark-user-agent'],
77
- `webex-js-sdk/${pkg.version} (${
77
+ `webex-js-sdk/development (${
78
78
  typeof window === 'undefined' ? 'node' : 'web'
79
79
  }) sample/1.0.0`
80
80
  );
@@ -104,7 +104,7 @@ describe('webex-core', () => {
104
104
  assert.property(options.headers, 'spark-user-agent');
105
105
  assert.equal(
106
106
  options.headers['spark-user-agent'],
107
- `webex-js-sdk/${pkg.version} (${
107
+ `webex-js-sdk/development (${
108
108
  typeof window === 'undefined' ? 'node' : 'web'
109
109
  }) sample/1.0.0 custom-label/1.0.0`
110
110
  );
@@ -128,7 +128,7 @@ describe('webex-core', () => {
128
128
  assert.property(options.headers, 'spark-user-agent');
129
129
  assert.equal(
130
130
  options.headers['spark-user-agent'],
131
- `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
131
+ `webex/development (${typeof window === 'undefined' ? 'node' : 'web'})`
132
132
  );
133
133
  });
134
134
 
@@ -149,7 +149,7 @@ describe('webex-core', () => {
149
149
  assert.property(options.headers, 'spark-user-agent');
150
150
  assert.equal(
151
151
  options.headers['spark-user-agent'],
152
- `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
152
+ `webex/development (${typeof window === 'undefined' ? 'node' : 'web'})`
153
153
  );
154
154
  });
155
155
  });
@@ -11,7 +11,7 @@ describe('webex-core', () => {
11
11
  describe('#constructor', () => {
12
12
  let page;
13
13
 
14
- before(() => {
14
+ beforeAll(() => {
15
15
  sinon.stub(Page, 'parseLinkHeaders');
16
16
  const response = {
17
17
  body: {
@@ -45,7 +45,7 @@ describe('webex-core', () => {
45
45
  describe('#next', () => {
46
46
  let page, webex;
47
47
 
48
- before(() => {
48
+ beforeAll(() => {
49
49
  webex = {
50
50
  request: sinon.stub().returns(
51
51
  Promise.resolve({
@@ -84,7 +84,7 @@ describe('webex-core', () => {
84
84
  describe('#previous', () => {
85
85
  let page, webex;
86
86
 
87
- before(() => {
87
+ beforeAll(() => {
88
88
  webex = {
89
89
  request: sinon.stub().returns(
90
90
  Promise.resolve({
@@ -12,7 +12,7 @@ describe('webex-core', () => {
12
12
  describe('ServerErrorInterceptor', () => {
13
13
  let interceptor;
14
14
 
15
- before(() => {
15
+ beforeAll(() => {
16
16
  interceptor = new ServerErrorInterceptor();
17
17
  });
18
18
 
@@ -76,7 +76,7 @@ describe('webex-core', () => {
76
76
  });
77
77
 
78
78
  describe('when the web-ha feature is enabled', () => {
79
- beforeEach('mock device and metrics', () => {
79
+ beforeEach(() => {
80
80
  get.returns({value: true});
81
81
  });
82
82
 
@@ -132,7 +132,7 @@ describe('webex-core', () => {
132
132
  });
133
133
 
134
134
  describe('when the web-ha feature is not available or disabled', () => {
135
- beforeEach('setup web-ha feature to be disabled', () => {
135
+ beforeEach(() => {
136
136
  get.returns({value: false});
137
137
  });
138
138
 
@@ -163,7 +163,7 @@ describe('webex-core', () => {
163
163
  });
164
164
 
165
165
  describe('when the reason is not a webex server error', () => {
166
- beforeEach('set the reason to a mutable object', () => {
166
+ beforeEach(() => {
167
167
  options.uri = 'http://not-a-url.com/';
168
168
  reason = {};
169
169
  });
@@ -178,7 +178,7 @@ describe('webex-core', () => {
178
178
  });
179
179
 
180
180
  describe('when the uri does not exist', () => {
181
- beforeEach('set uri to undefined and get the output', () => {
181
+ beforeEach(() => {
182
182
  delete options.uri;
183
183
  reason = new WebexHttpError.InternalServerError({
184
184
  statusCode: 500,
@@ -5,6 +5,7 @@ import chai from 'chai';
5
5
  import chaiAsPromised from 'chai-as-promised';
6
6
  import sinon from 'sinon';
7
7
  import {ServiceInterceptor} from '@webex/webex-core';
8
+ import CONFIG from '../../../../../src/config';
8
9
 
9
10
  const {assert} = chai;
10
11
 
@@ -26,6 +27,7 @@ describe('webex-core', () => {
26
27
  service: 'example',
27
28
  serviceUrl: 'https://www.example-service.com/',
28
29
  uri: 'https://www.example-uri.com/',
30
+ waitForServiceTimeout: 11,
29
31
  };
30
32
 
31
33
  options = {};
@@ -34,8 +36,11 @@ describe('webex-core', () => {
34
36
  describe('#generateUri()', () => {
35
37
  let uri;
36
38
 
37
- beforeEach('generate uri', () => {
38
- uri = interceptor.generateUri(fixture.serviceUrl, fixture.resource);
39
+ beforeEach(() => {
40
+ uri = interceptor.generateUri(
41
+ fixture.serviceUrl,
42
+ fixture.resource
43
+ );
39
44
  });
40
45
  it('should remove all trailing slashes', () => assert.equal(uri.split('//').length, 2));
41
46
 
@@ -47,7 +52,7 @@ describe('webex-core', () => {
47
52
 
48
53
  describe('#normalizeOptions()', () => {
49
54
  describe('when the api parameter is defined', () => {
50
- beforeEach('define the api parameter', () => {
55
+ beforeEach(() => {
51
56
  options.api = fixture.api;
52
57
  });
53
58
 
@@ -58,7 +63,7 @@ describe('webex-core', () => {
58
63
  });
59
64
 
60
65
  describe('when the service parameter is defined', () => {
61
- beforeEach('define the service parameter', () => {
66
+ beforeEach(() => {
62
67
  options.service = fixture.service;
63
68
  });
64
69
 
@@ -73,7 +78,7 @@ describe('webex-core', () => {
73
78
 
74
79
  describe('#onRequest()', () => {
75
80
  describe('when the uri parameter is defined', () => {
76
- beforeEach('assign a uri parameter', () => {
81
+ beforeEach(() => {
77
82
  options.uri = fixture.uri;
78
83
  });
79
84
 
@@ -89,7 +94,7 @@ describe('webex-core', () => {
89
94
  describe('when the uri parameter is not defined', () => {
90
95
  let waitForService;
91
96
 
92
- beforeEach('setup mock methods', () => {
97
+ beforeEach(() => {
93
98
  interceptor.normalizeOptions = sinon.stub();
94
99
  interceptor.validateOptions = sinon.stub();
95
100
  interceptor.generateUri = sinon.stub();
@@ -107,6 +112,7 @@ describe('webex-core', () => {
107
112
 
108
113
  options.service = fixture.service;
109
114
  options.resource = fixture.resource;
115
+ options.timeout = fixture.waitForServiceTimeout;
110
116
  });
111
117
 
112
118
  it('should normalize the options', () =>
@@ -116,13 +122,14 @@ describe('webex-core', () => {
116
122
  interceptor.onRequest(options).then(() => assert.called(interceptor.validateOptions)));
117
123
 
118
124
  it('should attempt to collect the service url', () =>
119
- interceptor
120
- .onRequest(options)
121
- .then(() => assert.calledWith(waitForService, {name: options.service})));
125
+ interceptor.onRequest(options).then(
126
+ assert.calledWith(waitForService, {
127
+ name: options.service,
128
+ timeout: options.waitForServiceTimeout,
129
+ })
130
+ ));
122
131
 
123
132
  describe('when the service url was collected successfully', () => {
124
- beforeEach('generate additional mocks', () => {});
125
-
126
133
  it('should attempt to generate the full uri', () =>
127
134
  interceptor
128
135
  .onRequest(options)
@@ -153,7 +160,7 @@ describe('webex-core', () => {
153
160
 
154
161
  describe('#validateOptions()', () => {
155
162
  describe('when the resource parameter is not defined', () => {
156
- beforeEach('setup parameters', () => {
163
+ beforeEach(() => {
157
164
  options.service = fixture.service;
158
165
  });
159
166
 
@@ -163,7 +170,7 @@ describe('webex-core', () => {
163
170
  });
164
171
 
165
172
  describe('when the service parameter is not defined', () => {
166
- beforeEach('setup parameters', () => {
173
+ beforeEach(() => {
167
174
  options.resource = fixture.resource;
168
175
  });
169
176
 
@@ -173,7 +180,7 @@ describe('webex-core', () => {
173
180
  });
174
181
 
175
182
  describe('when the service and resource parameters are defined', () => {
176
- beforeEach('setup parameters', () => {
183
+ beforeEach(() => {
177
184
  options.service = fixture.service;
178
185
  options.resource = fixture.resource;
179
186
  });
@@ -13,7 +13,7 @@ describe('webex-core', () => {
13
13
  let services;
14
14
  let catalog;
15
15
 
16
- before('initialize webex', () => {
16
+ beforeAll(() => {
17
17
  webex = new MockWebex();
18
18
  services = new Services(undefined, {parent: webex});
19
19
  catalog = services._getCatalog();
@@ -71,7 +71,7 @@ describe('webex-core', () => {
71
71
  });
72
72
 
73
73
  describe('#clean()', () => {
74
- beforeEach('ammend data to the catalog', () => {
74
+ beforeEach(() => {
75
75
  catalog.serviceGroups.preauth = [1, 2, 3];
76
76
  catalog.serviceGroups.signin = [1, 2, 3];
77
77
  catalog.serviceGroups.postauth = [1, 2, 3];
@@ -100,13 +100,17 @@ describe('webex-core', () => {
100
100
  describe('#findAllowedDomain()', () => {
101
101
  const domains = [];
102
102
 
103
- beforeEach('generate allowed domains', () => {
104
- domains.push('example-a', 'example-b', 'example-c');
103
+ beforeEach(() => {
104
+ domains.push(
105
+ 'example-a',
106
+ 'example-b',
107
+ 'example-c'
108
+ );
105
109
 
106
110
  catalog.setAllowedDomains(domains);
107
111
  });
108
112
 
109
- afterEach('remove allowed domains', () => {
113
+ afterEach(() => {
110
114
  domains.length = 0;
111
115
  });
112
116
 
@@ -120,13 +124,17 @@ describe('webex-core', () => {
120
124
  describe('#getAllowedDomains()', () => {
121
125
  const domains = [];
122
126
 
123
- beforeEach('generate allowed domains', () => {
124
- domains.push('example-a', 'example-b', 'example-c');
127
+ beforeEach(() => {
128
+ domains.push(
129
+ 'example-a',
130
+ 'example-b',
131
+ 'example-c'
132
+ );
125
133
 
126
134
  catalog.setAllowedDomains(domains);
127
135
  });
128
136
 
129
- afterEach('remove allowed domains', () => {
137
+ afterEach(() => {
130
138
  domains.length = 0;
131
139
  });
132
140
 
@@ -140,7 +148,7 @@ describe('webex-core', () => {
140
148
  describe('#list()', () => {
141
149
  let serviceList;
142
150
 
143
- beforeEach('get services list', () => {
151
+ beforeEach(() => {
144
152
  serviceList = catalog.list();
145
153
  });
146
154
 
@@ -159,13 +167,17 @@ describe('webex-core', () => {
159
167
  describe('#setAllowedDomains()', () => {
160
168
  const domains = [];
161
169
 
162
- beforeEach('generate allowed domains', () => {
163
- domains.push('example-a', 'example-b', 'example-c');
170
+ beforeEach(() => {
171
+ domains.push(
172
+ 'example-a',
173
+ 'example-b',
174
+ 'example-c'
175
+ );
164
176
 
165
177
  catalog.setAllowedDomains(domains);
166
178
  });
167
179
 
168
- afterEach('remove allowed domains', () => {
180
+ afterEach(() => {
169
181
  domains.length = 0;
170
182
  });
171
183
 
@@ -8,7 +8,7 @@ describe('webex-core', () => {
8
8
  let fixture;
9
9
  let serviceHost;
10
10
 
11
- before('generate fixture', () => {
11
+ beforeAll(() => {
12
12
  fixture = {
13
13
  catalog: 'discovery',
14
14
  defaultUri: 'https://example-default.com/',
@@ -32,7 +32,7 @@ describe('webex-core', () => {
32
32
  });
33
33
 
34
34
  describe('class members', () => {
35
- beforeEach('generate service host', () => {
35
+ beforeEach(() => {
36
36
  serviceHost = new ServiceHost(fixture);
37
37
  });
38
38
 
@@ -180,7 +180,7 @@ describe('webex-core', () => {
180
180
  describe('#polyGenerate()', () => {
181
181
  let polyFixture;
182
182
 
183
- beforeEach('set the poly fixture', () => {
183
+ beforeEach(() => {
184
184
  polyFixture = {
185
185
  catalog: fixture.catalog,
186
186
  name: fixture.id.split(':')[3],
@@ -10,7 +10,7 @@ describe('webex-core', () => {
10
10
  let fixtureHosts;
11
11
  let serviceRegistry;
12
12
 
13
- before('generate fixture', () => {
13
+ beforeAll(() => {
14
14
  fixture = {
15
15
  serviceLinks: {
16
16
  'example-service-a-name': 'http://example-service-a.com/',
@@ -63,7 +63,7 @@ describe('webex-core', () => {
63
63
  }, []);
64
64
  });
65
65
 
66
- beforeEach('initialize a service catalog', () => {
66
+ beforeEach(() => {
67
67
  serviceRegistry = new ServiceRegistry();
68
68
  });
69
69
 
@@ -77,7 +77,7 @@ describe('webex-core', () => {
77
77
  describe('#map', () => {
78
78
  let priorityLocalHosts;
79
79
 
80
- beforeEach('setup hosts', () => {
80
+ beforeEach(() => {
81
81
  serviceRegistry.load(
82
82
  ServiceRegistry.mapRemoteCatalog({
83
83
  catalog: SERVICE_CATALOGS[0],
@@ -108,13 +108,11 @@ describe('webex-core', () => {
108
108
  let filter;
109
109
  let host;
110
110
 
111
- beforeEach('generate the service host class objects', () => {
112
- serviceRegistry.load(
113
- ServiceRegistry.mapRemoteCatalog({
114
- catalog: SERVICE_CATALOGS[0],
115
- ...fixture,
116
- })
117
- );
111
+ beforeEach(() => {
112
+ serviceRegistry.load(ServiceRegistry.mapRemoteCatalog({
113
+ catalog: SERVICE_CATALOGS[0],
114
+ ...fixture
115
+ }));
118
116
 
119
117
  host = serviceRegistry.hosts[0];
120
118
 
@@ -158,13 +156,11 @@ describe('webex-core', () => {
158
156
  let filter;
159
157
  let filteredHost;
160
158
 
161
- beforeEach('generate the service host class objects', () => {
162
- serviceRegistry.load(
163
- ServiceRegistry.mapRemoteCatalog({
164
- catalog: SERVICE_CATALOGS[0],
165
- ...fixture,
166
- })
167
- );
159
+ beforeEach(() => {
160
+ serviceRegistry.load(ServiceRegistry.mapRemoteCatalog({
161
+ catalog: SERVICE_CATALOGS[0],
162
+ ...fixture
163
+ }));
168
164
 
169
165
  filteredHost = serviceRegistry.hosts[0];
170
166
 
@@ -201,7 +197,7 @@ describe('webex-core', () => {
201
197
  let failedHost;
202
198
  let filteredHosts;
203
199
 
204
- beforeEach('generate the service host class objects', () => {
200
+ beforeEach(() => {
205
201
  hostList = ServiceRegistry.mapRemoteCatalog({
206
202
  catalog: SERVICE_CATALOGS[0],
207
203
  ...fixture,
@@ -238,7 +234,7 @@ describe('webex-core', () => {
238
234
  let hostsCustomA;
239
235
  let hostsCustomB;
240
236
 
241
- beforeEach('generate the service host class objects', () => {
237
+ beforeEach(() => {
242
238
  hostsCustomA = ServiceRegistry.mapRemoteCatalog({
243
239
  catalog: SERVICE_CATALOGS[0],
244
240
  ...fixture,
@@ -291,7 +287,7 @@ describe('webex-core', () => {
291
287
  let remoteHosts;
292
288
  let localHosts;
293
289
 
294
- beforeEach('generate the service host class objects', () => {
290
+ beforeEach(() => {
295
291
  serviceRegistry.load(
296
292
  ServiceRegistry.mapRemoteCatalog({
297
293
  catalog: SERVICE_CATALOGS[0],
@@ -331,7 +327,7 @@ describe('webex-core', () => {
331
327
  let filteredHosts;
332
328
  let priorityHosts;
333
329
 
334
- beforeEach('generate the service host class objects', () => {
330
+ beforeEach(() => {
335
331
  serviceRegistry.load(
336
332
  ServiceRegistry.mapRemoteCatalog({
337
333
  catalog: SERVICE_CATALOGS[0],
@@ -383,7 +379,7 @@ describe('webex-core', () => {
383
379
  let serviceHosts;
384
380
  let serviceName;
385
381
 
386
- beforeEach('generate the service host class objects', () => {
382
+ beforeEach(() => {
387
383
  serviceRegistry.load(
388
384
  ServiceRegistry.mapRemoteCatalog({
389
385
  catalog: SERVICE_CATALOGS[0],
@@ -437,7 +433,7 @@ describe('webex-core', () => {
437
433
  let filteredHostA;
438
434
  let filteredHostB;
439
435
 
440
- beforeEach('generate the service host class objects', () => {
436
+ beforeEach(() => {
441
437
  serviceRegistry.load(
442
438
  ServiceRegistry.mapRemoteCatalog({
443
439
  catalog: SERVICE_CATALOGS[0],
@@ -480,13 +476,11 @@ describe('webex-core', () => {
480
476
  let filter;
481
477
  let host;
482
478
 
483
- beforeEach('generate the service host class objects', () => {
484
- serviceRegistry.load(
485
- ServiceRegistry.mapRemoteCatalog({
486
- catalog: SERVICE_CATALOGS[0],
487
- ...fixture,
488
- })
489
- );
479
+ beforeEach(() => {
480
+ serviceRegistry.load(ServiceRegistry.mapRemoteCatalog({
481
+ catalog: SERVICE_CATALOGS[0],
482
+ ...fixture
483
+ }));
490
484
 
491
485
  host = serviceRegistry.hosts[0];
492
486
 
@@ -589,13 +583,11 @@ describe('webex-core', () => {
589
583
  let filter;
590
584
  let filteredHost;
591
585
 
592
- beforeEach('generate the service host class objects', () => {
593
- serviceRegistry.load(
594
- ServiceRegistry.mapRemoteCatalog({
595
- catalog: SERVICE_CATALOGS[0],
596
- ...fixture,
597
- })
598
- );
586
+ beforeEach(() => {
587
+ serviceRegistry.load(ServiceRegistry.mapRemoteCatalog({
588
+ catalog: SERVICE_CATALOGS[0],
589
+ ...fixture
590
+ }));
599
591
 
600
592
  filteredHost = serviceRegistry.hosts[0];
601
593
 
@@ -631,13 +623,11 @@ describe('webex-core', () => {
631
623
  let filter;
632
624
  let filteredHost;
633
625
 
634
- beforeEach('generate the service host class objects', () => {
635
- serviceRegistry.load(
636
- ServiceRegistry.mapRemoteCatalog({
637
- catalog: SERVICE_CATALOGS[0],
638
- ...fixture,
639
- })
640
- );
626
+ beforeEach(() => {
627
+ serviceRegistry.load(ServiceRegistry.mapRemoteCatalog({
628
+ catalog: SERVICE_CATALOGS[0],
629
+ ...fixture
630
+ }));
641
631
 
642
632
  filteredHost = serviceRegistry.hosts[0];
643
633
 
@@ -5,7 +5,7 @@ describe('webex-core', () => {
5
5
  describe('ServiceState', () => {
6
6
  let serviceState;
7
7
 
8
- beforeEach('generate service state', () => {
8
+ beforeEach(() => {
9
9
  serviceState = new ServiceState();
10
10
  });
11
11
 
@@ -13,7 +13,7 @@ describe('webex-core', () => {
13
13
  let serviceUrl;
14
14
  let template;
15
15
 
16
- beforeEach('initialize webex', () => {
16
+ beforeEach(() => {
17
17
  webex = new MockWebex();
18
18
  /* eslint-disable-next-line no-unused-vars */
19
19
  const services = new Services(undefined, {parent: webex});
@@ -128,7 +128,7 @@ describe('webex-core', () => {
128
128
  describe('#_getPriorityHostUrl()', () => {
129
129
  let highPriorityHost;
130
130
 
131
- beforeEach('get a high priority host manually', () => {
131
+ beforeEach(() => {
132
132
  highPriorityHost = serviceUrl._generateHostUrl(
133
133
  serviceUrl.hosts.reduce((o, c) => (o.priority > c.priority || !o.homeCluster ? c : o))
134
134
  .host