@webex/webex-core 3.0.0-beta.2 → 3.0.0-beta.21

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 (184) hide show
  1. package/dist/config.js +1 -11
  2. package/dist/config.js.map +1 -1
  3. package/dist/credentials-config.js +44 -64
  4. package/dist/credentials-config.js.map +1 -1
  5. package/dist/index.js +0 -76
  6. package/dist/index.js.map +1 -1
  7. package/dist/interceptors/auth.js +22 -55
  8. package/dist/interceptors/auth.js.map +1 -1
  9. package/dist/interceptors/default-options.js +0 -20
  10. package/dist/interceptors/default-options.js.map +1 -1
  11. package/dist/interceptors/embargo.js +0 -21
  12. package/dist/interceptors/embargo.js.map +1 -1
  13. package/dist/interceptors/network-timing.js +2 -21
  14. package/dist/interceptors/network-timing.js.map +1 -1
  15. package/dist/interceptors/payload-transformer.js +2 -22
  16. package/dist/interceptors/payload-transformer.js.map +1 -1
  17. package/dist/interceptors/rate-limit.js +25 -57
  18. package/dist/interceptors/rate-limit.js.map +1 -1
  19. package/dist/interceptors/redirect.js +4 -33
  20. package/dist/interceptors/redirect.js.map +1 -1
  21. package/dist/interceptors/request-event.js +3 -30
  22. package/dist/interceptors/request-event.js.map +1 -1
  23. package/dist/interceptors/request-logger.js +1 -30
  24. package/dist/interceptors/request-logger.js.map +1 -1
  25. package/dist/interceptors/request-timing.js +3 -22
  26. package/dist/interceptors/request-timing.js.map +1 -1
  27. package/dist/interceptors/response-logger.js +2 -31
  28. package/dist/interceptors/response-logger.js.map +1 -1
  29. package/dist/interceptors/user-agent.js +2 -29
  30. package/dist/interceptors/user-agent.js.map +1 -1
  31. package/dist/interceptors/webex-tracking-id.js +5 -28
  32. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  33. package/dist/interceptors/webex-user-agent.js +5 -38
  34. package/dist/interceptors/webex-user-agent.js.map +1 -1
  35. package/dist/lib/batcher.js +3 -51
  36. package/dist/lib/batcher.js.map +1 -1
  37. package/dist/lib/credentials/credentials.js +39 -119
  38. package/dist/lib/credentials/credentials.js.map +1 -1
  39. package/dist/lib/credentials/grant-errors.js +0 -49
  40. package/dist/lib/credentials/grant-errors.js.map +1 -1
  41. package/dist/lib/credentials/index.js +1 -13
  42. package/dist/lib/credentials/index.js.map +1 -1
  43. package/dist/lib/credentials/scope.js +1 -7
  44. package/dist/lib/credentials/scope.js.map +1 -1
  45. package/dist/lib/credentials/token-collection.js +1 -7
  46. package/dist/lib/credentials/token-collection.js.map +1 -1
  47. package/dist/lib/credentials/token.js +39 -118
  48. package/dist/lib/credentials/token.js.map +1 -1
  49. package/dist/lib/page.js +13 -26
  50. package/dist/lib/page.js.map +1 -1
  51. package/dist/lib/services/constants.js +0 -2
  52. package/dist/lib/services/constants.js.map +1 -1
  53. package/dist/lib/services/index.js +1 -28
  54. package/dist/lib/services/index.js.map +1 -1
  55. package/dist/lib/services/interceptors/server-error.js +2 -23
  56. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  57. package/dist/lib/services/interceptors/service.js +12 -34
  58. package/dist/lib/services/interceptors/service.js.map +1 -1
  59. package/dist/lib/services/metrics.js +0 -2
  60. package/dist/lib/services/metrics.js.map +1 -1
  61. package/dist/lib/services/service-catalog.js +10 -90
  62. package/dist/lib/services/service-catalog.js.map +1 -1
  63. package/dist/lib/services/service-fed-ramp.js +0 -2
  64. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  65. package/dist/lib/services/service-host.js +47 -62
  66. package/dist/lib/services/service-host.js.map +1 -1
  67. package/dist/lib/services/service-registry.js +78 -90
  68. package/dist/lib/services/service-registry.js.map +1 -1
  69. package/dist/lib/services/service-state.js +3 -15
  70. package/dist/lib/services/service-state.js.map +1 -1
  71. package/dist/lib/services/service-url.js +4 -25
  72. package/dist/lib/services/service-url.js.map +1 -1
  73. package/dist/lib/services/services.js +122 -238
  74. package/dist/lib/services/services.js.map +1 -1
  75. package/dist/lib/stateless-webex-plugin.js +5 -28
  76. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  77. package/dist/lib/storage/decorators.js +19 -62
  78. package/dist/lib/storage/decorators.js.map +1 -1
  79. package/dist/lib/storage/errors.js +0 -23
  80. package/dist/lib/storage/errors.js.map +1 -1
  81. package/dist/lib/storage/index.js +2 -16
  82. package/dist/lib/storage/index.js.map +1 -1
  83. package/dist/lib/storage/make-webex-plugin-store.js +11 -41
  84. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  85. package/dist/lib/storage/make-webex-store.js +8 -30
  86. package/dist/lib/storage/make-webex-store.js.map +1 -1
  87. package/dist/lib/storage/memory-store-adapter.js +1 -19
  88. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  89. package/dist/lib/webex-core-plugin-mixin.js +9 -29
  90. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  91. package/dist/lib/webex-http-error.js +1 -31
  92. package/dist/lib/webex-http-error.js.map +1 -1
  93. package/dist/lib/webex-internal-core-plugin-mixin.js +9 -29
  94. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  95. package/dist/lib/webex-plugin.js +6 -40
  96. package/dist/lib/webex-plugin.js.map +1 -1
  97. package/dist/plugins/logger.js +3 -17
  98. package/dist/plugins/logger.js.map +1 -1
  99. package/dist/webex-core.js +79 -203
  100. package/dist/webex-core.js.map +1 -1
  101. package/dist/webex-internal-core.js +0 -10
  102. package/dist/webex-internal-core.js.map +1 -1
  103. package/package.json +14 -14
  104. package/src/config.js +9 -11
  105. package/src/credentials-config.js +110 -72
  106. package/src/index.js +4 -14
  107. package/src/interceptors/auth.js +36 -37
  108. package/src/interceptors/default-options.js +0 -1
  109. package/src/interceptors/embargo.js +1 -1
  110. package/src/interceptors/payload-transformer.js +1 -2
  111. package/src/interceptors/rate-limit.js +8 -5
  112. package/src/interceptors/redirect.js +14 -8
  113. package/src/interceptors/request-event.js +4 -8
  114. package/src/interceptors/request-logger.js +8 -5
  115. package/src/interceptors/response-logger.js +11 -8
  116. package/src/interceptors/user-agent.js +1 -2
  117. package/src/interceptors/webex-user-agent.js +3 -9
  118. package/src/lib/batcher.js +70 -69
  119. package/src/lib/credentials/credentials.js +112 -122
  120. package/src/lib/credentials/grant-errors.js +6 -7
  121. package/src/lib/credentials/index.js +1 -4
  122. package/src/lib/credentials/scope.js +1 -4
  123. package/src/lib/credentials/token-collection.js +1 -1
  124. package/src/lib/credentials/token.js +86 -80
  125. package/src/lib/page.js +10 -11
  126. package/src/lib/services/constants.js +3 -13
  127. package/src/lib/services/index.js +2 -2
  128. package/src/lib/services/interceptors/server-error.js +12 -7
  129. package/src/lib/services/interceptors/service.js +6 -5
  130. package/src/lib/services/metrics.js +1 -1
  131. package/src/lib/services/service-catalog.js +110 -100
  132. package/src/lib/services/service-fed-ramp.js +1 -2
  133. package/src/lib/services/service-host.js +10 -17
  134. package/src/lib/services/service-registry.js +69 -96
  135. package/src/lib/services/service-state.js +4 -6
  136. package/src/lib/services/service-url.js +24 -23
  137. package/src/lib/services/services.js +260 -251
  138. package/src/lib/stateless-webex-plugin.js +4 -2
  139. package/src/lib/storage/decorators.js +68 -66
  140. package/src/lib/storage/index.js +4 -6
  141. package/src/lib/storage/make-webex-plugin-store.js +34 -21
  142. package/src/lib/storage/make-webex-store.js +6 -7
  143. package/src/lib/storage/memory-store-adapter.js +3 -3
  144. package/src/lib/webex-core-plugin-mixin.js +10 -7
  145. package/src/lib/webex-http-error.js +7 -8
  146. package/src/lib/webex-internal-core-plugin-mixin.js +9 -6
  147. package/src/lib/webex-plugin.js +41 -34
  148. package/src/plugins/logger.js +8 -3
  149. package/src/webex-core.js +185 -116
  150. package/src/webex-internal-core.js +15 -9
  151. package/test/integration/spec/credentials/credentials.js +26 -30
  152. package/test/integration/spec/credentials/token.js +36 -33
  153. package/test/integration/spec/services/service-catalog.js +177 -156
  154. package/test/integration/spec/services/services.js +313 -304
  155. package/test/integration/spec/webex-core.js +98 -86
  156. package/test/unit/spec/_setup.js +26 -18
  157. package/test/unit/spec/credentials/credentials.js +189 -154
  158. package/test/unit/spec/credentials/token.js +94 -76
  159. package/test/unit/spec/interceptors/auth.js +291 -243
  160. package/test/unit/spec/interceptors/default-options.js +36 -24
  161. package/test/unit/spec/interceptors/embargo.js +32 -27
  162. package/test/unit/spec/interceptors/network-timing.js +2 -2
  163. package/test/unit/spec/interceptors/payload-transformer.js +61 -52
  164. package/test/unit/spec/interceptors/rate-limit.js +104 -75
  165. package/test/unit/spec/interceptors/redirect.js +22 -20
  166. package/test/unit/spec/interceptors/request-timing.js +18 -22
  167. package/test/unit/spec/interceptors/user-agent.js +28 -16
  168. package/test/unit/spec/interceptors/webex-tracking-id.js +14 -8
  169. package/test/unit/spec/interceptors/webex-user-agent.js +83 -37
  170. package/test/unit/spec/lib/batcher.js +36 -32
  171. package/test/unit/spec/lib/page.js +36 -32
  172. package/test/unit/spec/lib/webex-plugin.js +1 -1
  173. package/test/unit/spec/services/interceptors/server-error.js +67 -90
  174. package/test/unit/spec/services/interceptors/service.js +17 -28
  175. package/test/unit/spec/services/service-catalog.js +19 -27
  176. package/test/unit/spec/services/service-host.js +29 -26
  177. package/test/unit/spec/services/service-registry.js +128 -170
  178. package/test/unit/spec/services/service-state.js +13 -22
  179. package/test/unit/spec/services/service-url.js +24 -43
  180. package/test/unit/spec/services/services.js +85 -41
  181. package/test/unit/spec/storage/persist.js +6 -9
  182. package/test/unit/spec/storage/wait-for-value.js +22 -21
  183. package/test/unit/spec/webex-core.js +78 -57
  184. package/test/unit/spec/webex-internal-core.js +56 -31
