@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
@@ -12,99 +12,145 @@ describe('webex-core', () => {
12
12
  describe('WebexUserAgentInterceptor', () => {
13
13
  describe('#onRequest', () => {
14
14
  it('adds a basic spark-user-agent header', () => {
15
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
16
- version: pkg.version
17
- }, []);
15
+ const interceptor = Reflect.apply(
16
+ WebexUserAgentInterceptor.create,
17
+ {
18
+ version: pkg.version,
19
+ },
20
+ []
21
+ );
18
22
  const options = {headers: {}};
19
23
 
20
24
  interceptor.onRequest(options);
21
25
 
22
26
  assert.property(options, 'headers');
23
27
  assert.property(options.headers, 'spark-user-agent');
24
- assert.equal(options.headers['spark-user-agent'], `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`);
28
+ assert.equal(
29
+ options.headers['spark-user-agent'],
30
+ `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
31
+ );
25
32
  });
26
33
 
27
34
  it('adds a complex spark-user-agent header', () => {
28
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
29
- version: pkg.version
30
- }, []);
35
+ const interceptor = Reflect.apply(
36
+ WebexUserAgentInterceptor.create,
37
+ {
38
+ version: pkg.version,
39
+ },
40
+ []
41
+ );
31
42
  const options = {headers: {}};
32
43
 
33
44
  interceptor.onRequest(options);
34
45
 
35
46
  assert.property(options, 'headers');
36
47
  assert.property(options.headers, 'spark-user-agent');
37
- assert.equal(options.headers['spark-user-agent'], `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`);
48
+ assert.equal(
49
+ options.headers['spark-user-agent'],
50
+ `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
51
+ );
38
52
  });
39
53
 
40
54
  it('adds a spark-user-agent header using appName/appVersion from config', () => {
41
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
42
- version: pkg.version,
43
- config: {
44
- appName: 'sample',
45
- appVersion: '1.0.0'
46
- }
47
- }, []);
55
+ const interceptor = Reflect.apply(
56
+ WebexUserAgentInterceptor.create,
57
+ {
58
+ version: pkg.version,
59
+ config: {
60
+ appName: 'sample',
61
+ appVersion: '1.0.0',
62
+ },
63
+ },
64
+ []
65
+ );
48
66
 
49
67
  const options = {
50
- headers: {}
68
+ headers: {},
51
69
  };
52
70
 
53
71
  interceptor.onRequest(options);
54
72
 
55
73
  assert.property(options, 'headers');
56
74
  assert.property(options.headers, 'spark-user-agent');
57
- assert.equal(options.headers['spark-user-agent'], `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'}) sample/1.0.0`);
75
+ assert.equal(
76
+ options.headers['spark-user-agent'],
77
+ `webex-js-sdk/${pkg.version} (${
78
+ typeof window === 'undefined' ? 'node' : 'web'
79
+ }) sample/1.0.0`
80
+ );
58
81
  });
59
82
 
60
83
  it('adds a spark-user-agent header using appName/appVersion + appPlatform from config', () => {
61
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
62
- version: pkg.version,
63
- config: {
64
- appName: 'sample',
65
- appVersion: '1.0.0',
66
- appPlatform: 'custom-label/1.0.0'
67
- }
68
- }, []);
84
+ const interceptor = Reflect.apply(
85
+ WebexUserAgentInterceptor.create,
86
+ {
87
+ version: pkg.version,
88
+ config: {
89
+ appName: 'sample',
90
+ appVersion: '1.0.0',
91
+ appPlatform: 'custom-label/1.0.0',
92
+ },
93
+ },
94
+ []
95
+ );
69
96
 
70
97
  const options = {
71
- headers: {}
98
+ headers: {},
72
99
  };
73
100
 
74
101
  interceptor.onRequest(options);
75
102
 
76
103
  assert.property(options, 'headers');
77
104
  assert.property(options.headers, 'spark-user-agent');
78
- assert.equal(options.headers['spark-user-agent'], `webex-js-sdk/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'}) sample/1.0.0 custom-label/1.0.0`);
105
+ assert.equal(
106
+ options.headers['spark-user-agent'],
107
+ `webex-js-sdk/${pkg.version} (${
108
+ typeof window === 'undefined' ? 'node' : 'web'
109
+ }) sample/1.0.0 custom-label/1.0.0`
110
+ );
79
111
  });
80
112
 
