@webex/calling 3.12.0-next.6 → 3.12.0-next.61

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 (255) hide show
  1. package/dist/CallRecording/CallRecording.js +158 -0
  2. package/dist/CallRecording/CallRecording.js.map +1 -0
  3. package/dist/CallRecording/CallRecording.test.js +257 -0
  4. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  5. package/dist/CallRecording/WxcCallRecordingConnector.js +576 -0
  6. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  7. package/dist/CallRecording/WxcCallRecordingConnector.test.js +651 -0
  8. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  9. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  10. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  11. package/dist/CallRecording/constants.js +49 -0
  12. package/dist/CallRecording/constants.js.map +1 -0
  13. package/dist/CallRecording/types.js +136 -0
  14. package/dist/CallRecording/types.js.map +1 -0
  15. package/dist/CallRecording/utils.js +42 -0
  16. package/dist/CallRecording/utils.js.map +1 -0
  17. package/dist/CallRecording/utils.test.js +97 -0
  18. package/dist/CallRecording/utils.test.js.map +1 -0
  19. package/dist/CallingClient/CallingClient.js +454 -224
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +513 -154
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +589 -445
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +695 -445
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +81 -31
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +123 -0
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/calling/types.js +2 -0
  32. package/dist/CallingClient/calling/types.js.map +1 -1
  33. package/dist/CallingClient/constants.js +28 -3
  34. package/dist/CallingClient/constants.js.map +1 -1
  35. package/dist/CallingClient/line/index.js +4 -1
  36. package/dist/CallingClient/line/index.js.map +1 -1
  37. package/dist/CallingClient/line/line.test.js +16 -1
  38. package/dist/CallingClient/line/line.test.js.map +1 -1
  39. package/dist/CallingClient/registration/register.js +724 -407
  40. package/dist/CallingClient/registration/register.js.map +1 -1
  41. package/dist/CallingClient/registration/register.test.js +380 -58
  42. package/dist/CallingClient/registration/register.test.js.map +1 -1
  43. package/dist/CallingClient/registration/types.js.map +1 -1
  44. package/dist/CallingClient/registration/webWorker.js +41 -104
  45. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  47. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  48. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  49. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  50. package/dist/CallingClient/types.js.map +1 -1
  51. package/dist/CallingClient/utils/constants.js +58 -0
  52. package/dist/CallingClient/utils/constants.js.map +1 -0
  53. package/dist/CallingClient/utils/index.js +63 -0
  54. package/dist/CallingClient/utils/index.js.map +1 -0
  55. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  56. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  57. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
  58. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  59. package/dist/CallingClient/utils/request.js +435 -0
  60. package/dist/CallingClient/utils/request.js.map +1 -0
  61. package/dist/CallingClient/utils/request.test.js +999 -0
  62. package/dist/CallingClient/utils/request.test.js.map +1 -0
  63. package/dist/CallingClient/utils/types.js +7 -0
  64. package/dist/CallingClient/utils/types.js.map +1 -0
  65. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  66. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  67. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  68. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  69. package/dist/Contacts/ContactsClient.js +13 -11
  70. package/dist/Contacts/ContactsClient.js.map +1 -1
  71. package/dist/Contacts/ContactsClient.test.js +3 -8
  72. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  73. package/dist/Events/types.js +38 -11
  74. package/dist/Events/types.js.map +1 -1
  75. package/dist/Metrics/index.js +63 -2
  76. package/dist/Metrics/index.js.map +1 -1
  77. package/dist/Metrics/index.test.js +357 -1
  78. package/dist/Metrics/index.test.js.map +1 -1
  79. package/dist/Metrics/types.js +19 -1
  80. package/dist/Metrics/types.js.map +1 -1
  81. package/dist/SDKConnector/types.js.map +1 -1
  82. package/dist/api.js +56 -0
  83. package/dist/api.js.map +1 -1
  84. package/dist/common/Utils.js +156 -51
  85. package/dist/common/Utils.js.map +1 -1
  86. package/dist/common/Utils.test.js +79 -0
  87. package/dist/common/Utils.test.js.map +1 -1
  88. package/dist/common/testUtil.js +10 -5
  89. package/dist/common/testUtil.js.map +1 -1
  90. package/dist/common/types.js +3 -0
  91. package/dist/common/types.js.map +1 -1
  92. package/dist/index.js +165 -40
  93. package/dist/index.js.map +1 -1
  94. package/dist/mobius-socket/config.js +24 -0
  95. package/dist/mobius-socket/config.js.map +1 -0
  96. package/dist/mobius-socket/errors.js +143 -0
  97. package/dist/mobius-socket/errors.js.map +1 -0
  98. package/dist/mobius-socket/errors.test.js +20 -0
  99. package/dist/mobius-socket/errors.test.js.map +1 -0
  100. package/dist/mobius-socket/index.js +57 -0
  101. package/dist/mobius-socket/index.js.map +1 -0
  102. package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
  103. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  104. package/dist/mobius-socket/mobius-socket.js +849 -0
  105. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  106. package/dist/mobius-socket/mobius-socket.test.js +1898 -0
  107. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  108. package/dist/mobius-socket/socket/constants.js +55 -0
  109. package/dist/mobius-socket/socket/constants.js.map +1 -0
  110. package/dist/mobius-socket/socket/index.js +15 -0
  111. package/dist/mobius-socket/socket/index.js.map +1 -0
  112. package/dist/mobius-socket/socket/socket-base.js +604 -0
  113. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  114. package/dist/mobius-socket/socket/socket.js +19 -0
  115. package/dist/mobius-socket/socket/socket.js.map +1 -0
  116. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  117. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  118. package/dist/mobius-socket/socket/types.js +7 -0
  119. package/dist/mobius-socket/socket/types.js.map +1 -0
  120. package/dist/mobius-socket/socket.test.js +727 -0
  121. package/dist/mobius-socket/socket.test.js.map +1 -0
  122. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  123. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  124. package/dist/mobius-socket/test/promise-tick.js +28 -0
  125. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  126. package/dist/mobius-socket/types.js +7 -0
  127. package/dist/mobius-socket/types.js.map +1 -0
  128. package/dist/module/CallRecording/CallRecording.js +56 -0
  129. package/dist/module/CallRecording/WxcCallRecordingConnector.js +264 -0
  130. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  131. package/dist/module/CallRecording/constants.js +27 -0
  132. package/dist/module/CallRecording/types.js +19 -0
  133. package/dist/module/CallRecording/utils.js +14 -0
  134. package/dist/module/CallingClient/CallingClient.js +126 -10
  135. package/dist/module/CallingClient/calling/call.js +177 -61
  136. package/dist/module/CallingClient/calling/callManager.js +39 -7
  137. package/dist/module/CallingClient/calling/types.js +2 -0
  138. package/dist/module/CallingClient/constants.js +24 -0
  139. package/dist/module/CallingClient/line/index.js +2 -2
  140. package/dist/module/CallingClient/registration/register.js +239 -63
  141. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  142. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  143. package/dist/module/CallingClient/utils/constants.js +36 -0
  144. package/dist/module/CallingClient/utils/index.js +5 -0
  145. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  146. package/dist/module/CallingClient/utils/request.js +211 -0
  147. package/dist/module/CallingClient/utils/types.js +1 -0
  148. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  149. package/dist/module/Contacts/ContactsClient.js +1 -1
  150. package/dist/module/Events/types.js +23 -10
  151. package/dist/module/Metrics/index.js +48 -1
  152. package/dist/module/Metrics/types.js +18 -0
  153. package/dist/module/api.js +3 -2
  154. package/dist/module/common/Utils.js +60 -17
  155. package/dist/module/common/testUtil.js +6 -1
  156. package/dist/module/common/types.js +3 -0
  157. package/dist/module/index.js +7 -3
  158. package/dist/module/mobius-socket/config.js +15 -0
  159. package/dist/module/mobius-socket/errors.js +58 -0
  160. package/dist/module/mobius-socket/index.js +24 -0
  161. package/dist/module/mobius-socket/mobius-socket.js +593 -0
  162. package/dist/module/mobius-socket/socket/constants.js +26 -0
  163. package/dist/module/mobius-socket/socket/index.js +4 -0
  164. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  165. package/dist/module/mobius-socket/socket/socket.js +9 -0
  166. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  167. package/dist/module/mobius-socket/socket/types.js +1 -0
  168. package/dist/module/mobius-socket/types.js +1 -0
  169. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  170. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  171. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  172. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  173. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  174. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  175. package/dist/types/CallRecording/constants.d.ts +28 -0
  176. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  177. package/dist/types/CallRecording/types.d.ts +176 -0
  178. package/dist/types/CallRecording/types.d.ts.map +1 -0
  179. package/dist/types/CallRecording/utils.d.ts +3 -0
  180. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  181. package/dist/types/CallingClient/CallingClient.d.ts +8 -0
  182. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  183. package/dist/types/CallingClient/calling/call.d.ts +12 -0
  184. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  185. package/dist/types/CallingClient/calling/callManager.d.ts +4 -2
  186. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  187. package/dist/types/CallingClient/calling/types.d.ts +34 -9
  188. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  189. package/dist/types/CallingClient/constants.d.ts +24 -0
  190. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  191. package/dist/types/CallingClient/line/index.d.ts +1 -1
  192. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  193. package/dist/types/CallingClient/registration/register.d.ts +7 -1
  194. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  195. package/dist/types/CallingClient/registration/types.d.ts +4 -2
  196. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  197. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  198. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  199. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  200. package/dist/types/CallingClient/types.d.ts +1 -0
  201. package/dist/types/CallingClient/types.d.ts.map +1 -1
  202. package/dist/types/CallingClient/utils/constants.d.ts +35 -0
  203. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  204. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  205. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  206. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  207. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  208. package/dist/types/CallingClient/utils/request.d.ts +28 -0
  209. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  210. package/dist/types/CallingClient/utils/types.d.ts +34 -0
  211. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  212. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  213. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  214. package/dist/types/Events/types.d.ts +79 -15
  215. package/dist/types/Events/types.d.ts.map +1 -1
  216. package/dist/types/Metrics/index.d.ts.map +1 -1
  217. package/dist/types/Metrics/types.d.ts +19 -2
  218. package/dist/types/Metrics/types.d.ts.map +1 -1
  219. package/dist/types/SDKConnector/types.d.ts +39 -12
  220. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  221. package/dist/types/api.d.ts +6 -4
  222. package/dist/types/api.d.ts.map +1 -1
  223. package/dist/types/common/Utils.d.ts +11 -3
  224. package/dist/types/common/Utils.d.ts.map +1 -1
  225. package/dist/types/common/testUtil.d.ts +5 -1
  226. package/dist/types/common/testUtil.d.ts.map +1 -1
  227. package/dist/types/common/types.d.ts +5 -1
  228. package/dist/types/common/types.d.ts.map +1 -1
  229. package/dist/types/index.d.ts +8 -3
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/mobius-socket/config.d.ts +17 -0
  232. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  233. package/dist/types/mobius-socket/errors.d.ts +32 -0
  234. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  235. package/dist/types/mobius-socket/index.d.ts +14 -0
  236. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  237. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  238. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  239. package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
  240. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  241. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  242. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  243. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  244. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  245. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  246. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  247. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  248. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  249. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  250. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  251. package/dist/types/mobius-socket/types.d.ts +21 -0
  252. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  253. package/package.json +20 -5
  254. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  255. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -248,7 +248,7 @@ describe('CALLING: Metric tests', function () {
248
248
  },
249
249
  type: _types.METRIC_TYPE.BEHAVIORAL
250
250
  };