@@ -11,57 +11,48 @@ describe('webex-core', () => {
11
11
 
12
12
  describe('#constructor()', () => {
13
13
  it('should create a collection of catalog states', () => {
14
- assert.isTrue(serviceConstants.SERVICE_CATALOGS.every(
15
- (catalog) => !!(serviceState[catalog])
16
- ));
14
+ assert.isTrue(
15
+ serviceConstants.SERVICE_CATALOGS.every((catalog) => !!serviceState[catalog])
16
+ );
17
17
  });
18
18
 
19
19
  it('should initialize states with false collecting values', () => {
20
- assert.isTrue(serviceConstants.SERVICE_CATALOGS.every(
21
- (catalog) => (serviceState[catalog].collecting === false)
22
- ));
20
+ assert.isTrue(
21
+ serviceConstants.SERVICE_CATALOGS.every(
22
+ (catalog) => serviceState[catalog].collecting === false
23
+ )
24
+ );
23
25
  });
24
26
  });
25
27
 
26
28
  describe('#setCollecting()', () => {
27
29
  it('should set the collecting value of a catalog state to true', () => {
28
30
  serviceState.setCollecting(serviceConstants.SERVICE_CATALOGS[0], true);
29
- assert.isTrue(
30
- serviceState[serviceConstants.SERVICE_CATALOGS[0]].collecting
31
- );
31
+ assert.isTrue(serviceState[serviceConstants.SERVICE_CATALOGS[0]].collecting);
32
32
  });
33
33
 
34
34
  it('should set the collecting value of a catalog state to false', () => {
35
35
  serviceState.setCollecting(serviceConstants.SERVICE_CATALOGS[0], false);
36
- assert.isFalse(
37
- serviceState[serviceConstants.SERVICE_CATALOGS[0]].collecting
38
- );
36
+ assert.isFalse(serviceState[serviceConstants.SERVICE_CATALOGS[0]].collecting);
39
37
  });
40
38
  });
41
39
 
42
40
  describe('#setReady()', () => {
43
41
  it('should set the collecting value of a catalog state to true', () => {
44
42
  serviceState.setReady(serviceConstants.SERVICE_CATALOGS[0], true);
45
- assert.isTrue(
46
- serviceState[serviceConstants.SERVICE_CATALOGS[0]].ready
47
- );
43
+ assert.isTrue(serviceState[serviceConstants.SERVICE_CATALOGS[0]].ready);
48
44
  });
49
45
 
50
46
  it('should set the collecting value of a catalog state to false', () => {
51
47
  serviceState.setReady(serviceConstants.SERVICE_CATALOGS[0], false);
52
- assert.isFalse(
53
- serviceState[serviceConstants.SERVICE_CATALOGS[0]].ready
54
- );
48
+ assert.isFalse(serviceState[serviceConstants.SERVICE_CATALOGS[0]].ready);
55
49
  });
56
50
  });
57
51
 
58
52
  describe('static methods', () => {
59
53
  describe('#generateCatalogState()', () => {
60
54
  it('returns an object with the correct keys', () => {
61
- assert.containsAllKeys(
62
- ServiceState.generateCatalogState(),
63
- ['collecting', 'ready']
64
- );
55
+ assert.containsAllKeys(ServiceState.generateCatalogState(), ['collecting', 'ready']);
65
56
  });
66
57
  });
67
58
  });
@@ -26,38 +26,38 @@ describe('webex-core', () => {
26
26
  priority: 1,
27
27
  ttl: -1,
28
28
  id: '1',
29
- homeCluster: false
29
+ homeCluster: false,
30
30
  },
31
31
  {
32
32
  host: 'example-host-p2.com',
33
33
  priority: 2,
34
34
  ttl: -1,
35
35
  id: '2',
36
- homeCluster: false
36
+ homeCluster: false,
37
37
  },
38
38
  {
39
39
  host: 'example-host-p3.com',
40
40
  priority: 3,
41
41
  ttl: -1,
42
42
  id: '3',
43
- homeCluster: true
43
+ homeCluster: true,
44
44
  },
45
45
  {
46
46
  host: 'example-host-p4.com',
47
47
  priority: 4,
48
48
  ttl: -1,
49
49
  id: '4',
50
- homeCluster: true
50
+ homeCluster: true,
51
51
  },
52
52
  {
53
53
  host: 'example-host-p5.com',
54
54
  priority: 5,
55
55
  ttl: -1,
56
56
  id: '5',
57
- homeCluster: true
58
- }
57
+ homeCluster: true,
58
+ },
59
59
  ],
60
- name: 'example'
60
+ name: 'example',
61
61
  };