81
113
  describe('when consumed by the webex package', () => {
82
114
  it('adds a basic spark-user-agent header using "webex" instead of "webex-js-sdk"', () => {
83
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
84
- webex: true,
85
- version: pkg.version
86
- }, []);
115
+ const interceptor = Reflect.apply(
116
+ WebexUserAgentInterceptor.create,
117
+ {
118
+ webex: true,
119
+ version: pkg.version,
120
+ },
121
+ []
122
+ );
87
123
  const options = {headers: {}};
88
124
 
89
125
  interceptor.onRequest(options);
90
126
 
91
127
  assert.property(options, 'headers');
92
128
  assert.property(options.headers, 'spark-user-agent');
93
- assert.equal(options.headers['spark-user-agent'], `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`);
129
+ assert.equal(
130
+ options.headers['spark-user-agent'],
131
+ `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
132
+ );
94
133
  });
95
134
 
96
135
  it('adds a complex spark-user-agent header using "webex" instead of "webex-js-sdk"', () => {
97
- const interceptor = Reflect.apply(WebexUserAgentInterceptor.create, {
98
- webex: true,
99
- version: pkg.version
100
- }, []);
136
+ const interceptor = Reflect.apply(
137
+ WebexUserAgentInterceptor.create,
138
+ {
139
+ webex: true,
140
+ version: pkg.version,
141
+ },
142
+ []
143
+ );
101
144
  const options = {headers: {}};
102
145
 
103
146
  interceptor.onRequest(options);
104
147
 
105
148
  assert.property(options, 'headers');
106
149
  assert.property(options.headers, 'spark-user-agent');
107
- assert.equal(options.headers['spark-user-agent'], `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`);
150
+ assert.equal(
151
+ options.headers['spark-user-agent'],
152
+ `webex/${pkg.version} (${typeof window === 'undefined' ? 'node' : 'web'})`
153
+ );
108
154
  });
109
155
  });
110
156
  });
@@ -28,7 +28,7 @@ describe('webex-core', () => {
28
28
  return webex.request({
29
29
  service: 'mock',
30
30
  resource: '/batch',
31
- body: payload
31
+ body: payload,
32
32
  });
33
33
  },
34
34
  fingerprintRequest(req) {
@@ -36,7 +36,7 @@ describe('webex-core', () => {
36
36
  },
37
37
  fingerprintResponse(res) {
38
38
  return Promise.resolve(res);
39
- }
39
+ },
40
40
  });
41
41
 
42
42
  const OutOfBandBatcher = MockBatcher.extend({
@@ -49,7 +49,7 @@ describe('webex-core', () => {
49
49
  },
50
50
  fingerprintResponse(res) {
51
51
  return Promise.resolve(res.id);
52
- }
52
+ },
53
53
  });
54
54
 
55
55
  const BATCHER_MAX_CALLS = 10;
@@ -60,14 +60,14 @@ describe('webex-core', () => {
60
60
  webex = new MockWebex({
61
61
  children: {
62
62
  batcher: MockBatcher,
63
- outOfBandBatcher: OutOfBandBatcher
64
- }
63
+ outOfBandBatcher: OutOfBandBatcher,
64
+ },
65
65
  });
66
66
 
67
67
  webex.config.mock = {
68
68
  batcherMaxCalls: BATCHER_MAX_CALLS,
69
69
  batcherWait: BATCHER_WAIT,
70
- batcherMaxWait: BATCHER_MAX_WAIT
70
+ batcherMaxWait: BATCHER_MAX_WAIT,
71
71
  };
72
72
  });
73
73
 
@@ -96,7 +96,6 @@ describe('webex-core', () => {
96
96
  promises.push(webex.internal.batcher.request(2));
97
97
  assert.notCalled(webex.request);
98
98
 
99
-
100
99
  return promiseTick(50)
101
100
  .then(() => {
102
101
  clock.tick(1);
@@ -130,7 +129,9 @@ describe('webex-core', () => {
130
129
  it('propagates error from inside the call chain', () => {
131
130
  // This is way easier to prove if we don't need to control the clock
132
131
  clock.uninstall();
133
- sinon.stub(webex.internal.batcher, 'fingerprintResponse').throws(new Error('simulated failure'));
132
+ sinon
133
+ .stub(webex.internal.batcher, 'fingerprintResponse')
134
+ .throws(new Error('simulated failure'));
134
135
  webex.request.returns(Promise.resolve({body: [{id: 1}]}));
135
136
 
136
137
  return assert.isRejected(webex.internal.batcher.request({id: 1}), /simulated failure/);
@@ -150,10 +151,7 @@ describe('webex-core', () => {
150
151
  .then(() => {
151
152
  assert.calledOnce(webex.request);
152
153
 
153
- return Promise.all([
154
- assert.isRejected(p1),
155
- assert.isRejected(p2)
156
- ]);
154
+ return Promise.all([assert.isRejected(p1), assert.isRejected(p2)]);
157
155
  });
158
156
  });
159
157
  });
@@ -208,12 +206,17 @@ describe('webex-core', () => {
208
206
  webex.request.returns(Promise.resolve({body: result}));
209
207
  webex.request.onCall(1).returns(Promise.resolve({body: []}));
210
208
 
211
- return result.reduce((promise, i) => promise.then(() => {
212
- promises.push(webex.internal.batcher.request(i));
213
- clock.tick(1);
214
-
215
- return promiseTick(50);
216
- }), Promise.resolve())
209
+ return result
210
+ .reduce(
211
+ (promise, i) =>
212
+ promise.then(() => {
213
+ promises.push(webex.internal.batcher.request(i));
214
+ clock.tick(1);
215
+
216
+ return promiseTick(50);
217
+ }),
218
+ Promise.resolve()
219
+ )
217
220
  .then(() => {
218
221
  assert.calledOnce(webex.request);
219
222
 
@@ -253,13 +256,12 @@ describe('webex-core', () => {
253
256
  promises.push(webex.internal.batcher.request(i));
254
257
  }
255
258
 
256
- return Promise.all(promises)
257
- .then((results) => {
258
- assert.calledTwice(webex.request);
259
- assert.lengthOf(webex.request.args[0][0].body, BATCHER_MAX_CALLS);
260
- assert.lengthOf(webex.request.args[1][0].body, BATCHER_MAX_CALLS);
261
- assert.lengthOf(results, BATCHER_MAX_CALLS * 2);
262
- });
259
+ return Promise.all(promises).then((results) => {
260
+ assert.calledTwice(webex.request);
261
+ assert.lengthOf(webex.request.args[0][0].body, BATCHER_MAX_CALLS);
262
+ assert.lengthOf(webex.request.args[1][0].body, BATCHER_MAX_CALLS);
263
+ assert.lengthOf(results, BATCHER_MAX_CALLS * 2);
264
+ });
263
265
  });
264
266
  });
265
267
  });
@@ -268,7 +270,6 @@ describe('webex-core', () => {
268
270
  it('returns the same result', () => {
269
271
  webex.request.returns(Promise.resolve({body: [1]}));
270
272
 
271
-
272
273
  const p1 = webex.internal.batcher.request(1);
273
274
  const p2 = webex.internal.batcher.request(1);
274
275
 
@@ -285,16 +286,15 @@ describe('webex-core', () => {
285
286
  assert.deepEqual(webex.request.args[0][0], {
286
287
  service: 'mock',
287
288
  resource: '/batch',
288
- body: [1]
289
+ body: [1],
289
290
  });
290
291
 
291
- return promise
292
- .then((result) => assert.deepEqual(result, [1, 1]));
292
+ return promise.then((result) => assert.deepEqual(result, [1, 1]));
293
293
  });
294
294
  });
295
295
  });
296
296
 
297
- describe('when it\'s overridden to handle out-of-band responses', () => {
297
+ describe("when it's overridden to handle out-of-band responses", () => {
298
298
  it('resolves as expected', () => {
299
299
  sinon.spy(webex.internal.outOfBandBatcher, 'fingerprintResponse');
300
300
  const promise = webex.internal.outOfBandBatcher.request({id: 1});
@@ -312,7 +312,7 @@ describe('webex-core', () => {
312
312
  .then((res) => {
313
313
  assert.deepEqual(res, {
314
314
  id: 1,
315
- data: 2
315
+ data: 2,
316
316
  });
317
317
  });
318
318
  });
@@ -320,7 +320,11 @@ describe('webex-core', () => {
320
320
  });
321
321
 
322
322
  describe('#handleHttpError()', () => {
323
- it('handles a non WebexHttpError object passed', () => assert.isRejected(webex.internal.batcher.handleHttpError('simulated failure'), /simulated failure/));
323
+ it('handles a non WebexHttpError object passed', () =>
324
+ assert.isRejected(
325
+ webex.internal.batcher.handleHttpError('simulated failure'),
326
+ /simulated failure/
327
+ ));
324
328
  });
325
329
  });
326
330
  });
@@ -15,11 +15,11 @@ describe('webex-core', () => {
15
15
  sinon.stub(Page, 'parseLinkHeaders');
16
16
  const response = {
17
17
  body: {
18
- items: [1, 2, 3]
18
+ items: [1, 2, 3],
19
19
  },
20
20
  headers: {
21
- link: 'FakeHeaderLinks'
22
- }
21
+ link: 'FakeHeaderLinks',
22
+ },
23
23
  };
24
24
 
25
25
  page = new Page(response, 'FakeWebex');
@@ -47,22 +47,24 @@ describe('webex-core', () => {
47
47
 
48
48
  before(() => {
49
49
  webex = {
50
- request: sinon.stub().returns(Promise.resolve({
51
- body: {
52
- items: [4, 5, 6]
53
- },
54
- headers: {
55
- link: '<https://www.cisco.com>; rel=previous'
56
- }
57
- }))
50
+ request: sinon.stub().returns(
51
+ Promise.resolve({
52
+ body: {
53
+ items: [4, 5, 6],
54
+ },
55
+ headers: {
56
+ link: '<https://www.cisco.com>; rel=previous',
57
+ },
58
+ })
59
+ ),
58
60
  };
59
61
  const response = {
60
62
  body: {
61
- items: [1, 2, 3]
63
+ items: [1, 2, 3],
62
64
  },
63
65
  headers: {
64
- link: '<https://www.cisco.com>; rel=next'
65
- }
66
+ link: '<https://www.cisco.com>; rel=next',
67
+ },
66
68
  };
67
69
 
68
70
  page = new Page(response, webex);
@@ -72,8 +74,8 @@ describe('webex-core', () => {
72
74
  assert(page.hasNext());
73
75
  });
74
76
 
75
- it('retrieves previous link', () => page.next()
76
- .then((nextPage) => {
77
+ it('retrieves previous link', () =>
78
+ page.next().then((nextPage) => {
77
79
  assert.deepEqual(nextPage.items, [4, 5, 6]);
78
80
  assert.calledWith(webex.request, {uri: 'https://www.cisco.com'});
79
81
  }));
@@ -84,22 +86,24 @@ describe('webex-core', () => {
84
86
 
85
87
  before(() => {
86
88
  webex = {
87
- request: sinon.stub().returns(Promise.resolve({
88
- body: {
89
- items: [4, 5, 6]
90
- },
91
- headers: {
92
- link: '<https://www.cisco.com>; rel=previous'
93
- }
94
- }))
89
+ request: sinon.stub().returns(
90
+ Promise.resolve({
91
+ body: {
92
+ items: [4, 5, 6],
93
+ },
94
+ headers: {
95
+ link: '<https://www.cisco.com>; rel=previous',
96
+ },
97
+ })
98
+ ),
95
99
  };
96
100
  const response = {
97
101
  body: {
98
- items: [1, 2, 3]
102
+ items: [1, 2, 3],
99
103
  },
100
104
  headers: {
101
- link: '<https://www.cisco.com>; rel=previous'
102
- }
105
+ link: '<https://www.cisco.com>; rel=previous',
106
+ },
103
107
  };
104
108
 
105
109
  page = new Page(response, webex);
@@ -109,8 +113,8 @@ describe('webex-core', () => {
109
113
  assert(page.hasPrevious());
110
114
  });
111
115
 
112
- it('retrieves previous link', () => page.previous()
113
- .then((prevPage) => {
116
+ it('retrieves previous link', () =>
117
+ page.previous().then((prevPage) => {
114
118
  assert.deepEqual(prevPage.items, [4, 5, 6]);
115
119
  assert.calledWith(webex.request, {uri: 'https://www.cisco.com'});
116
120
  }));
@@ -120,7 +124,7 @@ describe('webex-core', () => {
120
124
  const singleLinkHeader = '<https://www.cisco.com>; rel=cisco';
121
125
  const multipleLinkHeader = [
122
126
  '<https://www.ciscospark.com>; rel=webex',
123
- '<https://www.cisco.com>; rel=cisco'
127
+ '<https://www.cisco.com>; rel=cisco',
124
128
  ];
125
129
 
126
130
  it('returns empty object if there are not any link headers', () => {
@@ -129,14 +133,14 @@ describe('webex-core', () => {
129
133
 
130
134
  it('returns object containing one link if only one link header passed as a string', () => {
131
135
  assert.deepEqual(Page.parseLinkHeaders(singleLinkHeader), {
132
- cisco: 'https://www.cisco.com'
136
+ cisco: 'https://www.cisco.com',
133
137
  });
134
138
  });
135
139
 
136
140
  it('returns object containing multiple links when multiple headers passed as an array', () => {
137
141
  assert.deepEqual(Page.parseLinkHeaders(multipleLinkHeader), {
138
142
  webex: 'https://www.ciscospark.com',
139
- cisco: 'https://www.cisco.com'
143
+ cisco: 'https://www.cisco.com',
140
144
  });
141
145
  });
142
146
  });
@@ -16,7 +16,7 @@ describe('webex-core', () => {
16
16
 
17
17
  /* eslint require-jsdoc: [0] */
18
18
  const MockPlugin = WebexPlugin.extend({
19
- namespace: 'mock'
19
+ namespace: 'mock',
20
20
  });
21
21
 
22
22
  describe('#config', () => {