@webex/internal-plugin-mercury 2.60.1-next.9 → 2.60.2

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.
@@ -32,13 +32,12 @@ describe('plugin-mercury', function () {
32
32
  );
33
33
 
34
34
  describe('onBeforeLogout()', () => {
35
- it('disconnects the web socket', () => {
35
+ it('disconnects the web socket', () =>
36
36
  webex.logout({noRedirect: true}).then(() => {
37
37
  assert.called(webex.internal.mercury.disconnect);
38
38
  assert.isFalse(webex.internal.mercury.connected);
39
39
  assert.called(webex.internal.device.unregister);
40
40
  assert.isFalse(webex.internal.device.registered);
41
- });
42
- });
41
+ }));
43
42
  });
44
43
  });
@@ -452,13 +452,11 @@ describe('plugin-mercury', () => {
452
452
  });
453
453
 
454
454
  describe.skip('#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();
455
+ it('disconnects the WebSocket', () => mercury.connect()
456
+ .then(() => {
457
+ assert.isTrue(mercury.connected, 'Mercury is connected');
458
+ assert.isFalse(mercury.connecting, 'Mercury is not connecting');
459
+ const promise = mercury.disconnect();
462
460
 
463
461
  mockWebSocket.emit('close', {
464
462
  code: 1000,
@@ -560,7 +558,7 @@ describe('plugin-mercury', () => {
560
558
  return promiseTick(webex.internal.mercury.config.backoffTimeReset).then(() => {
561
559
  assert.equal(
562
560
  reason.message,
563
- 'Mercury: prevent socket open when backoffCall no longer defined'
561
+ 'mercury: prevent socket open when backoffCall no longer defined'
564
562
  );
565
563
  });
566
564
  });
@@ -568,21 +566,12 @@ describe('plugin-mercury', () => {
568
566
  });
569
567
 
570
568
  describe('#_emit()', () => {
571
- it('emits Error-safe events and log the error with the call parameters', () => {
572
- const error = 'error';
573
- const event = {data: 'some data'};
569
+ it('emits Error-safe events', () => {
574
570
  mercury.on('break', () => {
575
- throw error;
571
+ throw new Error();
576
572
  });
577
- sinon.stub(mercury.logger, 'error');
578
573
 
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
- });
574
+ return Promise.resolve(mercury._emit('break'));
586
575
  });
587
576
  });
588
577
 
@@ -717,99 +706,4 @@ describe('plugin-mercury', () => {
717
706
  });
718
707
  });
719
708
  });
720
- describe('ping pong latency event is forwarded', () => {
721
- let clock, mercury, mockWebSocket, socketOpenStub, webex;
722
-
723
- const statusStartTypingMessage = JSON.stringify({
724
- id: uuid.v4(),
725
- data: {
726
- eventType: 'status.start_typing',
727
- actor: {
728
- id: 'actorId',
729
- },
730
- conversationId: uuid.v4(),
731
- },
732
- timestamp: Date.now(),
733
- trackingId: `suffix_${uuid.v4()}_${Date.now()}`,
734
- });
735
-
736
- beforeEach(() => {
737
- clock = FakeTimers.install({now: Date.now()});
738
- });
739
-
740
- afterEach(() => {
741
- clock.uninstall();
742
- });
743
-
744
- beforeEach(() => {
745
- webex = new MockWebex({
746
- children: {
747
- mercury: Mercury,
748
- },
749
- });
750
- webex.credentials = {
751
- refresh: sinon.stub().returns(Promise.resolve()),
752
- getUserToken: sinon.stub().returns(
753
- Promise.resolve({
754
- toString() {
755
- return 'Bearer FAKE';
756
- },
757
- })
758
- ),
759
- };
760
- webex.internal.device = {
761
- register: sinon.stub().returns(Promise.resolve()),
762
- refresh: sinon.stub().returns(Promise.resolve()),
763
- webSocketUrl: 'ws://example.com',
764
- getWebSocketUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),
765
- useServiceCatalogUrl: sinon
766
- .stub()
767
- .returns(Promise.resolve('https://service-catalog-url.com')),
768
- };
769
- webex.internal.services = {
770
- convertUrlToPriorityHostUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),
771
- markFailedUrl: sinon.stub().returns(Promise.resolve()),
772
- };
773
- webex.internal.metrics.submitClientMetrics = sinon.stub();
774
- webex.trackingId = 'fakeTrackingId';
775
- webex.config.mercury = mercuryConfig.mercury;
776
-
777
- webex.logger = console;
778
-
779
- mockWebSocket = new MockWebSocket();
780
- sinon.stub(Socket, 'getWebSocketConstructor').returns(() => mockWebSocket);
781
-
782
- const origOpen = Socket.prototype.open;
783
-
784
- socketOpenStub = sinon.stub(Socket.prototype, 'open').callsFake(function (...args) {
785
- const promise = Reflect.apply(origOpen, this, args);
786
-
787
- process.nextTick(() => mockWebSocket.open());
788
-
789
- return promise;
790
- });
791
-
792
- mercury = webex.internal.mercury;
793
- });
794
-
795
- afterEach(() => {
796
- if (socketOpenStub) {
797
- socketOpenStub.restore();
798
- }
799
-
800
- if (Socket.getWebSocketConstructor.restore) {
801
- Socket.getWebSocketConstructor.restore();
802
- }
803
- });
804
- it('should forward ping pong latency event', () => {
805
- const spy = sinon.spy();
806
-
807
- mercury.on('ping-pong-latency', spy);
808
-
809
- return mercury.connect().then(() => {
810
- assert.calledWith(spy, 0);
811
- assert.calledOnce(spy);
812
- });
813
- });
814
- });
815
709
  });
@@ -807,23 +807,6 @@ describe('plugin-mercury', () => {
807
807
  reason: 'Pong mismatch',
808
808
  });
809
809
  });
810
-
811
- it('emits ping pong latency correctly', () => {
812
- const spy = sinon.spy();
813
-
814
- socket.on('ping-pong-latency', spy);
815
-
816
- socket._ping(123);
817
- mockWebSocket.emit('message', {
818
- data: JSON.stringify({
819
- type: 'pong',
820
- id: 123,
821
- }),
822
- });
823
-
824
- assert.calledWith(spy, 0);
825
- assert.calledOnce(spy);
826
- });
827
810
  });
828
811
  });
829
812
  });