62
62
  serviceUrl = new ServiceUrl({...template});
63
63
  });
@@ -103,8 +103,7 @@ describe('webex-core', () => {
103
103
 
104
104
  it('replaces the host of a pass in url', () => {
105
105
  serviceUrl.hosts.forEach(({host}) => {
106
- assert.include(serviceUrl._generateHostUrl(host),
107
- `https://${host}/api/v1`);
106
+ assert.include(serviceUrl._generateHostUrl(host), `https://${host}/api/v1`);
108
107
  });
109
108
  });
110
109
  });
@@ -120,8 +119,7 @@ describe('webex-core', () => {
120
119
  const hostUrls = serviceUrl._getHostUrls();
121
120
 
122
121
  hostUrls.forEach((hu, i) => {
123
- assert.equal(hu.url,
124
- serviceUrl._generateHostUrl(serviceUrl.hosts[i].host));
122
+ assert.equal(hu.url, serviceUrl._generateHostUrl(serviceUrl.hosts[i].host));
125
123
  assert.equal(hu.priority, serviceUrl.hosts[i].priority);
126
124
  });
127
125
  });
@@ -132,9 +130,8 @@ describe('webex-core', () => {
132
130
 
133
131
  beforeEach('get a high priority host manually', () => {
134
132
  highPriorityHost = serviceUrl._generateHostUrl(
135
- serviceUrl.hosts.reduce((o, c) => (
136
- o.priority > c.priority || !o.homeCluster ? c : o
137
- )).host
133
+ serviceUrl.hosts.reduce((o, c) => (o.priority > c.priority || !o.homeCluster ? c : o))
134
+ .host
138
135
  );
139
136
  });
140
137
 
@@ -143,22 +140,16 @@ describe('webex-core', () => {
143
140
  });
144
141
 
145
142
  it('should reset the hosts when all have failed', () => {
146
- serviceUrl.hosts.forEach(
147
- (host) => {
148
- /* eslint-disable-next-line no-param-reassign */
149
- host.failed = true;
150
- }
151
- );
143
+ serviceUrl.hosts.forEach((host) => {
144
+ /* eslint-disable-next-line no-param-reassign */
145
+ host.failed = true;
146
+ });
152
147
 
153
148
  serviceUrl._getPriorityHostUrl();
154
149
 
155
- const homeClusterUrls = serviceUrl.hosts.filter(
156
- (host) => host.homeCluster
157
- );
150
+ const homeClusterUrls = serviceUrl.hosts.filter((host) => host.homeCluster);
158
151
 
159
- assert.isTrue(homeClusterUrls.every(
160
- (host) => !host.failed
161
- ));
152
+ assert.isTrue(homeClusterUrls.every((host) => !host.failed));
162
153
  });
163
154
  });
