@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.
- package/dist/config.js +1 -11
- package/dist/config.js.map +1 -1
- package/dist/credentials-config.js +44 -64
- package/dist/credentials-config.js.map +1 -1
- package/dist/index.js +0 -76
- package/dist/index.js.map +1 -1
- package/dist/interceptors/auth.js +22 -55
- package/dist/interceptors/auth.js.map +1 -1
- package/dist/interceptors/default-options.js +0 -20
- package/dist/interceptors/default-options.js.map +1 -1
- package/dist/interceptors/embargo.js +0 -21
- package/dist/interceptors/embargo.js.map +1 -1
- package/dist/interceptors/network-timing.js +2 -21
- package/dist/interceptors/network-timing.js.map +1 -1
- package/dist/interceptors/payload-transformer.js +2 -22
- package/dist/interceptors/payload-transformer.js.map +1 -1
- package/dist/interceptors/rate-limit.js +25 -57
- package/dist/interceptors/rate-limit.js.map +1 -1
- package/dist/interceptors/redirect.js +4 -33
- package/dist/interceptors/redirect.js.map +1 -1
- package/dist/interceptors/request-event.js +3 -30
- package/dist/interceptors/request-event.js.map +1 -1
- package/dist/interceptors/request-logger.js +1 -30
- package/dist/interceptors/request-logger.js.map +1 -1
- package/dist/interceptors/request-timing.js +3 -22
- package/dist/interceptors/request-timing.js.map +1 -1
- package/dist/interceptors/response-logger.js +2 -31
- package/dist/interceptors/response-logger.js.map +1 -1
- package/dist/interceptors/user-agent.js +2 -29
- package/dist/interceptors/user-agent.js.map +1 -1
- package/dist/interceptors/webex-tracking-id.js +5 -28
- package/dist/interceptors/webex-tracking-id.js.map +1 -1
- package/dist/interceptors/webex-user-agent.js +5 -38
- package/dist/interceptors/webex-user-agent.js.map +1 -1
- package/dist/lib/batcher.js +3 -51
- package/dist/lib/batcher.js.map +1 -1
- package/dist/lib/credentials/credentials.js +39 -119
- package/dist/lib/credentials/credentials.js.map +1 -1
- package/dist/lib/credentials/grant-errors.js +0 -49
- package/dist/lib/credentials/grant-errors.js.map +1 -1
- package/dist/lib/credentials/index.js +1 -13
- package/dist/lib/credentials/index.js.map +1 -1
- package/dist/lib/credentials/scope.js +1 -7
- package/dist/lib/credentials/scope.js.map +1 -1
- package/dist/lib/credentials/token-collection.js +1 -7
- package/dist/lib/credentials/token-collection.js.map +1 -1
- package/dist/lib/credentials/token.js +39 -118
- package/dist/lib/credentials/token.js.map +1 -1
- package/dist/lib/page.js +13 -26
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/services/constants.js +0 -2
- package/dist/lib/services/constants.js.map +1 -1
- package/dist/lib/services/index.js +1 -28
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/interceptors/server-error.js +2 -23
- package/dist/lib/services/interceptors/server-error.js.map +1 -1
- package/dist/lib/services/interceptors/service.js +12 -34
- package/dist/lib/services/interceptors/service.js.map +1 -1
- package/dist/lib/services/metrics.js +0 -2
- package/dist/lib/services/metrics.js.map +1 -1
- package/dist/lib/services/service-catalog.js +10 -90
- package/dist/lib/services/service-catalog.js.map +1 -1
- package/dist/lib/services/service-fed-ramp.js +0 -2
- package/dist/lib/services/service-fed-ramp.js.map +1 -1
- package/dist/lib/services/service-host.js +47 -62
- package/dist/lib/services/service-host.js.map +1 -1
- package/dist/lib/services/service-registry.js +78 -90
- package/dist/lib/services/service-registry.js.map +1 -1
- package/dist/lib/services/service-state.js +3 -15
- package/dist/lib/services/service-state.js.map +1 -1
- package/dist/lib/services/service-url.js +4 -25
- package/dist/lib/services/service-url.js.map +1 -1
- package/dist/lib/services/services.js +122 -238
- package/dist/lib/services/services.js.map +1 -1
- package/dist/lib/stateless-webex-plugin.js +5 -28
- package/dist/lib/stateless-webex-plugin.js.map +1 -1
- package/dist/lib/storage/decorators.js +19 -62
- package/dist/lib/storage/decorators.js.map +1 -1
- package/dist/lib/storage/errors.js +0 -23
- package/dist/lib/storage/errors.js.map +1 -1
- package/dist/lib/storage/index.js +2 -16
- package/dist/lib/storage/index.js.map +1 -1
- package/dist/lib/storage/make-webex-plugin-store.js +11 -41
- package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
- package/dist/lib/storage/make-webex-store.js +8 -30
- package/dist/lib/storage/make-webex-store.js.map +1 -1
- package/dist/lib/storage/memory-store-adapter.js +1 -19
- package/dist/lib/storage/memory-store-adapter.js.map +1 -1
- package/dist/lib/webex-core-plugin-mixin.js +9 -29
- package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-http-error.js +1 -31
- package/dist/lib/webex-http-error.js.map +1 -1
- package/dist/lib/webex-internal-core-plugin-mixin.js +9 -29
- package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-plugin.js +6 -40
- package/dist/lib/webex-plugin.js.map +1 -1
- package/dist/plugins/logger.js +3 -17
- package/dist/plugins/logger.js.map +1 -1
- package/dist/webex-core.js +79 -203
- package/dist/webex-core.js.map +1 -1
- package/dist/webex-internal-core.js +0 -10
- package/dist/webex-internal-core.js.map +1 -1
- package/package.json +14 -14
- package/src/config.js +9 -11
- package/src/credentials-config.js +110 -72
- package/src/index.js +4 -14
- package/src/interceptors/auth.js +36 -37
- package/src/interceptors/default-options.js +0 -1
- package/src/interceptors/embargo.js +1 -1
- package/src/interceptors/payload-transformer.js +1 -2
- package/src/interceptors/rate-limit.js +8 -5
- package/src/interceptors/redirect.js +14 -8
- package/src/interceptors/request-event.js +4 -8
- package/src/interceptors/request-logger.js +8 -5
- package/src/interceptors/response-logger.js +11 -8
- package/src/interceptors/user-agent.js +1 -2
- package/src/interceptors/webex-user-agent.js +3 -9
- package/src/lib/batcher.js +70 -69
- package/src/lib/credentials/credentials.js +112 -122
- package/src/lib/credentials/grant-errors.js +6 -7
- package/src/lib/credentials/index.js +1 -4
- package/src/lib/credentials/scope.js +1 -4
- package/src/lib/credentials/token-collection.js +1 -1
- package/src/lib/credentials/token.js +86 -80
- package/src/lib/page.js +10 -11
- package/src/lib/services/constants.js +3 -13
- package/src/lib/services/index.js +2 -2
- package/src/lib/services/interceptors/server-error.js +12 -7
- package/src/lib/services/interceptors/service.js +6 -5
- package/src/lib/services/metrics.js +1 -1
- package/src/lib/services/service-catalog.js +110 -100
- package/src/lib/services/service-fed-ramp.js +1 -2
- package/src/lib/services/service-host.js +10 -17
- package/src/lib/services/service-registry.js +69 -96
- package/src/lib/services/service-state.js +4 -6
- package/src/lib/services/service-url.js +24 -23
- package/src/lib/services/services.js +260 -251
- package/src/lib/stateless-webex-plugin.js +4 -2
- package/src/lib/storage/decorators.js +68 -66
- package/src/lib/storage/index.js +4 -6
- package/src/lib/storage/make-webex-plugin-store.js +34 -21
- package/src/lib/storage/make-webex-store.js +6 -7
- package/src/lib/storage/memory-store-adapter.js +3 -3
- package/src/lib/webex-core-plugin-mixin.js +10 -7
- package/src/lib/webex-http-error.js +7 -8
- package/src/lib/webex-internal-core-plugin-mixin.js +9 -6
- package/src/lib/webex-plugin.js +41 -34
- package/src/plugins/logger.js +8 -3
- package/src/webex-core.js +185 -116
- package/src/webex-internal-core.js +15 -9
- package/test/integration/spec/credentials/credentials.js +26 -30
- package/test/integration/spec/credentials/token.js +36 -33
- package/test/integration/spec/services/service-catalog.js +177 -156
- package/test/integration/spec/services/services.js +313 -304
- package/test/integration/spec/webex-core.js +98 -86
- package/test/unit/spec/_setup.js +26 -18
- package/test/unit/spec/credentials/credentials.js +189 -154
- package/test/unit/spec/credentials/token.js +94 -76
- package/test/unit/spec/interceptors/auth.js +291 -243
- package/test/unit/spec/interceptors/default-options.js +36 -24
- package/test/unit/spec/interceptors/embargo.js +32 -27
- package/test/unit/spec/interceptors/network-timing.js +2 -2
- package/test/unit/spec/interceptors/payload-transformer.js +61 -52
- package/test/unit/spec/interceptors/rate-limit.js +104 -75
- package/test/unit/spec/interceptors/redirect.js +22 -20
- package/test/unit/spec/interceptors/request-timing.js +18 -22
- package/test/unit/spec/interceptors/user-agent.js +28 -16
- package/test/unit/spec/interceptors/webex-tracking-id.js +14 -8
- package/test/unit/spec/interceptors/webex-user-agent.js +83 -37
- package/test/unit/spec/lib/batcher.js +36 -32
- package/test/unit/spec/lib/page.js +36 -32
- package/test/unit/spec/lib/webex-plugin.js +1 -1
- package/test/unit/spec/services/interceptors/server-error.js +67 -90
- package/test/unit/spec/services/interceptors/service.js +17 -28
- package/test/unit/spec/services/service-catalog.js +19 -27
- package/test/unit/spec/services/service-host.js +29 -26
- package/test/unit/spec/services/service-registry.js +128 -170
- package/test/unit/spec/services/service-state.js +13 -22
- package/test/unit/spec/services/service-url.js +24 -43
- package/test/unit/spec/services/services.js +85 -41
- package/test/unit/spec/storage/persist.js +6 -9
- package/test/unit/spec/storage/wait-for-value.js +22 -21
- package/test/unit/spec/webex-core.js +78 -57
- package/test/unit/spec/webex-internal-core.js +56 -31
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import chai from 'chai';
|
|
2
2
|
import chaiAsPromised from 'chai-as-promised';
|
|
3
3
|
import sinon from 'sinon';
|
|
4
|
-
import {
|
|
5
|
-
ServerErrorInterceptor,
|
|
6
|
-
WebexHttpError
|
|
7
|
-
} from '@webex/webex-core';
|
|
4
|
+
import {ServerErrorInterceptor, WebexHttpError} from '@webex/webex-core';
|
|
8
5
|
|
|
9
6
|
const {assert} = chai;
|
|
10
7
|
|
|
@@ -40,9 +37,9 @@ describe('webex-core', () => {
|
|
|
40
37
|
options: {
|
|
41
38
|
url: 'http://not-a-url.com/',
|
|
42
39
|
headers: {
|
|
43
|
-
trackingId: 'tid'
|
|
44
|
-
}
|
|
45
|
-
}
|
|
40
|
+
trackingId: 'tid',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
46
43
|
});
|
|
47
44
|
|
|
48
45
|
interceptor.webex = {
|
|
@@ -50,41 +47,32 @@ describe('webex-core', () => {
|
|
|
50
47
|
device: {
|
|
51
48
|
features: {
|
|
52
49
|
developer: {
|
|
53
|
-
get: sinon.stub()
|
|
54
|
-
}
|
|
55
|
-
}
|
|
50
|
+
get: sinon.stub(),
|
|
51
|
+
},
|
|
52
|
+
},
|
|
56
53
|
},
|
|
57
54
|
metrics: {
|
|
58
|
-
submitClientMetrics: sinon.spy()
|
|
55
|
+
submitClientMetrics: sinon.spy(),
|
|
59
56
|
},
|
|
60
57
|
services: {
|
|
61
|
-
markFailedUrl: sinon.stub()
|
|
62
|
-
}
|
|
63
|
-
}
|
|
58
|
+
markFailedUrl: sinon.stub(),
|
|
59
|
+
},
|
|
60
|
+
},
|
|
64
61
|
};
|
|
65
62
|
|
|
66
63
|
get = interceptor.webex.internal.device.features.developer.get;
|
|
67
|
-
markFailedUrl = interceptor
|
|
68
|
-
|
|
69
|
-
.internal
|
|
70
|
-
.services
|
|
71
|
-
.markFailedUrl;
|
|
72
|
-
submitClientMetrics = interceptor
|
|
73
|
-
.webex
|
|
74
|
-
.internal
|
|
75
|
-
.metrics
|
|
76
|
-
.submitClientMetrics;
|
|
64
|
+
markFailedUrl = interceptor.webex.internal.services.markFailedUrl;
|
|
65
|
+
submitClientMetrics = interceptor.webex.internal.metrics.submitClientMetrics;
|
|
77
66
|
|
|
78
67
|
markFailedUrl.returns();
|
|
79
68
|
});
|
|
80
69
|
|
|
81
|
-
it(
|
|
82
|
-
interceptor.onResponseError(options, reason)
|
|
83
|
-
.
|
|
84
|
-
assert.calledWith(get, 'web-high-availability');
|
|
70
|
+
it("should get the feature 'web-high-availability'", (done) => {
|
|
71
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
72
|
+
assert.calledWith(get, 'web-high-availability');
|
|
85
73
|
|
|
86
|
-
|
|
87
|
-
|
|
74
|
+
done();
|
|
75
|
+
});
|
|
88
76
|
});
|
|
89
77
|
|
|
90
78
|
describe('when the web-ha feature is enabled', () => {
|
|
@@ -93,30 +81,26 @@ describe('webex-core', () => {
|
|
|
93
81
|
});
|
|
94
82
|
|
|
95
83
|
it('should submit appropriate client metrics', (done) => {
|
|
96
|
-
interceptor.onResponseError(options, reason)
|
|
97
|
-
.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
error: reason.message,
|
|
105
|
-
url: options.uri
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
done();
|
|
84
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
85
|
+
assert.calledWith(submitClientMetrics, 'web-ha', {
|
|
86
|
+
fields: {success: false},
|
|
87
|
+
tags: {
|
|
88
|
+
action: 'failed',
|
|
89
|
+
error: reason.message,
|
|
90
|
+
url: options.uri,
|
|
91
|
+
},
|
|
110
92
|
});
|
|
93
|
+
|
|
94
|
+
done();
|
|
95
|
+
});
|
|
111
96
|
});
|
|
112
97
|
|
|
113
98
|
it('should mark a url as failed', (done) => {
|
|
114
|
-
interceptor.onResponseError(options, reason)
|
|
115
|
-
.
|
|
116
|
-
assert.calledWith(markFailedUrl, options.uri);
|
|
99
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
100
|
+
assert.calledWith(markFailedUrl, options.uri);
|
|
117
101
|
|
|
118
|
-
|
|
119
|
-
|
|
102
|
+
done();
|
|
103
|
+
});
|
|
120
104
|
});
|
|
121
105
|
|
|
122
106
|
it('should mark a url as failed for a 503', (done) => {
|
|
@@ -126,26 +110,24 @@ describe('webex-core', () => {
|
|
|
126
110
|
options: {
|
|
127
111
|
url: 'http://not-a-url.com/',
|
|
128
112
|
headers: {
|
|
129
|
-
trackingId: 'tid'
|
|
130
|
-
}
|
|
131
|
-
}
|
|
113
|
+
trackingId: 'tid',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
132
116
|
});
|
|
133
117
|
|
|
134
|
-
interceptor.onResponseError(options, reason)
|
|
135
|
-
.
|
|
136
|
-
assert.calledWith(markFailedUrl, options.uri);
|
|
118
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
119
|
+
assert.calledWith(markFailedUrl, options.uri);
|
|
137
120
|
|
|
138
|
-
|
|
139
|
-
|
|
121
|
+
done();
|
|
122
|
+
});
|
|
140
123
|
});
|
|
141
124
|
|
|
142
125
|
it('should return a rejected promise with a reason', (done) => {
|
|
143
|
-
interceptor.onResponseError(options, reason)
|
|
144
|
-
.
|
|
145
|
-
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
126
|
+
interceptor.onResponseError(options, reason).catch((error) => {
|
|
127
|
+
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
146
128
|
|
|
147
|
-
|
|
148
|
-
|
|
129
|
+
done();
|
|
130
|
+
});
|
|
149
131
|
});
|
|
150
132
|
});
|
|
151
133
|
|
|
@@ -155,30 +137,27 @@ describe('webex-core', () => {
|
|
|
155
137
|
});
|
|
156
138
|
|
|
157
139
|
it('should return a rejected promise with the reason', (done) => {
|
|
158
|
-
interceptor.onResponseError(options, reason)
|
|
159
|
-
.
|
|
160
|
-
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
140
|
+
interceptor.onResponseError(options, reason).catch((error) => {
|
|
141
|
+
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
161
142
|
|
|
162
|
-
|
|
163
|
-
|
|
143
|
+
done();
|
|
144
|
+
});
|
|
164
145
|
});
|
|
165
146
|
|
|
166
147
|
it('should not attempt to submit client metrics', (done) => {
|
|
167
|
-
interceptor.onResponseError(options, reason)
|
|
168
|
-
.
|
|
169
|
-
assert.notCalled(submitClientMetrics);
|
|
148
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
149
|
+
assert.notCalled(submitClientMetrics);
|
|
170
150
|
|
|
171
|
-
|
|
172
|
-
|
|
151
|
+
done();
|
|
152
|
+
});
|
|
173
153
|
});
|
|
174
154
|
|
|
175
155
|
it('should not attempt to mark a url as failed', (done) => {
|
|
176
|
-
interceptor.onResponseError(options, reason)
|
|
177
|
-
.
|
|
178
|
-
assert.notCalled(markFailedUrl);
|
|
156
|
+
interceptor.onResponseError(options, reason).catch(() => {
|
|
157
|
+
assert.notCalled(markFailedUrl);
|
|
179
158
|
|
|
180
|
-
|
|
181
|
-
|
|
159
|
+
done();
|
|
160
|
+
});
|
|
182
161
|
});
|
|
183
162
|
});
|
|
184
163
|
});
|
|
@@ -190,12 +169,11 @@ describe('webex-core', () => {
|
|
|
190
169
|
});
|
|
191
170
|
|
|
192
171
|
it('should return a rejected promise with the reason', (done) => {
|
|
193
|
-
interceptor.onResponseError(options, reason)
|
|
194
|
-
.
|
|
195
|
-
assert.deepEqual(error, reason);
|
|
172
|
+
interceptor.onResponseError(options, reason).catch((error) => {
|
|
173
|
+
assert.deepEqual(error, reason);
|
|
196
174
|
|
|
197
|
-
|
|
198
|
-
|
|
175
|
+
done();
|
|
176
|
+
});
|
|
199
177
|
});
|
|
200
178
|
});
|
|
201
179
|
|
|
@@ -207,19 +185,18 @@ describe('webex-core', () => {
|
|
|
207
185
|
options: {
|
|
208
186
|
url: 'http://not-a-url.com/',
|
|
209
187
|
headers: {
|
|
210
|
-
trackingId: 'tid'
|
|
211
|
-
}
|
|
212
|
-
}
|
|
188
|
+
trackingId: 'tid',
|
|
189
|
+
},
|
|
190
|
+
},
|
|
213
191
|
});
|
|
214
192
|
});
|
|
215
193
|
|
|
216
194
|
it('should return a rejected promise with the reason', (done) => {
|
|
217
|
-
interceptor.onResponseError(options, reason)
|
|
218
|
-
.
|
|
219
|
-
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
195
|
+
interceptor.onResponseError(options, reason).catch((error) => {
|
|
196
|
+
assert.instanceOf(error, WebexHttpError.InternalServerError);
|
|
220
197
|
|
|
221
|
-
|
|
222
|
-
|
|
198
|
+
done();
|
|
199
|
+
});
|
|
223
200
|
});
|
|
224
201
|
});
|
|
225
202
|
});
|
|
@@ -25,7 +25,7 @@ describe('webex-core', () => {
|
|
|
25
25
|
resource: '/example/resource/',
|
|
26
26
|
service: 'example',
|
|
27
27
|
serviceUrl: 'https://www.example-service.com/',
|
|
28
|
-
uri: 'https://www.example-uri.com/'
|
|
28
|
+
uri: 'https://www.example-uri.com/',
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
options = {};
|
|
@@ -35,13 +35,9 @@ describe('webex-core', () => {
|
|
|
35
35
|
let uri;
|
|
36
36
|
|
|
37
37
|
beforeEach('generate uri', () => {
|
|
38
|
-
uri = interceptor.generateUri(
|
|
39
|
-
fixture.serviceUrl,
|
|
40
|
-
fixture.resource
|
|
41
|
-
);
|
|
38
|
+
uri = interceptor.generateUri(fixture.serviceUrl, fixture.resource);
|
|
42
39
|
});
|
|
43
|
-
it('should remove all trailing slashes', () =>
|
|
44
|
-
assert.equal(uri.split('//').length, 2));
|
|
40
|
+
it('should remove all trailing slashes', () => assert.equal(uri.split('//').length, 2));
|
|
45
41
|
|
|
46
42
|
it('should combine the service url and the resource', () => {
|
|
47
43
|
assert.isTrue(uri.includes(fixture.serviceUrl));
|
|
@@ -101,9 +97,9 @@ describe('webex-core', () => {
|
|
|
101
97
|
interceptor.webex = {
|
|
102
98
|
internal: {
|
|
103
99
|
services: {
|
|
104
|
-
waitForService: sinon.stub()
|
|
105
|
-
}
|
|
106
|
-
}
|
|
100
|
+
waitForService: sinon.stub(),
|
|
101
|
+
},
|
|
102
|
+
},
|
|
107
103
|
};
|
|
108
104
|
|
|
109
105
|
waitForService = interceptor.webex.internal.services.waitForService;
|
|
@@ -114,32 +110,25 @@ describe('webex-core', () => {
|
|
|
114
110
|
});
|
|
115
111
|
|
|
116
112
|
it('should normalize the options', () =>
|
|
117
|
-
interceptor.onRequest(options)
|
|
118
|
-
.then(() => assert.called(interceptor.normalizeOptions)));
|
|
113
|
+
interceptor.onRequest(options).then(() => assert.called(interceptor.normalizeOptions)));
|
|
119
114
|
|
|
120
115
|
it('should validate the options', () =>
|
|
121
|
-
interceptor.onRequest(options)
|
|
122
|
-
.then(() => assert.called(interceptor.validateOptions)));
|
|
116
|
+
interceptor.onRequest(options).then(() => assert.called(interceptor.validateOptions)));
|
|
123
117
|
|
|
124
118
|
it('should attempt to collect the service url', () =>
|
|
125
|
-
interceptor
|
|
126
|
-
.
|
|
127
|
-
|
|
128
|
-
{name: options.service}
|
|
129
|
-
)));
|
|
119
|
+
interceptor
|
|
120
|
+
.onRequest(options)
|
|
121
|
+
.then(() => assert.calledWith(waitForService, {name: options.service})));
|
|
130
122
|
|
|
131
123
|
describe('when the service url was collected successfully', () => {
|
|
132
|
-
beforeEach('generate additional mocks', () => {
|
|
133
|
-
|
|
134
|
-
});
|
|
124
|
+
beforeEach('generate additional mocks', () => {});
|
|
135
125
|
|
|
136
126
|
it('should attempt to generate the full uri', () =>
|
|
137
|
-
interceptor
|
|
138
|
-
.
|
|
139
|
-
|
|
140
|
-
fixture.serviceUrl,
|
|
141
|
-
|
|
142
|
-
)));
|
|
127
|
+
interceptor
|
|
128
|
+
.onRequest(options)
|
|
129
|
+
.then(() =>
|
|
130
|
+
assert.calledWith(interceptor.generateUri, fixture.serviceUrl, fixture.resource)
|
|
131
|
+
));
|
|
143
132
|
|
|
144
133
|
it('should return a resolved promise', () => {
|
|
145
134
|
const promise = interceptor.onRequest(options);
|
|
@@ -27,8 +27,13 @@ describe('webex-core', () => {
|
|
|
27
27
|
|
|
28
28
|
describe('#serviceGroups', () => {
|
|
29
29
|
it('has all the required keys', () => {
|
|
30
|
-
assert.hasAllKeys(catalog.serviceGroups,
|
|
31
|
-
|
|
30
|
+
assert.hasAllKeys(catalog.serviceGroups, [
|
|
31
|
+
'discovery',
|
|
32
|
+
'override',
|
|
33
|
+
'preauth',
|
|
34
|
+
'signin',
|
|
35
|
+
'postauth',
|
|
36
|
+
]);
|
|
32
37
|
});
|
|
33
38
|
|
|
34
39
|
it('contains values that are arrays', () => {
|
|
@@ -40,8 +45,13 @@ describe('webex-core', () => {
|
|
|
40
45
|
|
|
41
46
|
describe('#status', () => {
|
|
42
47
|
it('has all the required keys', () => {
|
|
43
|
-
assert.hasAllKeys(catalog.status,
|
|
44
|
-
|
|
48
|
+
assert.hasAllKeys(catalog.status, [
|
|
49
|
+
'discovery',
|
|
50
|
+
'override',
|
|
51
|
+
'preauth',
|
|
52
|
+
'postauth',
|
|
53
|
+
'signin',
|
|
54
|
+
]);
|
|
45
55
|
});
|
|
46
56
|
|
|
47
57
|
it('has valid key value types', () => {
|
|
@@ -91,11 +101,7 @@ describe('webex-core', () => {
|
|
|
91
101
|
const domains = [];
|
|
92
102
|
|
|
93
103
|
beforeEach('generate allowed domains', () => {
|
|
94
|
-
domains.push(
|
|
95
|
-
'example-a',
|
|
96
|
-
'example-b',
|
|
97
|
-
'example-c'
|
|
98
|
-
);
|
|
104
|
+
domains.push('example-a', 'example-b', 'example-c');
|
|
99
105
|
|
|
100
106
|
catalog.setAllowedDomains(domains);
|
|
101
107
|
});
|
|
@@ -105,9 +111,7 @@ describe('webex-core', () => {
|
|
|
105
111
|
});
|
|
106
112
|
|
|
107
113
|
it('finds an allowed domain that matches a specific url', () => {
|
|
108
|
-
const domain = catalog.findAllowedDomain(
|
|
109
|
-
'http://example-a.com/resource/id'
|
|
110
|
-
);
|
|
114
|
+
const domain = catalog.findAllowedDomain('http://example-a.com/resource/id');
|
|
111
115
|
|
|
112
116
|
assert.include(domains, domain);
|
|
113
117
|
});
|
|
@@ -117,11 +121,7 @@ describe('webex-core', () => {
|
|
|
117
121
|
const domains = [];
|
|
118
122
|
|
|
119
123
|
beforeEach('generate allowed domains', () => {
|
|
120
|
-
domains.push(
|
|
121
|
-
'example-a',
|
|
122
|
-
'example-b',
|
|
123
|
-
'example-c'
|
|
124
|
-
);
|
|
124
|
+
domains.push('example-a', 'example-b', 'example-c');
|
|
125
125
|
|
|
126
126
|
catalog.setAllowedDomains(domains);
|
|
127
127
|
});
|
|
@@ -160,11 +160,7 @@ describe('webex-core', () => {
|
|
|
160
160
|
const domains = [];
|
|
161
161
|
|
|
162
162
|
beforeEach('generate allowed domains', () => {
|
|
163
|
-
domains.push(
|
|
164
|
-
'example-a',
|
|
165
|
-
'example-b',
|
|
166
|
-
'example-c'
|
|
167
|
-
);
|
|
163
|
+
domains.push('example-a', 'example-b', 'example-c');
|
|
168
164
|
|
|
169
165
|
catalog.setAllowedDomains(domains);
|
|
170
166
|
});
|
|
@@ -174,11 +170,7 @@ describe('webex-core', () => {
|
|
|
174
170
|
});
|
|
175
171
|
|
|
176
172
|
it('sets the allowed domain entries to new values', () => {
|
|
177
|
-
const newValues = [
|
|
178
|
-
'example-d',
|
|
179
|
-
'example-e',
|
|
180
|
-
'example-f'
|
|
181
|
-
];
|
|
173
|
+
const newValues = ['example-d', 'example-e', 'example-f'];
|
|
182
174
|
|
|
183
175
|
catalog.setAllowedDomains(newValues);
|
|
184
176
|
|
|
@@ -15,7 +15,7 @@ describe('webex-core', () => {
|
|
|
15
15
|
hostGroup: 'example-host-group.com',
|
|
16
16
|
id: 'example-head:example-group:example-cluster:example-name',
|
|
17
17
|
priority: 1,
|
|
18
|
-
uri: 'example-uri.com'
|
|
18
|
+
uri: 'example-uri.com',
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
defaultHostGroup = 'example-default.com';
|
|
@@ -132,7 +132,6 @@ describe('webex-core', () => {
|
|
|
132
132
|
assert.isTrue(serviceHost.setStatus({failed: true}).failed);
|
|
133
133
|
});
|
|
134
134
|
|
|
135
|
-
|
|
136
135
|
it('should set the property failed to false', () => {
|
|
137
136
|
assert.isFalse(serviceHost.setStatus({failed: false}).failed);
|
|
138
137
|
});
|
|
@@ -141,33 +140,40 @@ describe('webex-core', () => {
|
|
|
141
140
|
assert.isTrue(serviceHost.setStatus({replaced: true}).replaced);
|
|
142
141
|
});
|
|
143
142
|
|
|
144
|
-
|
|
145
143
|
it('should set the property replaced to false', () => {
|
|
146
144
|
assert.isFalse(serviceHost.setStatus({replaced: false}).replaced);
|
|
147
145
|
});
|
|
148
146
|
|
|
149
147
|
it('should set the property replaced and failed to true', () => {
|
|
150
|
-
assert.isTrue(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
148
|
+
assert.isTrue(
|
|
149
|
+
serviceHost.setStatus({
|
|
150
|
+
failed: true,
|
|
151
|
+
replaced: true,
|
|
152
|
+
}).failed
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
assert.isTrue(
|
|
156
|
+
serviceHost.setStatus({
|
|
157
|
+
failed: true,
|
|
158
|
+
replaced: true,
|
|
159
|
+
}).replaced
|
|
160
|
+
);
|
|
159
161
|
});
|
|
160
162
|
|
|
161
163
|
it('should set the property replaced and failed to false', () => {
|
|
162
|
-
assert.isFalse(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
164
|
+
assert.isFalse(
|
|
165
|
+
serviceHost.setStatus({
|
|
166
|
+
failed: false,
|
|
167
|
+
replaced: false,
|
|
168
|
+
}).failed
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
assert.isFalse(
|
|
172
|
+
serviceHost.setStatus({
|
|
173
|
+
failed: false,
|
|
174
|
+
replaced: false,
|
|
175
|
+
}).replaced
|
|
176
|
+
);
|
|
171
177
|
});
|
|
172
178
|
|
|
173
179
|
describe('static methods', () => {
|
|
@@ -178,15 +184,12 @@ describe('webex-core', () => {
|
|
|
178
184
|
polyFixture = {
|
|
179
185
|
catalog: fixture.catalog,
|
|
180
186
|
name: fixture.id.split(':')[3],
|
|
181
|
-
url: fixture.defaultUri
|
|
187
|
+
url: fixture.defaultUri,
|
|
182
188
|
};
|
|
183
189
|
});
|
|
184
190
|
|
|
185
191
|
it('should generate a new ServiceHost', () => {
|
|
186
|
-
assert.instanceOf(
|
|
187
|
-
ServiceHost.polyGenerate(polyFixture),
|
|
188
|
-
ServiceHost
|
|
189
|
-
);
|
|
192
|
+
assert.instanceOf(ServiceHost.polyGenerate(polyFixture), ServiceHost);
|
|
190
193
|
});
|
|
191
194
|
});
|
|
192
195
|
|