251
- metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA_ERROR, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp, callError);
251
+ metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA_ERROR, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp, undefined, callError);
252
252
  expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA_ERROR, expectedData);
253
253
  });
254
254
  it('submit unknown media metric', function () {
@@ -312,9 +312,13 @@ describe('CALLING: Metric tests', function () {
312
312
  });
313
313
  });
314
314
  describe('Voicemail metric tests', function () {
315
+ var originalProcess = global.process;
315
316
  beforeAll(function () {
316
317
  return metricManager.setDeviceInfo(mockDeviceInfo);
317
318
  });
319
+ afterEach(function () {
320
+ global.process = originalProcess;
321
+ });
318
322
  it('submit voicemail success metric', function () {
319
323
  var expectedData1 = {
320
324
  tags: {
@@ -367,6 +371,44 @@ describe('CALLING: Metric tests', function () {
367
371
  metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId', errorMessage, 401);
368
372
  expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);
369
373
  });
374
+ it('submit voicemail metric with undefined process object', function () {
375
+ // Mock process as undefined (browser environment)
376
+ global.process = undefined;
377
+ var expectedData = {
378
+ tags: {
379
+ action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
380
+ device_id: mockDeviceInfo.device.deviceId
381
+ },
382
+ fields: {
383
+ device_url: mockDeviceInfo.device.clientDeviceUri,
384
+ calling_sdk_version: _constants.VERSION
385
+ },
386
+ type: _types.METRIC_TYPE.BEHAVIORAL
387
+ };
388
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
389
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData);
390
+ });
391
+ it('submit voicemail error metric with undefined process object', function () {
392
+ // Mock process as undefined (browser environment)
393
+ global.process = undefined;
394
+ var errorMessage = 'Network error';
395
+ var expectedData = {
396
+ tags: {
397
+ action: _types.VOICEMAIL_ACTION.MARK_READ,
398
+ device_id: mockDeviceInfo.device.deviceId,
399
+ message_id: 'msg-123',
400
+ error: errorMessage,
401
+ status_code: 500
402
+ },
403
+ fields: {
404
+ device_url: mockDeviceInfo.device.clientDeviceUri,
405
+ calling_sdk_version: _constants.VERSION
406
+ },
407
+ type: _types.METRIC_TYPE.BEHAVIORAL
408
+ };
409
+ metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.MARK_READ, _types.METRIC_TYPE.BEHAVIORAL, 'msg-123', errorMessage, 500);
410
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData);
411
+ });
370
412
  it('submit unknown voicemail metric', function () {
371
413
  var logSpy = jest.spyOn(_Logger.default, 'warn');
372
414
  metricManager.submitVoicemailMetric('invalidMetricName', _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
@@ -399,6 +441,320 @@ describe('CALLING: Metric tests', function () {
399
441
  expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.BNR_ENABLED, expectedData);
400
442
  });
401
443
  });
444
+ describe('Connection metric tests', function () {
445
+ beforeAll(function () {
446
+ return metricManager.setDeviceInfo(mockDeviceInfo);
447
+ });
448
+ it('submit connection metric for network flap', function () {
449
+ var downTimestamp = '2026-05-04T10:00:00.000Z';
450
+ var upTimestamp = '2026-05-04T10:05:00.000Z';
451
+ var expectedData = {
452
+ tags: {
453
+ metricAction: 'network_flap',
454
+ device_id: mockDeviceInfo.device.deviceId,
455
+ service_indicator: _types3.ServiceIndicator.CALLING
456
+ },
457
+ fields: {
458
+ device_url: mockDeviceInfo.device.clientDeviceUri,
459
+ mobius_url: mockDeviceInfo.device.uri,
460
+ calling_sdk_version: MOCK_VERSION_NUMBER,
461
+ downTimestamp: downTimestamp,
462
+ upTimestamp: upTimestamp
463
+ },
464
+ type: _types.METRIC_TYPE.BEHAVIORAL
465
+ };
466
+ metricManager.submitConnectionMetrics(_types.METRIC_EVENT.CONNECTION_ERROR, _types.CONNECTION_ACTION.NETWORK_FLAP, _types.METRIC_TYPE.BEHAVIORAL, downTimestamp, upTimestamp);
467
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.CONNECTION_ERROR, expectedData);
468
+ });
469
+ it('submit connection metric for mercury down', function () {
470
+ var downTimestamp = '2026-05-04T10:10:00.000Z';
471
+ var upTimestamp = '2026-05-04T10:15:00.000Z';
472
+ var expectedData = {
473
+ tags: {
474
+ metricAction: 'mercury_down',
475
+ device_id: mockDeviceInfo.device.deviceId,
476
+ service_indicator: _types3.ServiceIndicator.CALLING
477
+ },
478
+ fields: {
479
+ device_url: mockDeviceInfo.device.clientDeviceUri,
480
+ mobius_url: mockDeviceInfo.device.uri,
481
+ calling_sdk_version: MOCK_VERSION_NUMBER,
482
+ downTimestamp: downTimestamp,
483
+ upTimestamp: upTimestamp
484
+ },
485
+ type: _types.METRIC_TYPE.OPERATIONAL
486
+ };
487
+ metricManager.submitConnectionMetrics(_types.METRIC_EVENT.CONNECTION_ERROR, _types.CONNECTION_ACTION.MERCURY_DOWN, _types.METRIC_TYPE.OPERATIONAL, downTimestamp, upTimestamp);
488
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.CONNECTION_ERROR, expectedData);
489
+ });
490
+ });
491
+ describe('Region Info metric tests', function () {
492
+ beforeAll(function () {
493
+ return metricManager.setDeviceInfo(mockDeviceInfo);
494
+ });
495
+ it('submit region info metric with all parameters', function () {
496
+ var trackingId = 'track-region-123';
497
+ var mobiusHost = 'mobius-us-east.webex.com';
498
+ var clientRegion = 'US-EAST';
499
+ var countryCode = 'US';
500
+ var expectedData = {
501
+ tags: {
502
+ action: 'region-info',
503
+ device_id: mockDeviceInfo.device.deviceId,
504
+ service_indicator: _types3.ServiceIndicator.CALLING
505
+ },
506
+ fields: {
507
+ device_url: mockDeviceInfo.device.clientDeviceUri,
508
+ mobius_url: mockDeviceInfo.device.uri,
509
+ calling_sdk_version: MOCK_VERSION_NUMBER,
510
+ mobius_host: mobiusHost,
511
+ client_region: clientRegion,
512
+ country_code: countryCode,
513
+ tracking_id: trackingId
514
+ },
515
+ type: _types.METRIC_TYPE.BEHAVIORAL
516
+ };
517
+ metricManager.submitRegionInfoMetric(_types.METRIC_EVENT.MOBIUS_DISCOVERY, 'region-info', _types.METRIC_TYPE.BEHAVIORAL, mobiusHost, clientRegion, countryCode, trackingId);
518
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);
519
+ });
520
+ it('submit region info metric without tracking ID', function () {
521
+ var mobiusHost = 'mobius-eu-west.webex.com';
522
+ var clientRegion = 'EU-WEST';
523
+ var countryCode = 'GB';
524
+ var expectedData = {
525
+ tags: {
526
+ action: 'region-info',
527
+ device_id: mockDeviceInfo.device.deviceId,
528
+ service_indicator: _types3.ServiceIndicator.CALLING
529
+ },
530
+ fields: {
531
+ device_url: mockDeviceInfo.device.clientDeviceUri,
532
+ mobius_url: mockDeviceInfo.device.uri,
533
+ calling_sdk_version: MOCK_VERSION_NUMBER,
534
+ mobius_host: mobiusHost,
535
+ client_region: clientRegion,
536
+ country_code: countryCode,
537
+ tracking_id: undefined
538
+ },
539
+ type: _types.METRIC_TYPE.OPERATIONAL
540
+ };
541
+ metricManager.submitRegionInfoMetric(_types.METRIC_EVENT.MOBIUS_DISCOVERY, 'region-info', _types.METRIC_TYPE.OPERATIONAL, mobiusHost, clientRegion, countryCode, undefined);
542
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);
543
+ });
544
+ });
545
+ describe('Mobius Servers metric tests', function () {
546
+ beforeAll(function () {
547
+ return metricManager.setDeviceInfo(mockDeviceInfo);
548
+ });
549
+ it('submit mobius servers metric with primary and backup servers', function () {
550
+ var trackingId = 'track-servers-456';
551
+ var mobiusServers = {
552
+ primary: {
553
+ region: 'US-EAST',
554
+ uris: ['wss://mobius-us-east-1.webex.com/api/v1', 'wss://mobius-us-east-2.webex.com/api/v1']
555
+ },
556
+ backup: {
557
+ region: 'US-WEST',
558
+ uris: ['wss://mobius-us-west-1.webex.com/api/v1']
559
+ }
560
+ };
561
+ var expectedData = {
562
+ tags: {
563
+ action: 'mobius-servers',
564
+ device_id: mockDeviceInfo.device.deviceId,
565
+ service_indicator: _types3.ServiceIndicator.CALLING
566
+ },
567
+ fields: {
568
+ device_url: mockDeviceInfo.device.clientDeviceUri,
569
+ mobius_url: mockDeviceInfo.device.uri,
570
+ calling_sdk_version: MOCK_VERSION_NUMBER,
571
+ primary_mobius_servers_region: 'US-EAST',
572
+ primary_mobius_servers_uris: 'wss://mobius-us-east-1.webex.com/api/v1,wss://mobius-us-east-2.webex.com/api/v1',
573
+ backup_mobius_servers_region: 'US-WEST',
574
+ backup_mobius_servers_uris: 'wss://mobius-us-west-1.webex.com/api/v1',
575
+ tracking_id: trackingId
576
+ },
577
+ type: _types.METRIC_TYPE.BEHAVIORAL
578
+ };
579
+ metricManager.submitMobiusServersMetric(_types.METRIC_EVENT.MOBIUS_DISCOVERY, 'mobius-servers', _types.METRIC_TYPE.BEHAVIORAL, mobiusServers, trackingId);
580
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);
581
+ });
582
+ it('submit mobius servers metric without tracking ID', function () {
583
+ var mobiusServers = {
584
+ primary: {
585
+ region: 'EU-CENTRAL',
586
+ uris: ['wss://mobius-eu-central.webex.com/api/v1']
587
+ },
588
+ backup: {
589
+ region: 'EU-WEST',
590
+ uris: ['wss://mobius-eu-west.webex.com/api/v1', 'wss://mobius-eu-west-2.webex.com/api/v1']
591
+ }
592
+ };
593
+ var expectedData = {
594
+ tags: {
595
+ action: 'mobius-servers',
596
+ device_id: mockDeviceInfo.device.deviceId,
597
+ service_indicator: _types3.ServiceIndicator.CALLING
598
+ },
599
+ fields: {
600
+ device_url: mockDeviceInfo.device.clientDeviceUri,
601
+ mobius_url: mockDeviceInfo.device.uri,
602
+ calling_sdk_version: MOCK_VERSION_NUMBER,
603
+ primary_mobius_servers_region: 'EU-CENTRAL',
604
+ primary_mobius_servers_uris: 'wss://mobius-eu-central.webex.com/api/v1',
605
+ backup_mobius_servers_region: 'EU-WEST',
606
+ backup_mobius_servers_uris: 'wss://mobius-eu-west.webex.com/api/v1,wss://mobius-eu-west-2.webex.com/api/v1',
607
+ tracking_id: undefined
608
+ },
609
+ type: _types.METRIC_TYPE.OPERATIONAL
610
+ };
611
+ metricManager.submitMobiusServersMetric(_types.METRIC_EVENT.MOBIUS_DISCOVERY, 'mobius-servers', _types.METRIC_TYPE.OPERATIONAL, mobiusServers, undefined);
612
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);
613
+ });
614
+ });
615
+ describe('Mobius Socket metric tests', function () {
616
+ beforeAll(function () {
617
+ return metricManager.setDeviceInfo(mockDeviceInfo);
618
+ });
619
+ it('submit mobius socket connect success metric', function () {
620
+ var wssUrl = 'wss://mobius.webex.com/api/v1';
621
+ var trackingId = 'track-socket-123';
622
+ var expectedData = {
623
+ tags: {
624
+ action: 'connect',
625
+ device_id: mockDeviceInfo.device.deviceId,
626
+ service_indicator: _types3.ServiceIndicator.CALLING
627
+ },
628
+ fields: {
629
+ device_url: mockDeviceInfo.device.clientDeviceUri,
630
+ mobius_url: mockDeviceInfo.device.uri,
631
+ calling_sdk_version: MOCK_VERSION_NUMBER,
632
+ wss_url: wssUrl,
633
+ tracking_id: trackingId,
634
+ event_type: undefined
635
+ },
636
+ type: _types.METRIC_TYPE.BEHAVIORAL
637
+ };
638
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET, _types.MOBIUS_SOCKET_ACTION.CONNECT, _types.METRIC_TYPE.BEHAVIORAL, wssUrl, trackingId);
639
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET, expectedData);
640
+ });
641
+ it('submit mobius socket disconnect success metric', function () {
642
+ var expectedData = {
643
+ tags: {
644
+ action: 'disconnect',
645
+ device_id: mockDeviceInfo.device.deviceId,
646
+ service_indicator: _types3.ServiceIndicator.CALLING
647
+ },
648
+ fields: {
649
+ device_url: mockDeviceInfo.device.clientDeviceUri,
650
+ mobius_url: mockDeviceInfo.device.uri,
651
+ calling_sdk_version: MOCK_VERSION_NUMBER,
652
+ wss_url: undefined,
653
+ tracking_id: undefined,
654
+ event_type: undefined
655
+ },
656
+ type: _types.METRIC_TYPE.BEHAVIORAL
657
+ };
658
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET, _types.MOBIUS_SOCKET_ACTION.DISCONNECT, _types.METRIC_TYPE.BEHAVIORAL);
659
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET, expectedData);
660
+ });
661
+ it('submit mobius socket listener registered metric', function () {
662
+ var expectedData = {
663
+ tags: {
664
+ action: 'listener_registered',
665
+ device_id: mockDeviceInfo.device.deviceId,
666
+ service_indicator: _types3.ServiceIndicator.CALLING
667
+ },
668
+ fields: {
669
+ device_url: mockDeviceInfo.device.clientDeviceUri,
670
+ mobius_url: mockDeviceInfo.device.uri,
671
+ calling_sdk_version: MOCK_VERSION_NUMBER,
672
+ wss_url: undefined,
673
+ tracking_id: undefined,
674
+ event_type: undefined
675
+ },
676
+ type: _types.METRIC_TYPE.BEHAVIORAL
677
+ };
678
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET, _types.MOBIUS_SOCKET_ACTION.LISTENER_REGISTERED, _types.METRIC_TYPE.BEHAVIORAL);
679
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET, expectedData);
680
+ });
681
+ it('submit mobius socket listener unregistered metric', function () {
682
+ var expectedData = {
683
+ tags: {
684
+ action: 'listener_unregistered',
685
+ device_id: mockDeviceInfo.device.deviceId,
686
+ service_indicator: _types3.ServiceIndicator.CALLING
687
+ },
688
+ fields: {
689
+ device_url: mockDeviceInfo.device.clientDeviceUri,
690
+ mobius_url: mockDeviceInfo.device.uri,
691
+ calling_sdk_version: MOCK_VERSION_NUMBER,
692
+ wss_url: undefined,
693
+ tracking_id: undefined,
694
+ event_type: undefined
695
+ },
696
+ type: _types.METRIC_TYPE.BEHAVIORAL
697
+ };
698
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET, _types.MOBIUS_SOCKET_ACTION.LISTENER_UNREGISTERED, _types.METRIC_TYPE.BEHAVIORAL);
699
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET, expectedData);
700
+ });
701
+ it('submit mobius socket error metric with connection failure', function () {
702
+ var wssUrl = 'wss://mobius.webex.com/api/v1';
703
+ var trackingId = 'track-error-456';
704
+ var error = 'WebSocket connection failed: timeout';
705
+ var expectedData = {
706
+ tags: {
707
+ action: 'connect',
708
+ device_id: mockDeviceInfo.device.deviceId,
709
+ service_indicator: _types3.ServiceIndicator.CALLING
710
+ },
711
+ fields: {
712
+ device_url: mockDeviceInfo.device.clientDeviceUri,
713
+ mobius_url: mockDeviceInfo.device.uri,
714
+ calling_sdk_version: MOCK_VERSION_NUMBER,
715
+ wss_url: wssUrl,
716
+ tracking_id: trackingId,
717
+ event_type: undefined,
718
+ error: error
719
+ },
720
+ type: _types.METRIC_TYPE.BEHAVIORAL
721
+ };
722
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET_ERROR, _types.MOBIUS_SOCKET_ACTION.CONNECT, _types.METRIC_TYPE.BEHAVIORAL, wssUrl, trackingId, error);
723
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET_ERROR, expectedData);
724
+ });
725
+ it('submit mobius socket error metric with registration down event', function () {
726
+ var trackingId = 'track-regdown-789';
727
+ var eventType = 'registration.down';
728
+ var expectedData = {
729
+ tags: {
730
+ action: 'registration_down',
731
+ device_id: mockDeviceInfo.device.deviceId,
732
+ service_indicator: _types3.ServiceIndicator.CALLING
733
+ },
734
+ fields: {
735
+ device_url: mockDeviceInfo.device.clientDeviceUri,
736
+ mobius_url: mockDeviceInfo.device.uri,
737
+ calling_sdk_version: MOCK_VERSION_NUMBER,
738
+ wss_url: undefined,
739
+ tracking_id: trackingId,
740
+ event_type: eventType,
741
+ error: undefined
742
+ },
743
+ type: _types.METRIC_TYPE.BEHAVIORAL
744
+ };
745
+ metricManager.submitMobiusSocketMetric(_types.METRIC_EVENT.MOBIUS_SOCKET_ERROR, _types.MOBIUS_SOCKET_ACTION.REGISTRATION_DOWN, _types.METRIC_TYPE.BEHAVIORAL, undefined, trackingId, undefined, eventType);
746
+ expect(submitClientMetricSpy).toBeCalledOnceWith(_types.METRIC_EVENT.MOBIUS_SOCKET_ERROR, expectedData);
747
+ });
748
+ it('submit unknown mobius socket metric', function () {
749
+ var logSpy = jest.spyOn(_Logger.default, 'warn');
750
+ metricManager.submitMobiusSocketMetric('invalidMetricName', _types.MOBIUS_SOCKET_ACTION.CONNECT, _types.METRIC_TYPE.BEHAVIORAL);
751
+ expect(submitClientMetricSpy).not.toBeCalled();
752
+ expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
753
+ file: 'metric',
754
+ method: 'submitMobiusSocketMetric'
755
+ });
756
+ });
757
+ });
402
758
  describe('Upload Logs metric tests', function () {
403
759
  beforeAll(function () {
404
760
  return metricManager.setDeviceInfo(mockDeviceInfo);