164
155
 
@@ -175,9 +166,7 @@ describe('webex-core', () => {
175
166
  it('marks a host as failed', () => {
176
167
  serviceUrl.failHost(hostUrl);
177
168
 
178
- const removedHost = serviceUrl.hosts.find(
179
- (currentHost) => currentHost.host === host
180
- );
169
+ const removedHost = serviceUrl.hosts.find((currentHost) => currentHost.host === host);
181
170
 
182
171
  assert.isTrue(removedHost.failed);
183
172
  });
@@ -202,9 +191,7 @@ describe('webex-core', () => {
202
191
  });
203
192
 
204
193
  it('returns false if hostUrl was not found', () => {
205
- const removedHostResult = serviceUrl.failHost(
206
- 'https://someurl.com/api/vq'
207
- );
194
+ const removedHostResult = serviceUrl.failHost('https://someurl.com/api/vq');
208
195
 
209
196
  assert.isFalse(removedHostResult);
210
197
  });
@@ -225,9 +212,7 @@ describe('webex-core', () => {
225
212
  const hpUrl = serviceUrl.get(true);
226
213
 
227
214
  assert.equal(hpUrl, serviceUrl._getPriorityHostUrl());
228
- assert.isDefined(serviceUrl.hosts.find(
229
- (hostObj) => hpUrl.includes(hostObj.host)
230
- ));
215
+ assert.isDefined(serviceUrl.hosts.find((hostObj) => hpUrl.includes(hostObj.host)));
231
216
  });
232
217
 
233
218
  describe('when a clusterId is provided', () => {
@@ -239,10 +224,8 @@ describe('webex-core', () => {
239
224
  beforeEach(() => {
240
225
  hosts = serviceUrl.hosts.filter((host) => host.homeCluster);
241
226
 
242
- highPriorityHost = hosts.reduce(
243
- (current, next) => (current.priority <= next.priority ?
244
- current :
245
- next)
227
+ highPriorityHost = hosts.reduce((current, next) =>
228
+ current.priority <= next.priority ? current : next
246
229
  ).host;
247
230
 
248
231
  url = serviceUrl.get(true, hosts[0].id);
@@ -257,10 +240,8 @@ describe('webex-core', () => {
257
240
  beforeEach(() => {
258
241
  hosts = serviceUrl.hosts.filter((host) => !host.homeCluster);
259
242
 
260
- highPriorityHost = hosts.reduce(
261
- (current, next) => (current.priority <= next.priority ?
262
- current :
263
- next)
243
+ highPriorityHost = hosts.reduce((current, next) =>
244
+ current.priority <= next.priority ? current : next
264
245
  ).host;
265
246
 
266
247
  url = serviceUrl.get(true, hosts[0].id);
@@ -17,8 +17,8 @@ describe('webex-core', () => {
17
17
  before('initialize webex', () => {
18
18
  webex = new MockWebex({
19
19
  children: {
20
- services: Services
21
- }
20
+ services: Services,
21
+ },
22
22
  });
23
23
  services = webex.internal.services;
24
24
  catalog = services._getCatalog();
@@ -93,10 +93,9 @@ describe('webex-core', () => {
93
93
  it('successfully resolves with undefined if fetch request failed', () => {
94
94
  webex.request = sinon.stub().returns(Promise.reject());
95
95
 
96
- return assert.isFulfilled(services.fetchClientRegionInfo())
97
- .then((r) => {
98
- assert.isUndefined(r);
99
- });
96
+ return assert.isFulfilled(services.fetchClientRegionInfo()).then((r) => {
97
+ assert.isUndefined(r);
98
+ });
100
99
  });
101
100
  });
102
101
 
@@ -111,7 +110,7 @@ describe('webex-core', () => {
111
110
  assert.calledWith(webex.request, {
112
111
  method: 'GET',
113
112
  service: 'hydra',
114
- resource: 'meetingPreferences'
113
+ resource: 'meetingPreferences',
115
114
  });
116
115
  assert.isDefined(res);
117
116
  assert.equal(res, userPreferences);
@@ -125,7 +124,7 @@ describe('webex-core', () => {
125
124
  assert.calledWith(webex.request, {
126
125
  method: 'GET',
127
126
  service: 'hydra',
128
- resource: 'meetingPreferences'
127
+ resource: 'meetingPreferences',
129
128
  });
130
129
  assert.isUndefined(res);
131
130
  });
@@ -141,78 +140,117 @@ describe('webex-core', () => {
141
140
  'example-a': 'https://example-a.com/api/v1',
142
141
  'example-b': 'https://example-b.com/api/v1',
143
142
  'example-c': 'https://example-c.com/api/v1',
144
- 'example-d': 'https://example-d.com/api/v1'
143
+ 'example-d': 'https://example-d.com/api/v1',
145
144
  },
146
145
  hostCatalog: {
147
146
  'example-a.com': [
148
147
  {
149
- host: 'example-a-1.com', ttl: -1, priority: 5, id: '0:0:0:example-a'
148
+ host: 'example-a-1.com',
149
+ ttl: -1,
150
+ priority: 5,
151
+ id: '0:0:0:example-a',
150
152
  },
151
153
  {
152
- host: 'example-a-2.com', ttl: -1, priority: 3, id: '0:0:0:example-a'
154
+ host: 'example-a-2.com',
155
+ ttl: -1,
156
+ priority: 3,
157
+ id: '0:0:0:example-a',
153
158
  },
154
159
  {
155
- host: 'example-a-3.com', ttl: -1, priority: 1, id: '0:0:0:example-a-x'
156
- }
160
+ host: 'example-a-3.com',
161
+ ttl: -1,
162
+ priority: 1,
163
+ id: '0:0:0:example-a-x',
164
+ },
157
165
  ],
158
166
  'example-b.com': [
159
167
  {
160
- host: 'example-b-1.com', ttl: -1, priority: 5, id: '0:0:0:example-b'
168
+ host: 'example-b-1.com',
169
+ ttl: -1,
170
+ priority: 5,
171
+ id: '0:0:0:example-b',
161
172
  },
162
173
  {
163
- host: 'example-b-2.com', ttl: -1, priority: 3, id: '0:0:0:example-b'
174
+ host: 'example-b-2.com',
175
+ ttl: -1,
176
+ priority: 3,
177
+ id: '0:0:0:example-b',
164
178
  },
165
179
  {
166
- host: 'example-b-3.com', ttl: -1, priority: 1, id: '0:0:0:example-b-x'
167
- }
180
+ host: 'example-b-3.com',
181
+ ttl: -1,
182
+ priority: 1,
183
+ id: '0:0:0:example-b-x',
184
+ },
168
185
  ],
169
186
  'example-c.com': [
170
187
  {
171
- host: 'example-c-1.com', ttl: -1, priority: 5, id: '0:0:0:example-c'
188
+ host: 'example-c-1.com',
189
+ ttl: -1,
190
+ priority: 5,
191
+ id: '0:0:0:example-c',
172
192
  },
173
193
  {
174
- host: 'example-c-2.com', ttl: -1, priority: 3, id: '0:0:0:example-c'
194
+ host: 'example-c-2.com',
195
+ ttl: -1,
196
+ priority: 3,
197
+ id: '0:0:0:example-c',
175
198
  },
176
199
  {
177
- host: 'example-c-3.com', ttl: -1, priority: 1, id: '0:0:0:example-c-x'
178
- }
200
+ host: 'example-c-3.com',
201
+ ttl: -1,
202
+ priority: 1,
203
+ id: '0:0:0:example-c-x',
204
+ },
179
205
  ],
180
206
  'example-d.com': [
181
207
  {
182
- host: 'example-c-1.com', ttl: -1, priority: 5, id: '0:0:0:example-d'
208
+ host: 'example-c-1.com',
209
+ ttl: -1,
210
+ priority: 5,
211
+ id: '0:0:0:example-d',
183
212
  },
184
213
  {
185
- host: 'example-c-2.com', ttl: -1, priority: 3, id: '0:0:0:example-d'
214
+ host: 'example-c-2.com',
215
+ ttl: -1,
216
+ priority: 3,
217
+ id: '0:0:0:example-d',
186
218
  },
187
219
  {
188
- host: 'example-c-3.com', ttl: -1, priority: 1, id: '0:0:0:example-d-x'
189
- }
190
- ]
220
+ host: 'example-c-3.com',
221
+ ttl: -1,
222
+ priority: 1,
223
+ id: '0:0:0:example-d-x',
224
+ },
225
+ ],
191
226
  },
192
- format: 'hostmap'
227
+ format: 'hostmap',
193
228
  };
194
229
  });
195
230
 
196
231
  it('creates a formmatted host map that contains the same amount of entries as the original received hostmap', () => {
197
232
  formattedHM = services._formatReceivedHostmap(serviceHostmap);
198
233
 
199
- assert(Object.keys(serviceHostmap.serviceLinks).length >=
200
- formattedHM.length, 'length is not equal or less than');
234
+ assert(
235
+ Object.keys(serviceHostmap.serviceLinks).length >= formattedHM.length,
236
+ 'length is not equal or less than'
237
+ );
201
238
  });
202
239
 
203
240
  it.skip('creates an array of equal or less length of hostMap', () => {
204
241
  formattedHM = services._formatReceivedHostmap(serviceHostmap);
205
242
 
206
- assert(Object.keys(serviceHostmap.hostCatalog).length >=
207
- formattedHM.length, 'length is not equal or less than');
243
+ assert(
244
+ Object.keys(serviceHostmap.hostCatalog).length >= formattedHM.length,
245
+ 'length is not equal or less than'
246
+ );
208
247
  });
209
248
 
210
249
  it('creates an array with matching url data', () => {
211
250
  formattedHM = services._formatReceivedHostmap(serviceHostmap);
212
251
 
213
252
  formattedHM.forEach((entry) => {
214
- assert.equal(serviceHostmap.serviceLinks[entry.name],
215
- entry.defaultUrl);
253
+ assert.equal(serviceHostmap.serviceLinks[entry.name], entry.defaultUrl);
216
254
  });
217
255
  });
218
256
 
@@ -221,8 +259,11 @@ describe('webex-core', () => {
221
259
 
222
260
  formattedHM.forEach((service) => {
223
261
  service.hosts.forEach((host) => {
224
- assert.hasAllKeys(host,
225
- ['homeCluster', 'host', 'id', 'priority', 'ttl'], `${service.name} has an invalid host shape`);
262
+ assert.hasAllKeys(
263
+ host,
264
+ ['homeCluster', 'host', 'id', 'priority', 'ttl'],
265
+ `${service.name} has an invalid host shape`
266
+ );
226
267
  });
227
268
  });
228
269
  });
@@ -231,8 +272,9 @@ describe('webex-core', () => {
231
272
  formattedHM = services._formatReceivedHostmap(serviceHostmap);
232
273
 
233
274
  formattedHM.forEach((service) => {
234
- const foundServiceKey = Object.keys(serviceHostmap.serviceLinks)
235
- .find((key) => service.name === key);
275
+ const foundServiceKey = Object.keys(serviceHostmap.serviceLinks).find(
276
+ (key) => service.name === key
277
+ );
236
278
 
237
279
  assert.isDefined(foundServiceKey);
238
280
  });
@@ -251,8 +293,10 @@ describe('webex-core', () => {
251
293
  it('creates an array with matching names', () => {
252
294
  formattedHM = services._formatReceivedHostmap(serviceHostmap);
253
295
 
254
- assert.hasAllKeys(serviceHostmap.serviceLinks,
255
- formattedHM.map((item) => item.name));
296
+ assert.hasAllKeys(
297
+ serviceHostmap.serviceLinks,
298
+ formattedHM.map((item) => item.name)
299
+ );
256
300
  });
257
301
  });
258
302
 
@@ -260,13 +304,13 @@ describe('webex-core', () => {
260
304
  // updateCredentialsConfig must remove `/` if exist. so expected serviceList must be.
261
305
  const expectedServiceList = {
262
306
  idbroker: 'https://idbroker.webex.com',
263
- identity: 'https://identity.webex.com'
307
+ identity: 'https://identity.webex.com',
264
308
  };
265
309
 
266
310
  beforeEach('get services list', async () => {
267
311
  const servicesList = {
268
312
  idbroker: 'https://idbroker.webex.com',
269
- identity: 'https://identity.webex.com/'
313
+ identity: 'https://identity.webex.com/',
270
314
  };
271
315
 
272
316
  catalog.list = sinon.stub().returns(servicesList);
@@ -6,10 +6,7 @@
6
6
 
7
7
  import {assert} from '@webex/test-helper-chai';
8
8
  import MockWebex from '@webex/test-helper-mock-webex';
9
- import {
10
- persist,
11
- WebexPlugin
12
- } from '@webex/webex-core';
9
+ import {persist, WebexPlugin} from '@webex/webex-core';
13
10
 
14
11
  describe('webex-core', () => {
15
12
  describe('@persist', () => {
@@ -18,8 +15,8 @@ describe('webex-core', () => {
18
15
  props: {
19
16
  test: {
20
17
  default: false,
21
- type: 'boolean'
22
- }
18
+ type: 'boolean',
19
+ },
23
20
  },
24
21
 
25
22
  namespace: 'MockChild',
@@ -27,13 +24,13 @@ describe('webex-core', () => {
27
24
  @persist('@')
28
25
  initialize(...args) {
29
26
  return Reflect.apply(WebexPlugin.prototype.initialize, this, args);
30
- }
27
+ },
31
28
  });
32
29
 
33
30
  const webex = new MockWebex({
34
31
  children: {
35
- mockChild: MockChild
36
- }
32
+ mockChild: MockChild,
33
+ },
37
34
  });
38
35
 
39
36
  webex.internal.mockChild.test = true;
@@ -7,11 +7,7 @@
7
7
  import {assert} from '@webex/test-helper-chai';
8
8
  import sinon from 'sinon';
9
9
  import MockWebex from '@webex/test-helper-mock-webex';
10
- import {
11
- persist,
12
- WebexPlugin,
13
- waitForValue
14
- } from '@webex/webex-core';
10
+ import {persist, WebexPlugin, waitForValue} from '@webex/webex-core';
15
11
 
16
12
  describe('webex-core', () => {
17
13
  describe('@waitForValue', () => {
@@ -20,8 +16,8 @@ describe('webex-core', () => {
20
16
  props: {
21
17
  test: {
22
18
  default: false,
23
- type: 'boolean'
24
- }
19
+ type: 'boolean',
20
+ },
25
21
  },
26
22
 
27
23
  namespace: 'MockChild',
@@ -33,29 +29,34 @@ describe('webex-core', () => {
33
29
 
34
30
  @waitForValue('@')
35
31
  testMethod() {
36
- return this.webex.request()
37
- .then(() => {
38
- this.test = true;
39
- });
40
- }
32
+ return this.webex.request().then(() => {
33
+ this.test = true;
34
+ });
35
+ },
41
36
  });
42
37
 
43
38
  const webex = new MockWebex({
44
39
  children: {
45
- mockChild: MockChild
46
- }
40
+ mockChild: MockChild,
41
+ },
47
42
  });
48
43
 
49
44
  let resolve;
50
45
 
51
- sinon.stub(webex.boundedStorage, 'get').returns(new Promise((r) => { resolve = r; }));
46
+ sinon.stub(webex.boundedStorage, 'get').returns(
47
+ new Promise((r) => {
48
+ resolve = r;
49
+ })
50
+ );
52
51
 
53
- webex.request.returns(Promise.resolve({
54
- body: {
55
- access_token: 'fake token @waitForValue',
56
- token_type: 'Bearer'
57
- }
58
- }));
52
+ webex.request.returns(
53
+ Promise.resolve({
54
+ body: {
55
+ access_token: 'fake token @waitForValue',
56
+ token_type: 'Bearer',
57
+ },
58
+ })
59
+ );
59
60
 
60
61
  const promise = webex.internal.mockChild.testMethod();
61
62