@webex/internal-plugin-mercury 3.0.0-beta.3 → 3.0.0-beta.300

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.
@@ -11,7 +11,7 @@ import Mercury, {
11
11
  // NotFound,
12
12
  config as mercuryConfig,
13
13
  ConnectionError,
14
- Socket
14
+ Socket,
15
15
  } from '@webex/internal-plugin-mercury';
16
16
  import sinon from 'sinon';
17
17
  import MockWebex from '@webex/test-helper-mock-webex';
@@ -24,23 +24,19 @@ import promiseTick from '../lib/promise-tick';
24
24
 
25
25
  describe('plugin-mercury', () => {
26
26
  describe('Mercury', () => {
27
- let clock,
28
- mercury,
29
- mockWebSocket,
30
- socketOpenStub,
31
- webex;
27
+ let clock, mercury, mockWebSocket, socketOpenStub, webex;
32
28
 
33
29
  const statusStartTypingMessage = JSON.stringify({
34
30
  id: uuid.v4(),
35
31
  data: {
36
32
  eventType: 'status.start_typing',
37
33
  actor: {
38
- id: 'actorId'
34
+ id: 'actorId',
39
35
  },
40
- conversationId: uuid.v4()
36
+ conversationId: uuid.v4(),
41
37
  },
42
38
  timestamp: Date.now(),
43
- trackingId: `suffix_${uuid.v4()}_${Date.now()}`
39
+ trackingId: `suffix_${uuid.v4()}_${Date.now()}`,
44
40
  });
45
41
 
46
42
  beforeEach(() => {
@@ -54,27 +50,31 @@ describe('plugin-mercury', () => {
54
50
  beforeEach(() => {
55
51
  webex = new MockWebex({
56
52
  children: {
57
- mercury: Mercury
58
- }
53
+ mercury: Mercury,
54
+ },
59
55
  });
60
56
  webex.credentials = {
61
57
  refresh: sinon.stub().returns(Promise.resolve()),
62
- getUserToken: sinon.stub().returns(Promise.resolve({
63
- toString() {
64
- return 'Bearer FAKE';
65
- }
66
- }))
58
+ getUserToken: sinon.stub().returns(
59
+ Promise.resolve({
60
+ toString() {
61
+ return 'Bearer FAKE';
62
+ },
63
+ })
64
+ ),
67
65
  };
68
66
  webex.internal.device = {
69
67
  register: sinon.stub().returns(Promise.resolve()),
70
68
  refresh: sinon.stub().returns(Promise.resolve()),
71
69
  webSocketUrl: 'ws://example.com',
72
70
  getWebSocketUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),
73
- useServiceCatalogUrl: sinon.stub().returns(Promise.resolve('https://service-catalog-url.com'))
71
+ useServiceCatalogUrl: sinon
72
+ .stub()
73
+ .returns(Promise.resolve('https://service-catalog-url.com')),
74
74
  };
75
75
  webex.internal.services = {
76
76
  convertUrlToPriorityHostUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),
77
- markFailedUrl: sinon.stub().returns(Promise.resolve())
77
+ markFailedUrl: sinon.stub().returns(Promise.resolve()),
78
78
  };
79
79
  webex.internal.metrics.submitClientMetrics = sinon.stub();
80
80
  webex.trackingId = 'fakeTrackingId';
@@ -132,10 +132,9 @@ describe('plugin-mercury', () => {
132
132
 
133
133
  mockWebSocket.open();
134
134
 
135
- return promise
136
- .then(() => {
137
- assert.calledOnce(webex.internal.device.register);
138
- });
135
+ return promise.then(() => {
136
+ assert.calledOnce(webex.internal.device.register);
137
+ });
139
138
  });
140
139
 
141
140
  it('connects to Mercury using default url', () => {
@@ -145,12 +144,11 @@ describe('plugin-mercury', () => {
145
144
  assert.isTrue(mercury.connecting, 'Mercury is connecting');
146
145
  mockWebSocket.open();
147
146
 
148
- return promise
149
- .then(() => {
150
- assert.isTrue(mercury.connected, 'Mercury is connected');
151
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
152
- assert.calledWith(socketOpenStub, sinon.match(/ws:\/\/example.com/), sinon.match.any);
153
- });
147
+ return promise.then(() => {
148
+ assert.isTrue(mercury.connected, 'Mercury is connected');
149
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
150
+ assert.calledWith(socketOpenStub, sinon.match(/ws:\/\/example.com/), sinon.match.any);
151
+ });
154
152
  });
155
153
 
156
154
  describe('when `maxRetries` is set', () => {
@@ -198,15 +196,14 @@ describe('plugin-mercury', () => {
198
196
  mercury.connect(),
199
197
  mercury.connect(),
200
198
  mercury.connect(),
201
- mercury.connect()
199
+ mercury.connect(),
202
200
  ]);
203
201
 
204
202
  mockWebSocket.open();
205
203
 
206
- return promise
207
- .then(() => {
208
- assert.calledOnce(Socket.prototype.open);
209
- });
204
+ return promise.then(() => {
205
+ assert.calledOnce(Socket.prototype.open);
206
+ });
210
207
  });
211
208
 
212
209
  // skipping due to apparent bug with lolex in all browsers but Chrome.
@@ -261,7 +258,9 @@ describe('plugin-mercury', () => {
261
258
  it('fails permanently', () => {
262
259
  clock.uninstall();
263
260
  socketOpenStub.restore();
264
- socketOpenStub = sinon.stub(Socket.prototype, 'open').returns(Promise.reject(new BadRequest({code: 4400})));
261
+ socketOpenStub = sinon
262
+ .stub(Socket.prototype, 'open')
263
+ .returns(Promise.reject(new BadRequest({code: 4400})));
265
264
 
266
265
  return assert.isRejected(mercury.connect());
267
266
  });
@@ -276,18 +275,16 @@ describe('plugin-mercury', () => {
276
275
  assert.notCalled(webex.internal.device.refresh);
277
276
  const promise = mercury.connect();
278
277
 
279
- return promiseTick(7)
280
- .then(() => {
281
- assert.notCalled(webex.credentials.refresh);
282
- assert.called(webex.internal.device.refresh);
283
- clock.tick(1000);
278
+ return promiseTick(7).then(() => {
279
+ assert.notCalled(webex.credentials.refresh);
280
+ assert.called(webex.internal.device.refresh);
281
+ clock.tick(1000);
284
282
 
285
- return promise;
286
- });
283
+ return promise;
284
+ });
287
285
  });
288
286
  });
289
287
 
290
-
291
288
  describe('with `NotAuthorized`', () => {
292
289
  it('triggers a token refresh', () => {
293
290
  socketOpenStub.restore();
@@ -297,14 +294,13 @@ describe('plugin-mercury', () => {
297
294
  assert.notCalled(webex.internal.device.refresh);
298
295
  const promise = mercury.connect();
299
296
 
300
- return promiseTick(7)
301
- .then(() => {
302
- assert.called(webex.credentials.refresh);
303
- assert.notCalled(webex.internal.device.refresh);
304
- clock.tick(1000);
297
+ return promiseTick(7).then(() => {
298
+ assert.called(webex.credentials.refresh);
299
+ assert.notCalled(webex.internal.device.refresh);
300
+ clock.tick(1000);
305
301
 
306
- return promise;
307
- });
302
+ return promise;
303
+ });
308
304
  });
309
305
  });
310
306
 
@@ -312,7 +308,9 @@ describe('plugin-mercury', () => {
312
308
  it('fails permanently', () => {
313
309
  clock.uninstall();
314
310
  socketOpenStub.restore();
315
- socketOpenStub = sinon.stub(Socket.prototype, 'open').returns(Promise.reject(new Forbidden({code: 4403})));
311
+ socketOpenStub = sinon
312
+ .stub(Socket.prototype, 'open')
313
+ .returns(Promise.reject(new Forbidden({code: 4403})));
316
314
 
317
315
  return assert.isRejected(mercury.connect());
318
316
  });
@@ -344,20 +342,19 @@ describe('plugin-mercury', () => {
344
342
  socketOpenStub.onCall(0).returns(Promise.reject(new ConnectionError({code: 4001})));
345
343
  const promise = mercury.connect();
346
344
 
347
- return promiseTick(7)
348
- .then(() => {
349
- assert.calledOnce(webex.internal.services.markFailedUrl);
350
- clock.tick(1000);
345
+ return promiseTick(7).then(() => {
346
+ assert.calledOnce(webex.internal.services.markFailedUrl);
347
+ clock.tick(1000);
351
348
 
352
- return promise;
353
- });
349
+ return promise;
350
+ });
354
351
  });
355
352
  });
356
353
  });
357
354
 
358
355
  describe('when connected', () => {
359
- it('resolves immediately', () => mercury.connect()
360
- .then(() => {
356
+ it('resolves immediately', () =>
357
+ mercury.connect().then(() => {
361
358
  assert.isTrue(mercury.connected, 'Mercury is connected');
362
359
  assert.isFalse(mercury.connecting, 'Mercury is not connecting');
363
360
  const promise = mercury.connect();
@@ -393,12 +390,15 @@ describe('plugin-mercury', () => {
393
390
  assert.isTrue(mercury.connecting, 'Mercury is connecting');
394
391
  mockWebSocket.open();
395
392
 
396
- return promise
397
- .then(() => {
398
- assert.isTrue(mercury.connected, 'Mercury is connected');
399
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
400
- assert.calledWith(Socket.prototype.open, sinon.match(/ws:\/\/providedurl.com/), sinon.match.any);
401
- });
393
+ return promise.then(() => {
394
+ assert.isTrue(mercury.connected, 'Mercury is connected');
395
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
396
+ assert.calledWith(
397
+ Socket.prototype.open,
398
+ sinon.match(/ws:\/\/providedurl.com/),
399
+ sinon.match.any
400
+ );
401
+ });
402
402
  });
403
403
  });
404
404
  });
@@ -418,13 +418,18 @@ describe('plugin-mercury', () => {
418
418
  assert.isTrue(mercury.connecting, 'Mercury is connecting');
419
419
  mockWebSocket.open();
420
420
 
421
- return promise
422
- .then(() => {
423
- assert.isTrue(mercury.connected, 'Mercury is connected');
424
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
425
- assert.calledWith(socketOpenStub, sinon.match(/ws:\/\/example.com/), sinon.match.has('agent',
426
- sinon.match.has('proxy', sinon.match.has('href', testProxyUrl))));
427
- });
421
+ return promise.then(() => {
422
+ assert.isTrue(mercury.connected, 'Mercury is connected');
423
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
424
+ assert.calledWith(
425
+ socketOpenStub,
426
+ sinon.match(/ws:\/\/example.com/),
427
+ sinon.match.has(
428
+ 'agent',
429
+ sinon.match.has('proxy', sinon.match.has('href', testProxyUrl))
430
+ )
431
+ );
432
+ });
428
433
  });
429
434
 
430
435
  it('connects to Mercury without proxy agent', () => {
@@ -434,41 +439,47 @@ describe('plugin-mercury', () => {
434
439
  assert.isTrue(mercury.connecting, 'Mercury is connecting');
435
440
  mockWebSocket.open();
436
441
 
437
- return promise
438
- .then(() => {
439
- assert.isTrue(mercury.connected, 'Mercury is connected');
440
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
441
- assert.calledWith(socketOpenStub, sinon.match(/ws:\/\/example.com/), sinon.match({agent: undefined}));
442
- });
442
+ return promise.then(() => {
443
+ assert.isTrue(mercury.connected, 'Mercury is connected');
444
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
445
+ assert.calledWith(
446
+ socketOpenStub,
447
+ sinon.match(/ws:\/\/example.com/),
448
+ sinon.match({agent: undefined})
449
+ );
450
+ });
443
451
  });
444
452
  });
445
453
 
446
454
  describe('#disconnect()', () => {
447
- it('disconnects the WebSocket', () => mercury.connect()
448
- .then(() => {
449
- assert.isTrue(mercury.connected, 'Mercury is connected');
450
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
451
- const promise = mercury.disconnect();
455
+ it('disconnects the WebSocket', () =>
456
+ mercury
457
+ .connect()
458
+ .then(() => {
459
+ assert.isTrue(mercury.connected, 'Mercury is connected');
460
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
461
+ const promise = mercury.disconnect();
452
462
 
453
- mockWebSocket.emit('close', {
454
- code: 1000,
455
- reason: 'Done'
456
- });
463
+ mockWebSocket.emit('close', {
464
+ code: 1000,
465
+ reason: 'Done',
466
+ });
457
467
 
458
- return promise;
459
- })
460
- .then(() => {
461
- assert.isFalse(mercury.connected, 'Mercury is not connected');
462
- assert.isFalse(mercury.connecting, 'Mercury is not connecting');
463
- assert.isUndefined(mercury.mockWebSocket, 'Mercury does not have a mockWebSocket');
464
- }));
468
+ return promise;
469
+ })
470
+ .then(() => {
471
+ assert.isFalse(mercury.connected, 'Mercury is not connected');
472
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
473
+ assert.isUndefined(mercury.mockWebSocket, 'Mercury does not have a mockWebSocket');
474
+ }));
465
475
 
466
476
  it('stops emitting message events', () => {
467
477
  const spy = sinon.spy();
468
478
 
469
479
  mercury.on('event:status.start_typing', spy);
470
480
 
471
- return mercury.connect()
481
+ return mercury
482
+ .connect()
472
483
  .then(() => {
473
484
  assert.isTrue(mercury.connected, 'Mercury is connected');
474
485
  assert.isFalse(mercury.connecting, 'Mercury is not connecting');
@@ -488,7 +499,7 @@ describe('plugin-mercury', () => {
488
499
  mockWebSocket.emit('message', {data: statusStartTypingMessage});
489
500
  mockWebSocket.emit('close', {
490
501
  code: 1000,
491
- reason: 'Done'
502
+ reason: 'Done',
492
503
  });
493
504
  mockWebSocket.emit('message', {data: statusStartTypingMessage});
494
505
 
@@ -511,28 +522,27 @@ describe('plugin-mercury', () => {
511
522
  // Delay the opening of the socket so that disconnect is called while open
512
523
  // is in progress
513
524
  promiseTick(2 * webex.internal.mercury.config.backoffTimeReset)
514
- // Pretend the socket opened successfully. Failing should be fine too but
515
- // it generates more console output.
525
+ // Pretend the socket opened successfully. Failing should be fine too but
526
+ // it generates more console output.
516
527
  .then(() => Promise.resolve())
517
528
  );
518
529
  const promise = mercury.connect();
519
530
 
520
531
  // Wait for the connect call to setup
521
- return promiseTick(webex.internal.mercury.config.backoffTimeReset)
522
- .then(() => {
523
- // By this time backoffCall and mercury socket should be defined by the
524
- // 'connect' call
525
- assert.isDefined(mercury.backoffCall, 'Mercury backoffCall is not defined');
526
- assert.isDefined(mercury.socket, 'Mercury socket is not defined');
527
- // Calling disconnect will abort the backoffCall, close the socket, and
528
- // reject the connect
529
- mercury.disconnect();
530
- assert.isUndefined(mercury.backoffCall, 'Mercury backoffCall is still defined');
531
- // The socket will never be unset (which seems bad)
532
- assert.isDefined(mercury.socket, 'Mercury socket is not defined');
533
-
534
- return assert.isRejected(promise);
535
- });
532
+ return promiseTick(webex.internal.mercury.config.backoffTimeReset).then(() => {
533
+ // By this time backoffCall and mercury socket should be defined by the
534
+ // 'connect' call
535
+ assert.isDefined(mercury.backoffCall, 'Mercury backoffCall is not defined');
536
+ assert.isDefined(mercury.socket, 'Mercury socket is not defined');
537
+ // Calling disconnect will abort the backoffCall, close the socket, and
538
+ // reject the connect
539
+ mercury.disconnect();
540
+ assert.isUndefined(mercury.backoffCall, 'Mercury backoffCall is still defined');
541
+ // The socket will never be unset (which seems bad)
542
+ assert.isDefined(mercury.socket, 'Mercury socket is not defined');
543
+
544
+ return assert.isRejected(promise);
545
+ });
536
546
  });
537
547
 
538
548
  it('stops the attempt when backoffCall is undefined', () => {
@@ -547,21 +557,32 @@ describe('plugin-mercury', () => {
547
557
  reason = _reason;
548
558
  });
549
559
 
550
- return promiseTick(webex.internal.mercury.config.backoffTimeReset)
551
- .then(() => {
552
- assert.equal(reason.message, 'mercury: prevent socket open when backoffCall no longer defined');
553
- });
560
+ return promiseTick(webex.internal.mercury.config.backoffTimeReset).then(() => {
561
+ assert.equal(
562
+ reason.message,
563
+ 'Mercury: prevent socket open when backoffCall no longer defined'
564
+ );
565
+ });
554
566
  });
555
567
  });
556
568
  });
557
569
 
558
570
  describe('#_emit()', () => {
559
- it('emits Error-safe events', () => {
571
+ it('emits Error-safe events and log the error with the call parameters', () => {
572
+ const error = 'error';
573
+ const event = {data: 'some data'};
560
574
  mercury.on('break', () => {
561
- throw new Error();
575
+ throw error;
562
576
  });
577
+ sinon.stub(mercury.logger, 'error');
563
578
 
564
- return Promise.resolve(mercury._emit('break'));
579
+ return Promise.resolve(mercury._emit('break', event)).then((res) => {
580
+ assert.calledWith(mercury.logger.error, 'Mercury: error occurred in event handler', {
581
+ error,
582
+ arguments: ['break', event],
583
+ });
584
+ return res;
585
+ });
565
586
  });
566
587
  });
567
588
 
@@ -572,11 +593,11 @@ describe('plugin-mercury', () => {
572
593
  it('merges a single header field with data', () => {
573
594
  const envelope = {
574
595
  headers: {
575
- 'data.activity.target.lastSeenActivityDate': lastSeenActivityDate
596
+ 'data.activity.target.lastSeenActivityDate': lastSeenActivityDate,
576
597
  },
577
598
  data: {
578
- activity: {}
579
- }
599
+ activity: {},
600
+ },
580
601
  };
581
602
 
582
603
  mercury._applyOverrides(envelope);
@@ -588,27 +609,30 @@ describe('plugin-mercury', () => {
588
609
  const envelope = {
589
610
  headers: {
590
611
  'data.activity.target.lastSeenActivityDate': lastSeenActivityDate,
591
- 'data.activity.target.lastReadableActivityDate': lastReadableActivityDate
612
+ 'data.activity.target.lastReadableActivityDate': lastReadableActivityDate,
592
613
  },
593
614
  data: {
594
- activity: {}
595
- }
615
+ activity: {},
616
+ },
596
617
  };
597
618
 
598
619
  mercury._applyOverrides(envelope);
599
620
 
600
621
  assert.equal(envelope.data.activity.target.lastSeenActivityDate, lastSeenActivityDate);
601
- assert.equal(envelope.data.activity.target.lastReadableActivityDate, lastReadableActivityDate);
622
+ assert.equal(
623
+ envelope.data.activity.target.lastReadableActivityDate,
624
+ lastReadableActivityDate
625
+ );
602
626
  });
603
627
 
604
628
  it('merges headers when Mercury messages arrive', () => {
605
629
  const envelope = {
606
630
  headers: {
607
- 'data.activity.target.lastSeenActivityDate': lastSeenActivityDate
631
+ 'data.activity.target.lastSeenActivityDate': lastSeenActivityDate,
608
632
  },
609
633
  data: {
610
- activity: {}
611
- }
634
+ activity: {},
635
+ },
612
636
  };
613
637
 
614
638
  mercury._applyOverrides(envelope);
@@ -622,19 +646,24 @@ describe('plugin-mercury', () => {
622
646
  webex.internal.device.webSocketUrl = 'ws://example.com';
623
647
  });
624
648
 
625
- it('uses device default webSocketUrl', () => webex.internal.mercury._prepareUrl()
626
- .then((wsUrl) => assert.match(wsUrl, /example.com/)));
627
- it('uses provided webSocketUrl', () => webex.internal.mercury._prepareUrl('ws://provided.com')
628
- .then((wsUrl) => assert.match(wsUrl, /provided.com/)));
629
- it('requests text-mode WebSockets', () => webex.internal.mercury._prepareUrl()
630
- .then((wsUrl) => assert.match(wsUrl, /outboundWireFormat=text/)));
631
-
632
- it('requests the buffer state message', () => webex.internal.mercury._prepareUrl()
633
- .then((wsUrl) => assert.match(wsUrl, /bufferStates=true/)));
634
-
635
-
636
- it('does not add conditional properties', () => webex.internal.mercury._prepareUrl()
637
- .then((wsUrl) => {
649
+ it('uses device default webSocketUrl', () =>
650
+ webex.internal.mercury._prepareUrl().then((wsUrl) => assert.match(wsUrl, /example.com/)));
651
+ it('uses provided webSocketUrl', () =>
652
+ webex.internal.mercury
653
+ ._prepareUrl('ws://provided.com')
654
+ .then((wsUrl) => assert.match(wsUrl, /provided.com/)));
655
+ it('requests text-mode WebSockets', () =>
656
+ webex.internal.mercury
657
+ ._prepareUrl()
658
+ .then((wsUrl) => assert.match(wsUrl, /outboundWireFormat=text/)));
659
+
660
+ it('requests the buffer state message', () =>
661
+ webex.internal.mercury
662
+ ._prepareUrl()
663
+ .then((wsUrl) => assert.match(wsUrl, /bufferStates=true/)));
664
+
665
+ it('does not add conditional properties', () =>
666
+ webex.internal.mercury._prepareUrl().then((wsUrl) => {
638
667
  assert.notMatch(wsUrl, /mercuryRegistrationStatus/);
639
668
  assert.notMatch(wsUrl, /mercuryRegistrationStatus/);
640
669
  assert.notMatch(wsUrl, /isRegistrationRefreshEnabled/);
@@ -643,27 +672,34 @@ describe('plugin-mercury', () => {
643
672
 
644
673
  describe('when web-high-availability is enabled', () => {
645
674
  it('uses webSocketUrl provided by device', () => {
646
- webex.internal.device.useServiceCatalogUrl = sinon.stub().returns(Promise.resolve('ws://example-2.com'));
675
+ webex.internal.device.useServiceCatalogUrl = sinon
676
+ .stub()
677
+ .returns(Promise.resolve('ws://example-2.com'));
647
678
  webex.internal.feature.getFeature.onCall(0).returns(Promise.resolve(true));
648
679
 
649
- return webex.internal.mercury._prepareUrl()
680
+ return webex.internal.mercury
681
+ ._prepareUrl()
650
682
  .then((wsUrl) => assert.match(wsUrl, /example-2.com/));
651
683
  });
652
684
  });
653
685
 
654
- describe('when \'web-shared-socket\' is enabled', () => {
686
+ describe("when 'web-shared-socket' is enabled", () => {
655
687
  beforeEach(() => {
656
688
  webex.internal.feature.getFeature.returns(Promise.resolve(true));
657
689
  });
658
690
 
659
- it('requests shared socket support', () => webex.internal.mercury._prepareUrl()
660
- .then((wsUrl) => assert.match(wsUrl, /isRegistrationRefreshEnabled=true/)));
691
+ it('requests shared socket support', () =>
692
+ webex.internal.mercury
693
+ ._prepareUrl()
694
+ .then((wsUrl) => assert.match(wsUrl, /isRegistrationRefreshEnabled=true/)));
661
695
 
662
- it('requests the registration banner', () => webex.internal.mercury._prepareUrl()
663
- .then((wsUrl) => assert.match(wsUrl, /mercuryRegistrationStatus=true/)));
696
+ it('requests the registration banner', () =>
697
+ webex.internal.mercury
698
+ ._prepareUrl()
699
+ .then((wsUrl) => assert.match(wsUrl, /mercuryRegistrationStatus=true/)));
664
700
 
665
- it('does not request the buffer state message', () => webex.internal.mercury._prepareUrl()
666
- .then((wsUrl) => {
701
+ it('does not request the buffer state message', () =>
702
+ webex.internal.mercury._prepareUrl().then((wsUrl) => {
667
703
  assert.match(wsUrl, /mercuryRegistrationStatus=true/);
668
704
  assert.notMatch(wsUrl, /bufferStates/);
669
705
  }));
@@ -674,8 +710,10 @@ describe('plugin-mercury', () => {
674
710
  webex.config.device.ephemeral = true;
675
711
  });
676
712
 
677
- it('indicates multiple connections may be coming from this user', () => webex.internal.mercury._prepareUrl()
678
- .then((wsUrl) => assert.match(wsUrl, /multipleConnections/)));
713
+ it('indicates multiple connections may be coming from this user', () =>
714
+ webex.internal.mercury
715
+ ._prepareUrl()
716
+ .then((wsUrl) => assert.match(wsUrl, /multipleConnections/)));
679
717
  });
680
718
  });
681
719
  });