@webex/webex-core 3.10.0-next.2 → 3.10.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.js.map +1 -1
- package/dist/credentials-config.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/auth.js +6 -8
- package/dist/interceptors/auth.js.map +1 -1
- package/dist/interceptors/default-options.js +6 -8
- package/dist/interceptors/default-options.js.map +1 -1
- package/dist/interceptors/embargo.js +6 -8
- package/dist/interceptors/embargo.js.map +1 -1
- package/dist/interceptors/network-timing.js +6 -8
- package/dist/interceptors/network-timing.js.map +1 -1
- package/dist/interceptors/payload-transformer.js +6 -8
- package/dist/interceptors/payload-transformer.js.map +1 -1
- package/dist/interceptors/proxy.js +7 -10
- package/dist/interceptors/proxy.js.map +1 -1
- package/dist/interceptors/rate-limit.js +7 -10
- package/dist/interceptors/rate-limit.js.map +1 -1
- package/dist/interceptors/redirect.js +9 -8
- package/dist/interceptors/redirect.js.map +1 -1
- package/dist/interceptors/request-event.js +6 -8
- package/dist/interceptors/request-event.js.map +1 -1
- package/dist/interceptors/request-logger.js +6 -8
- package/dist/interceptors/request-logger.js.map +1 -1
- package/dist/interceptors/request-timing.js +6 -8
- package/dist/interceptors/request-timing.js.map +1 -1
- package/dist/interceptors/response-logger.js +6 -8
- package/dist/interceptors/response-logger.js.map +1 -1
- package/dist/interceptors/user-agent.js +8 -11
- package/dist/interceptors/user-agent.js.map +1 -1
- package/dist/interceptors/webex-tracking-id.js +6 -8
- package/dist/interceptors/webex-tracking-id.js.map +1 -1
- package/dist/interceptors/webex-user-agent.js +7 -10
- package/dist/interceptors/webex-user-agent.js.map +1 -1
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/batcher.js.map +1 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/credentials/credentials.js +4 -6
- package/dist/lib/credentials/credentials.js.map +1 -1
- package/dist/lib/credentials/grant-errors.js +18 -26
- package/dist/lib/credentials/grant-errors.js.map +1 -1
- package/dist/lib/credentials/index.js.map +1 -1
- package/dist/lib/credentials/scope.js.map +1 -1
- package/dist/lib/credentials/token-collection.js.map +1 -1
- package/dist/lib/credentials/token.js +5 -5
- package/dist/lib/credentials/token.js.map +1 -1
- package/dist/lib/interceptors/hostmap.js +6 -8
- package/dist/lib/interceptors/hostmap.js.map +1 -1
- package/dist/lib/interceptors/server-error.js +6 -8
- package/dist/lib/interceptors/server-error.js.map +1 -1
- package/dist/lib/interceptors/service.js +6 -8
- package/dist/lib/interceptors/service.js.map +1 -1
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/page.js +5 -6
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/service-catalog.js +3 -3
- package/dist/lib/services/service-catalog.js.map +1 -1
- package/dist/lib/services/service-fed-ramp.js.map +1 -1
- package/dist/lib/services/service-host.js +1 -2
- package/dist/lib/services/service-host.js.map +1 -1
- package/dist/lib/services/service-registry.js +1 -2
- package/dist/lib/services/service-registry.js.map +1 -1
- package/dist/lib/services/service-state.js +1 -2
- package/dist/lib/services/service-state.js.map +1 -1
- package/dist/lib/services/service-url.js.map +1 -1
- package/dist/lib/services/services.js +18 -19
- package/dist/lib/services/services.js.map +1 -1
- package/dist/lib/services-v2/index.js.map +1 -1
- package/dist/lib/services-v2/metrics.js.map +1 -1
- package/dist/lib/services-v2/service-catalog.js +7 -7
- package/dist/lib/services-v2/service-catalog.js.map +1 -1
- package/dist/lib/services-v2/service-detail.js.map +1 -1
- package/dist/lib/services-v2/service-fed-ramp.js.map +1 -1
- package/dist/lib/services-v2/services-v2.js +40 -41
- package/dist/lib/services-v2/services-v2.js.map +1 -1
- package/dist/lib/services-v2/types.js.map +1 -1
- package/dist/lib/stateless-webex-plugin.js +3 -4
- package/dist/lib/stateless-webex-plugin.js.map +1 -1
- package/dist/lib/storage/decorators.js.map +1 -1
- package/dist/lib/storage/errors.js +7 -9
- package/dist/lib/storage/errors.js.map +1 -1
- package/dist/lib/storage/index.js.map +1 -1
- package/dist/lib/storage/make-webex-plugin-store.js +14 -5
- package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
- package/dist/lib/storage/make-webex-store.js +13 -5
- package/dist/lib/storage/make-webex-store.js.map +1 -1
- package/dist/lib/storage/memory-store-adapter.js.map +1 -1
- package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-http-error.js +8 -11
- package/dist/lib/webex-http-error.js.map +1 -1
- package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-plugin.js.map +1 -1
- package/dist/plugins/logger.js +1 -1
- package/dist/plugins/logger.js.map +1 -1
- package/dist/webex-core.js +11 -11
- package/dist/webex-core.js.map +1 -1
- package/dist/webex-internal-core.js.map +1 -1
- package/package.json +3 -3
- package/src/interceptors/redirect.js +4 -0
- package/src/lib/services-v2/service-catalog.ts +4 -4
- package/src/lib/services-v2/services-v2.ts +3 -3
- package/test/fixtures/host-catalog-v2.ts +1 -1
- package/test/integration/spec/services-v2/service-catalog.js +2 -2
- package/test/unit/spec/interceptors/redirect.js +98 -0
- package/test/unit/spec/services-v2/services-v2.ts +14 -0
|
@@ -168,6 +168,104 @@ describe('webex-core', () => {
|
|
|
168
168
|
uri: 'http://newlocus.example.com',
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
|
+
|
|
172
|
+
it('removes authorization header when redirecting preJoin request to webex-appapi-service', () => {
|
|
173
|
+
const response = {
|
|
174
|
+
statusCode: 404,
|
|
175
|
+
headers: {},
|
|
176
|
+
body: {
|
|
177
|
+
code: 404100,
|
|
178
|
+
data: {
|
|
179
|
+
siteFullUrl: 'newlocus.example.com'
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
const options = {
|
|
185
|
+
$redirectCount: 0,
|
|
186
|
+
uri: 'https://test.webex.com/meet/v1/preJoin',
|
|
187
|
+
resource: 'preJoin',
|
|
188
|
+
service: 'webex-appapi-service',
|
|
189
|
+
headers: {
|
|
190
|
+
authorization: 'Bearer token123',
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
interceptor.onResponse(options, response);
|
|
195
|
+
sinon.assert.calledWith(webex.request, sinon.match({
|
|
196
|
+
$redirectCount: 1,
|
|
197
|
+
uri: 'https://newlocus.example.com/meet/v1/preJoin',
|
|
198
|
+
resource: 'preJoin',
|
|
199
|
+
service: 'webex-appapi-service',
|
|
200
|
+
headers: {
|
|
201
|
+
authorization: false,
|
|
202
|
+
},
|
|
203
|
+
}));
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
it('keeps authorization header for non-preJoin requests on appapi redirect', () => {
|
|
207
|
+
const response = {
|
|
208
|
+
statusCode: 404,
|
|
209
|
+
headers: {},
|
|
210
|
+
body: {
|
|
211
|
+
code: 404100,
|
|
212
|
+
data: {
|
|
213
|
+
siteFullUrl: 'newlocus.example.com'
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
const options = {
|
|
219
|
+
$redirectCount: 0,
|
|
220
|
+
uri: 'https://test.webex.com/meet/v1/join',
|
|
221
|
+
resource: 'join',
|
|
222
|
+
service: 'webex-appapi-service',
|
|
223
|
+
headers: {
|
|
224
|
+
authorization: 'Bearer token123',
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
interceptor.onResponse(options, response);
|
|
229
|
+
sinon.assert.calledWith(webex.request, sinon.match({
|
|
230
|
+
$redirectCount: 1,
|
|
231
|
+
uri: 'https://newlocus.example.com/meet/v1/join',
|
|
232
|
+
headers: {
|
|
233
|
+
authorization: 'Bearer token123',
|
|
234
|
+
},
|
|
235
|
+
}));
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it('keeps authorization header for preJoin requests to non-webex-appapi-service', () => {
|
|
239
|
+
const response = {
|
|
240
|
+
statusCode: 404,
|
|
241
|
+
headers: {},
|
|
242
|
+
body: {
|
|
243
|
+
code: 404100,
|
|
244
|
+
data: {
|
|
245
|
+
siteFullUrl: 'newlocus.example.com'
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
const options = {
|
|
251
|
+
$redirectCount: 0,
|
|
252
|
+
uri: 'https://test.webex.com/meet/v1/preJoin',
|
|
253
|
+
resource: 'preJoin',
|
|
254
|
+
service: 'other-service',
|
|
255
|
+
headers: {
|
|
256
|
+
authorization: 'Bearer token123',
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
interceptor.onResponse(options, response);
|
|
261
|
+
sinon.assert.calledWith(webex.request, sinon.match({
|
|
262
|
+
$redirectCount: 1,
|
|
263
|
+
uri: 'https://newlocus.example.com/meet/v1/preJoin',
|
|
264
|
+
headers: {
|
|
265
|
+
authorization: 'Bearer token123',
|
|
266
|
+
},
|
|
267
|
+
}));
|
|
268
|
+
});
|
|
171
269
|
});
|
|
172
270
|
});
|
|
173
271
|
});
|
|
@@ -331,6 +331,20 @@ describe('webex-core', () => {
|
|
|
331
331
|
|
|
332
332
|
assert.deepEqual(result, [{some: 'value'}]);
|
|
333
333
|
});
|
|
334
|
+
it('updates the catalog with empty hostmap', async () => {
|
|
335
|
+
const serviceGroup = 'postauth';
|
|
336
|
+
const hostmap = {};
|
|
337
|
+
|
|
338
|
+
services._formatReceivedHostmap = sinon.stub().returns({services : undefined});
|
|
339
|
+
|
|
340
|
+
catalog.updateServiceGroups = sinon.stub().returns(Promise.resolve([{some: 'value'}]));
|
|
341
|
+
|
|
342
|
+
const result = await services.updateCatalog(serviceGroup, hostmap);
|
|
343
|
+
|
|
344
|
+
assert.calledWith(services._formatReceivedHostmap, hostmap);
|
|
345
|
+
|
|
346
|
+
assert.calledWith(catalog.updateServiceGroups, serviceGroup, undefined);
|
|
347
|
+
});
|
|
334
348
|
});
|
|
335
349
|
|
|
336
350
|
describe('#_fetchNewServiceHostmap()', () => {
|