@webex/calling 3.12.0-mobius-socket.15 → 3.12.0-mobius-socket.17

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 (63) hide show
  1. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +211 -0
  2. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  3. package/dist/CallingClient/utils/request.test.js +881 -0
  4. package/dist/CallingClient/utils/request.test.js.map +1 -0
  5. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  6. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  7. package/dist/Metrics/index.test.js +356 -0
  8. package/dist/Metrics/index.test.js.map +1 -1
  9. package/dist/mobius-socket/config.js +8 -8
  10. package/dist/mobius-socket/config.js.map +1 -1
  11. package/dist/mobius-socket/errors.js +2 -3
  12. package/dist/mobius-socket/errors.js.map +1 -1
  13. package/dist/mobius-socket/index.js +16 -10
  14. package/dist/mobius-socket/index.js.map +1 -1
  15. package/dist/mobius-socket/mobius-socket-events.test.js +5 -3
  16. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -1
  17. package/dist/mobius-socket/mobius-socket.js +3 -2
  18. package/dist/mobius-socket/mobius-socket.js.map +1 -1
  19. package/dist/mobius-socket/mobius-socket.test.js +6 -4
  20. package/dist/mobius-socket/mobius-socket.test.js.map +1 -1
  21. package/dist/mobius-socket/socket/constants.js.map +1 -1
  22. package/dist/mobius-socket/socket/index.js.map +1 -1
  23. package/dist/mobius-socket/socket/socket-base.js +57 -32
  24. package/dist/mobius-socket/socket/socket-base.js.map +1 -1
  25. package/dist/mobius-socket/socket/socket.js.map +1 -1
  26. package/dist/mobius-socket/socket/socket.shim.js +3 -13
  27. package/dist/mobius-socket/socket/socket.shim.js.map +1 -1
  28. package/dist/mobius-socket/socket/types.js +7 -0
  29. package/dist/mobius-socket/socket/types.js.map +1 -0
  30. package/dist/mobius-socket/socket.test.js +36 -36
  31. package/dist/mobius-socket/socket.test.js.map +1 -1
  32. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -1
  33. package/dist/mobius-socket/test/promise-tick.js +2 -3
  34. package/dist/mobius-socket/test/promise-tick.js.map +1 -1
  35. package/dist/module/mobius-socket/index.js +4 -1
  36. package/dist/module/mobius-socket/mobius-socket.js +3 -1
  37. package/dist/module/mobius-socket/socket/socket-base.js +60 -29
  38. package/dist/module/mobius-socket/socket/socket.shim.js +3 -15
  39. package/dist/module/mobius-socket/socket/types.js +1 -0
  40. package/dist/types/mobius-socket/config.d.ts +15 -12
  41. package/dist/types/mobius-socket/config.d.ts.map +1 -1
  42. package/dist/types/mobius-socket/errors.d.ts +15 -6
  43. package/dist/types/mobius-socket/errors.d.ts.map +1 -1
  44. package/dist/types/mobius-socket/index.d.ts +14 -7
  45. package/dist/types/mobius-socket/index.d.ts.map +1 -1
  46. package/dist/types/mobius-socket/mobius-socket.d.ts +27 -43
  47. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -1
  48. package/dist/types/mobius-socket/socket/constants.d.ts +2 -2
  49. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -1
  50. package/dist/types/mobius-socket/socket/index.d.ts +4 -1
  51. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -1
  52. package/dist/types/mobius-socket/socket/socket-base.d.ts +34 -28
  53. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -1
  54. package/dist/types/mobius-socket/socket/socket.d.ts +4 -1
  55. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -1
  56. package/dist/types/mobius-socket/socket/socket.shim.d.ts +4 -1
  57. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -1
  58. package/dist/types/mobius-socket/socket/types.d.ts +69 -0
  59. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  60. package/package.json +2 -2
  61. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  62. package/src/mobius-socket/socket/{socket.js → socket.ts} +2 -1
  63. package/src/mobius-socket/socket/socket.shim.js +0 -31
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","submitClientMetricSpy","jest","spyOn","internal","metrics","MOCK_VERSION_NUMBER","originalEnv","process","env","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","NOT_FOUND","KEEPALIVE_FAILURE","keepalive_count","KEEPALIVE_ERROR","toHaveBeenCalledWith","logSpy","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION","feedbackId","correlationId","callId","broadworksCorrelationInfo","UPLOAD_LOGS_ACTION","tracking_id","feedback_id","submitUploadLogsMetric","UPLOAD_LOGS_SUCCESS","errorStack","UPLOAD_LOGS_FAILED"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION, UPLOAD_LOGS_ACTION} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n submitClientMetricSpy.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit keepalive failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.NOT_FOUND;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.KEEPALIVE_FAILURE,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n keepalive_count: 1,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.KEEPALIVE_ERROR,\n REG_ACTION.KEEPALIVE_FAILURE,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n 1,\n clientError\n );\n expect(submitClientMetricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.KEEPALIVE_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n\n describe('Upload Logs metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit upload logs success metric includes broadworksCorrelationInfo', () => {\n const trackingId = 'track-123';\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n trackingId,\n feedbackId,\n correlationId,\n undefined,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n expectedData\n );\n });\n\n it('submit upload logs failure metric includes error and broadworksCorrelationInfo', () => {\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n const errorStack = 'some error stack';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: undefined,\n feedback_id: feedbackId,\n call_id: callId,\n error: errorStack,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n feedbackId,\n correlationId,\n errorStack,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n expectedData\n );\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","submitClientMetricSpy","jest","spyOn","internal","metrics","MOCK_VERSION_NUMBER","originalEnv","process","env","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","NOT_FOUND","KEEPALIVE_FAILURE","keepalive_count","KEEPALIVE_ERROR","toHaveBeenCalledWith","logSpy","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","originalProcess","global","afterEach","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION","MARK_READ","downTimestamp","upTimestamp","metricAction","submitConnectionMetrics","CONNECTION_ERROR","CONNECTION_ACTION","NETWORK_FLAP","MERCURY_DOWN","mobiusHost","clientRegion","countryCode","mobius_host","client_region","country_code","tracking_id","submitRegionInfoMetric","MOBIUS_DISCOVERY","mobiusServers","primary","region","uris","backup","primary_mobius_servers_region","primary_mobius_servers_uris","backup_mobius_servers_region","backup_mobius_servers_uris","submitMobiusServersMetric","wssUrl","wss_url","event_type","submitMobiusSocketMetric","MOBIUS_SOCKET","MOBIUS_SOCKET_ACTION","CONNECT","DISCONNECT","LISTENER_REGISTERED","LISTENER_UNREGISTERED","MOBIUS_SOCKET_ERROR","eventType","REGISTRATION_DOWN","feedbackId","correlationId","callId","broadworksCorrelationInfo","UPLOAD_LOGS_ACTION","feedback_id","submitUploadLogsMetric","UPLOAD_LOGS_SUCCESS","errorStack","UPLOAD_LOGS_FAILED"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {\n METRIC_TYPE,\n METRIC_EVENT,\n REG_ACTION,\n VOICEMAIL_ACTION,\n UPLOAD_LOGS_ACTION,\n CONNECTION_ACTION,\n MOBIUS_SOCKET_ACTION,\n} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n submitClientMetricSpy.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit keepalive failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.NOT_FOUND;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.KEEPALIVE_FAILURE,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n keepalive_count: 1,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.KEEPALIVE_ERROR,\n REG_ACTION.KEEPALIVE_FAILURE,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n 1,\n clientError\n );\n expect(submitClientMetricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.KEEPALIVE_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n const originalProcess: NodeJS.Process = global.process;\n\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n afterEach(() => {\n global.process = originalProcess;\n });\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);\n });\n\n it('submit voicemail metric with undefined process object', () => {\n // Mock process as undefined (browser environment)\n (global as any).process = undefined;\n\n const expectedData = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData);\n });\n\n it('submit voicemail error metric with undefined process object', () => {\n // Mock process as undefined (browser environment)\n (global as any).process = undefined;\n\n const errorMessage = 'Network error';\n const expectedData = {\n tags: {\n action: VOICEMAIL_ACTION.MARK_READ,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: 'msg-123',\n error: errorMessage,\n status_code: 500,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.MARK_READ,\n METRIC_TYPE.BEHAVIORAL,\n 'msg-123',\n errorMessage,\n 500\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData);\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n\n describe('Connection metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit connection metric for network flap', () => {\n const downTimestamp = '2026-05-04T10:00:00.000Z';\n const upTimestamp = '2026-05-04T10:05:00.000Z';\n\n const expectedData = {\n tags: {\n metricAction: 'network_flap',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n downTimestamp,\n upTimestamp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitConnectionMetrics(\n METRIC_EVENT.CONNECTION_ERROR,\n CONNECTION_ACTION.NETWORK_FLAP,\n METRIC_TYPE.BEHAVIORAL,\n downTimestamp,\n upTimestamp\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CONNECTION_ERROR, expectedData);\n });\n\n it('submit connection metric for mercury down', () => {\n const downTimestamp = '2026-05-04T10:10:00.000Z';\n const upTimestamp = '2026-05-04T10:15:00.000Z';\n\n const expectedData = {\n tags: {\n metricAction: 'mercury_down',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n downTimestamp,\n upTimestamp,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitConnectionMetrics(\n METRIC_EVENT.CONNECTION_ERROR,\n CONNECTION_ACTION.MERCURY_DOWN,\n METRIC_TYPE.OPERATIONAL,\n downTimestamp,\n upTimestamp\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CONNECTION_ERROR, expectedData);\n });\n });\n\n describe('Region Info metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit region info metric with all parameters', () => {\n const trackingId = 'track-region-123';\n const mobiusHost = 'mobius-us-east.webex.com';\n const clientRegion = 'US-EAST';\n const countryCode = 'US';\n\n const expectedData = {\n tags: {\n action: 'region-info',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: trackingId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegionInfoMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'region-info',\n METRIC_TYPE.BEHAVIORAL,\n mobiusHost,\n clientRegion,\n countryCode,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n\n it('submit region info metric without tracking ID', () => {\n const mobiusHost = 'mobius-eu-west.webex.com';\n const clientRegion = 'EU-WEST';\n const countryCode = 'GB';\n\n const expectedData = {\n tags: {\n action: 'region-info',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: undefined,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitRegionInfoMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'region-info',\n METRIC_TYPE.OPERATIONAL,\n mobiusHost,\n clientRegion,\n countryCode,\n undefined\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n });\n\n describe('Mobius Servers metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit mobius servers metric with primary and backup servers', () => {\n const trackingId = 'track-servers-456';\n const mobiusServers = {\n primary: {\n region: 'US-EAST',\n uris: [\n 'wss://mobius-us-east-1.webex.com/api/v1',\n 'wss://mobius-us-east-2.webex.com/api/v1',\n ],\n },\n backup: {\n region: 'US-WEST',\n uris: ['wss://mobius-us-west-1.webex.com/api/v1'],\n },\n };\n\n const expectedData = {\n tags: {\n action: 'mobius-servers',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n primary_mobius_servers_region: 'US-EAST',\n primary_mobius_servers_uris:\n 'wss://mobius-us-east-1.webex.com/api/v1,wss://mobius-us-east-2.webex.com/api/v1',\n backup_mobius_servers_region: 'US-WEST',\n backup_mobius_servers_uris: 'wss://mobius-us-west-1.webex.com/api/v1',\n tracking_id: trackingId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusServersMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'mobius-servers',\n METRIC_TYPE.BEHAVIORAL,\n mobiusServers,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n\n it('submit mobius servers metric without tracking ID', () => {\n const mobiusServers = {\n primary: {\n region: 'EU-CENTRAL',\n uris: ['wss://mobius-eu-central.webex.com/api/v1'],\n },\n backup: {\n region: 'EU-WEST',\n uris: [\n 'wss://mobius-eu-west.webex.com/api/v1',\n 'wss://mobius-eu-west-2.webex.com/api/v1',\n ],\n },\n };\n\n const expectedData = {\n tags: {\n action: 'mobius-servers',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n primary_mobius_servers_region: 'EU-CENTRAL',\n primary_mobius_servers_uris: 'wss://mobius-eu-central.webex.com/api/v1',\n backup_mobius_servers_region: 'EU-WEST',\n backup_mobius_servers_uris:\n 'wss://mobius-eu-west.webex.com/api/v1,wss://mobius-eu-west-2.webex.com/api/v1',\n tracking_id: undefined,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitMobiusServersMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'mobius-servers',\n METRIC_TYPE.OPERATIONAL,\n mobiusServers,\n undefined\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n });\n\n describe('Mobius Socket metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit mobius socket connect success metric', () => {\n const wssUrl = 'wss://mobius.webex.com/api/v1';\n const trackingId = 'track-socket-123';\n\n const expectedData = {\n tags: {\n action: 'connect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: wssUrl,\n tracking_id: trackingId,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL,\n wssUrl,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket disconnect success metric', () => {\n const expectedData = {\n tags: {\n action: 'disconnect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.DISCONNECT,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket listener registered metric', () => {\n const expectedData = {\n tags: {\n action: 'listener_registered',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.LISTENER_REGISTERED,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket listener unregistered metric', () => {\n const expectedData = {\n tags: {\n action: 'listener_unregistered',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.LISTENER_UNREGISTERED,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket error metric with connection failure', () => {\n const wssUrl = 'wss://mobius.webex.com/api/v1';\n const trackingId = 'track-error-456';\n const error = 'WebSocket connection failed: timeout';\n\n const expectedData = {\n tags: {\n action: 'connect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: wssUrl,\n tracking_id: trackingId,\n event_type: undefined,\n error,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL,\n wssUrl,\n trackingId,\n error\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n expectedData\n );\n });\n\n it('submit mobius socket error metric with registration down event', () => {\n const trackingId = 'track-regdown-789';\n const eventType = 'registration.down';\n\n const expectedData = {\n tags: {\n action: 'registration_down',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: trackingId,\n event_type: eventType,\n error: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n MOBIUS_SOCKET_ACTION.REGISTRATION_DOWN,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n trackingId,\n undefined,\n eventType\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n expectedData\n );\n });\n\n it('submit unknown mobius socket metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMobiusSocketMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMobiusSocketMetric',\n }\n );\n });\n });\n\n describe('Upload Logs metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit upload logs success metric includes broadworksCorrelationInfo', () => {\n const trackingId = 'track-123';\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n trackingId,\n feedbackId,\n correlationId,\n undefined,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n expectedData\n );\n });\n\n it('submit upload logs failure metric includes error and broadworksCorrelationInfo', () => {\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n const errorStack = 'some error stack';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: undefined,\n feedback_id: feedbackId,\n call_id: callId,\n error: errorStack,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n feedbackId,\n correlationId,\n errorStack,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n expectedData\n );\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -12,46 +12,46 @@ exports.default = void 0;
12
12
  var mobiusSocketConfig = {
13
13
  /**
14
14
  * Milliseconds to wait for websocket request/response messages, including auth.
15
- * @type {number}
15
+ * Type: string | number
16
16
  */
17
17
  wssResponseTimeout: process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT || process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT || 10000,
18
18
  /**
19
19
  * Maximum milliseconds between connection attempts
20
- * @type {Number}
20
+ * Type: string | number
21
21
  */
22
22
  backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,
23
23
  /**
24
24
  * Initial milliseconds between connection attempts
25
- * @type {Number}
25
+ * Type: string | number
26
26
  */
27
27
  backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,
28
28
  /**
29
29
  * Maximum number of retries for the initial connect() flow before rejecting.
30
- * @type {Number}
30
+ * Type: string | number
31
31
  */
32
32
  initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,
33
33
  /**
34
34
  * Maximum number of retries for reconnect attempts after the socket has connected once.
35
35
  * A value of 0 means unlimited reconnect retries.
36
- * @type {Number}
36
+ * Type: string | number
37
37
  */
38
38
  maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,
39
39
  /**
40
40
  * Milliseconds to wait for a close frame before declaring the socket dead and
41
41
  * discarding it
42
- * @type {number}
42
+ * Type: string | number
43
43
  */
44
44
  forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,
45
45
  /**
46
46
  * When logging out, use default reason which can trigger a reconnect,
47
47
  * or set to something else, like `done (permanent)` to prevent reconnect
48
- * @type {String}
48
+ * Type: string
49
49
  */
50
50
  beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',
51
51
  /**
52
52
  * Maximum number of eventIds to retain in the dedup cache for suppressing
53
53
  * duplicate async_event messages retransmitted by the server.
54
- * @type {Number}
54
+ * Type: string | number
55
55
  */
56
56
  dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000
57
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["mobiusSocketConfig","wssResponseTimeout","process","env","MOBIUS_SOCKET_RESPONSE_TIMEOUT","MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT","backoffTimeMax","MOBIUS_SOCKET_BACKOFF_TIME_MAX","backoffTimeReset","MOBIUS_SOCKET_BACKOFF_TIME_RESET","initialConnectionMaxRetries","MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES","maxRetries","MOBIUS_SOCKET_MAX_RETRIES","forceCloseDelay","MOBIUS_SOCKET_FORCE_CLOSE_DELAY","beforeLogoutOptionsCloseReason","MOBIUS_SOCKET_LOGOUT_REASON","dedupCacheMaxSize","MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE","_default","exports","default","mobiusSocket"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst mobiusSocketConfig = {\n /**\n * Milliseconds to wait for websocket request/response messages, including auth.\n * @type {number}\n */\n wssResponseTimeout:\n process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT ||\n process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT ||\n 10000,\n /**\n * Maximum milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,\n /**\n * Maximum number of retries for the initial connect() flow before rejecting.\n * @type {Number}\n */\n initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,\n /**\n * Maximum number of retries for reconnect attempts after the socket has connected once.\n * A value of 0 means unlimited reconnect retries.\n * @type {Number}\n */\n maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * @type {number}\n */\n forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,\n /**\n * When logging out, use default reason which can trigger a reconnect,\n * or set to something else, like `done (permanent)` to prevent reconnect\n * @type {String}\n */\n beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',\n /**\n * Maximum number of eventIds to retain in the dedup cache for suppressing\n * duplicate async_event messages retransmitted by the server.\n * @type {Number}\n */\n dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000,\n};\n\nexport default {\n mobiusSocket: mobiusSocketConfig,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAEA,IAAMA,kBAAkB,GAAG;EACzB;AACF;AACA;AACA;EACEC,kBAAkB,EAChBC,OAAO,CAACC,GAAG,CAACC,8BAA8B,IAC1CF,OAAO,CAACC,GAAG,CAACE,mCAAmC,IAC/C,KAAK;EACP;AACF;AACA;AACA;EACEC,cAAc,EAAEJ,OAAO,CAACC,GAAG,CAACI,8BAA8B,IAAI,KAAK;EACnE;AACF;AACA;AACA;EACEC,gBAAgB,EAAEN,OAAO,CAACC,GAAG,CAACM,gCAAgC,IAAI,IAAI;EACtE;AACF;AACA;AACA;EACEC,2BAA2B,EAAER,OAAO,CAACC,GAAG,CAACQ,4CAA4C,IAAI,CAAC;EAC1F;AACF;AACA;AACA;AACA;EACEC,UAAU,EAAEV,OAAO,CAACC,GAAG,CAACU,yBAAyB,IAAI,CAAC;EACtD;AACF;AACA;AACA;AACA;EACEC,eAAe,EAAEZ,OAAO,CAACC,GAAG,CAACY,+BAA+B,IAAI,IAAI;EACpE;AACF;AACA;AACA;AACA;EACEC,8BAA8B,EAAEd,OAAO,CAACC,GAAG,CAACc,2BAA2B,IAAI,eAAe;EAC1F;AACF;AACA;AACA;AACA;EACEC,iBAAiB,EAAEhB,OAAO,CAACC,GAAG,CAACgB,kCAAkC,IAAI;AACvE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACbC,YAAY,EAAEvB;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["mobiusSocketConfig","wssResponseTimeout","process","env","MOBIUS_SOCKET_RESPONSE_TIMEOUT","MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT","backoffTimeMax","MOBIUS_SOCKET_BACKOFF_TIME_MAX","backoffTimeReset","MOBIUS_SOCKET_BACKOFF_TIME_RESET","initialConnectionMaxRetries","MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES","maxRetries","MOBIUS_SOCKET_MAX_RETRIES","forceCloseDelay","MOBIUS_SOCKET_FORCE_CLOSE_DELAY","beforeLogoutOptionsCloseReason","MOBIUS_SOCKET_LOGOUT_REASON","dedupCacheMaxSize","MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE","_default","exports","default","mobiusSocket"],"sources":["config.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport interface MobiusSocketConfig {\n wssResponseTimeout: string | number;\n backoffTimeMax: string | number;\n backoffTimeReset: string | number;\n initialConnectionMaxRetries: string | number;\n maxRetries: string | number;\n forceCloseDelay: string | number;\n beforeLogoutOptionsCloseReason: string;\n dedupCacheMaxSize: string | number;\n}\n\nconst mobiusSocketConfig: MobiusSocketConfig = {\n /**\n * Milliseconds to wait for websocket request/response messages, including auth.\n * Type: string | number\n */\n wssResponseTimeout:\n process.env.MOBIUS_SOCKET_RESPONSE_TIMEOUT ||\n process.env.MOBIUS_SOCKET_AUTH_RESPONSE_TIMEOUT ||\n 10000,\n /**\n * Maximum milliseconds between connection attempts\n * Type: string | number\n */\n backoffTimeMax: process.env.MOBIUS_SOCKET_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * Type: string | number\n */\n backoffTimeReset: process.env.MOBIUS_SOCKET_BACKOFF_TIME_RESET || 1000,\n /**\n * Maximum number of retries for the initial connect() flow before rejecting.\n * Type: string | number\n */\n initialConnectionMaxRetries: process.env.MOBIUS_SOCKET_INITIAL_CONNECTION_MAX_RETRIES || 0,\n /**\n * Maximum number of retries for reconnect attempts after the socket has connected once.\n * A value of 0 means unlimited reconnect retries.\n * Type: string | number\n */\n maxRetries: process.env.MOBIUS_SOCKET_MAX_RETRIES || 0,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * Type: string | number\n */\n forceCloseDelay: process.env.MOBIUS_SOCKET_FORCE_CLOSE_DELAY || 2000,\n /**\n * When logging out, use default reason which can trigger a reconnect,\n * or set to something else, like `done (permanent)` to prevent reconnect\n * Type: string\n */\n beforeLogoutOptionsCloseReason: process.env.MOBIUS_SOCKET_LOGOUT_REASON || 'done (forced)',\n /**\n * Maximum number of eventIds to retain in the dedup cache for suppressing\n * duplicate async_event messages retransmitted by the server.\n * Type: string | number\n */\n dedupCacheMaxSize: process.env.MOBIUS_SOCKET_DEDUP_CACHE_MAX_SIZE || 1000,\n};\n\nexport default {\n mobiusSocket: mobiusSocketConfig,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAaA,IAAMA,kBAAsC,GAAG;EAC7C;AACF;AACA;AACA;EACEC,kBAAkB,EAChBC,OAAO,CAACC,GAAG,CAACC,8BAA8B,IAC1CF,OAAO,CAACC,GAAG,CAACE,mCAAmC,IAC/C,KAAK;EACP;AACF;AACA;AACA;EACEC,cAAc,EAAEJ,OAAO,CAACC,GAAG,CAACI,8BAA8B,IAAI,KAAK;EACnE;AACF;AACA;AACA;EACEC,gBAAgB,EAAEN,OAAO,CAACC,GAAG,CAACM,gCAAgC,IAAI,IAAI;EACtE;AACF;AACA;AACA;EACEC,2BAA2B,EAAER,OAAO,CAACC,GAAG,CAACQ,4CAA4C,IAAI,CAAC;EAC1F;AACF;AACA;AACA;AACA;EACEC,UAAU,EAAEV,OAAO,CAACC,GAAG,CAACU,yBAAyB,IAAI,CAAC;EACtD;AACF;AACA;AACA;AACA;EACEC,eAAe,EAAEZ,OAAO,CAACC,GAAG,CAACY,+BAA+B,IAAI,IAAI;EACpE;AACF;AACA;AACA;AACA;EACEC,8BAA8B,EAAEd,OAAO,CAACC,GAAG,CAACc,2BAA2B,IAAI,eAAe;EAC1F;AACF;AACA;AACA;AACA;EACEC,iBAAiB,EAAEhB,OAAO,CAACC,GAAG,CAACgB,kCAAkC,IAAI;AACvE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACbC,YAAY,EAAEvB;AAChB,CAAC","ignoreList":[]}
@@ -18,7 +18,7 @@ var _common = require("@webex/common");
18
18
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
19
19
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
20
20
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
21
- */
21
+ */ // @ts-expect-error `@webex/common` is still JS-only and does not ship declarations.
22
22
  /**
23
23
  * Exception thrown when a websocket gets closed
24
24
  */
@@ -32,8 +32,7 @@ var ConnectionError = exports.ConnectionError = /*#__PURE__*/function (_Exceptio
32
32
  key: "parse",
33
33
  value:
34
34
  /**
35
- * @param {CloseEvent} event
36
- * @returns {string}
35
+ * @param event
37
36
  */
38
37
  function parse() {
39
38
  var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","ConnectionError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","parse","event","length","undefined","_defineProperties","code","reason","Exception","_defineProperty2","UnknownResponse","_ConnectionError2","BadRequest","_ConnectionError3","NotAuthorized","_ConnectionError4","Forbidden","_ConnectionError5"],"sources":["errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\n\n/**\n * Exception thrown when a websocket gets closed\n */\nexport class ConnectionError extends Exception {\n static defaultMessage = 'Failed to connect to socket';\n\n /**\n * @param {CloseEvent} event\n * @returns {string}\n */\n parse(event = {}) {\n Object.defineProperties(this, {\n code: {\n value: event.code,\n },\n reason: {\n value: event.reason,\n },\n });\n\n return event.reason;\n }\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class UnknownResponse extends ConnectionError {\n static defaultMessage =\n 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class BadRequest extends ConnectionError {\n static defaultMessage =\n 'BadRequest usually implies an attempt to use service account credentials';\n}\n\n/**\n * thrown for CloseCode 4401\n */\nexport class NotAuthorized extends ConnectionError {\n static defaultMessage = 'Please refresh your access token';\n}\n\n/**\n * thrown for CloseCode 4403\n */\nexport class Forbidden extends ConnectionError {\n static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';\n}\n\n// /**\n// * thrown for CloseCode 4404\n// */\n// export class NotFound extends ConnectionError {\n// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;\n// }\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AAAwC,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAJxC;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGac,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAAE,UAAA;EAAA,SAAAF,gBAAA;IAAA,IAAAG,gBAAA,CAAAb,OAAA,QAAAU,eAAA;IAAA,OAAAf,UAAA,OAAAe,eAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAU,eAAA,EAAAE,UAAA;EAAA,WAAAI,aAAA,CAAAhB,OAAA,EAAAU,eAAA;IAAAO,GAAA;IAAAC,KAAA;IAG1B;AACF;AACA;AACA;IACE,SAAAC,KAAKA,CAAA,EAAa;MAAA,IAAZC,KAAK,GAAAN,SAAA,CAAAO,MAAA,QAAAP,SAAA,QAAAQ,SAAA,GAAAR,SAAA,MAAG,CAAC,CAAC;MACd,IAAAS,iBAAA,CAAAvB,OAAA,EAAwB,IAAI,EAAE;QAC5BwB,IAAI,EAAE;UACJN,KAAK,EAAEE,KAAK,CAACI;QACf,CAAC;QACDC,MAAM,EAAE;UACNP,KAAK,EAAEE,KAAK,CAACK;QACf;MACF,CAAC,CAAC;MAEF,OAAOL,KAAK,CAACK,MAAM;IACrB;EAAC;AAAA,EAlBkCC,iBAAS;AAqB9C;AACA;AACA;AAFA,IAAAC,gBAAA,CAAA3B,OAAA,EArBaU,eAAe,oBACF,6BAA6B;AAAA,IAuB1CkB,eAAe,GAAAjB,OAAA,CAAAiB,eAAA,0BAAAC,iBAAA;EAAA,SAAAD,gBAAA;IAAA,IAAAf,gBAAA,CAAAb,OAAA,QAAA4B,eAAA;IAAA,OAAAjC,UAAA,OAAAiC,eAAA,EAAAd,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAA4B,eAAA,EAAAC,iBAAA;EAAA,WAAAb,aAAA,CAAAhB,OAAA,EAAA4B,eAAA;AAAA,EAASlB,eAAe;AAKpD;AACA;AACA;AAFA,IAAAiB,gBAAA,CAAA3B,OAAA,EALa4B,eAAe,oBAExB,2GAA2G;AAAA,IAMlGE,UAAU,GAAAnB,OAAA,CAAAmB,UAAA,0BAAAC,iBAAA;EAAA,SAAAD,WAAA;IAAA,IAAAjB,gBAAA,CAAAb,OAAA,QAAA8B,UAAA;IAAA,OAAAnC,UAAA,OAAAmC,UAAA,EAAAhB,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAA8B,UAAA,EAAAC,iBAAA;EAAA,WAAAf,aAAA,CAAAhB,OAAA,EAAA8B,UAAA;AAAA,EAASpB,eAAe;AAK/C;AACA;AACA;AAFA,IAAAiB,gBAAA,CAAA3B,OAAA,EALa8B,UAAU,oBAEnB,0EAA0E;AAAA,IAMjEE,aAAa,GAAArB,OAAA,CAAAqB,aAAA,0BAAAC,iBAAA;EAAA,SAAAD,cAAA;IAAA,IAAAnB,gBAAA,CAAAb,OAAA,QAAAgC,aAAA;IAAA,OAAArC,UAAA,OAAAqC,aAAA,EAAAlB,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAgC,aAAA,EAAAC,iBAAA;EAAA,WAAAjB,aAAA,CAAAhB,OAAA,EAAAgC,aAAA;AAAA,EAAStB,eAAe;AAIlD;AACA;AACA;AAFA,IAAAiB,gBAAA,CAAA3B,OAAA,EAJagC,aAAa,oBACA,kCAAkC;AAAA,IAM/CE,SAAS,GAAAvB,OAAA,CAAAuB,SAAA,0BAAAC,iBAAA;EAAA,SAAAD,UAAA;IAAA,IAAArB,gBAAA,CAAAb,OAAA,QAAAkC,SAAA;IAAA,OAAAvC,UAAA,OAAAuC,SAAA,EAAApB,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAkC,SAAA,EAAAC,iBAAA;EAAA,WAAAnB,aAAA,CAAAhB,OAAA,EAAAkC,SAAA;AAAA,EAASxB,eAAe,GAI9C;AACA;AACA;AACA;AACA;AACA;AAAA,IAAAiB,gBAAA,CAAA3B,OAAA,EATakC,SAAS,oBACI,wEAAwE","ignoreList":[]}
1
+ {"version":3,"names":["_common","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","ConnectionError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","parse","event","length","undefined","_defineProperties","code","reason","Exception","_defineProperty2","UnknownResponse","_ConnectionError2","BadRequest","_ConnectionError3","NotAuthorized","_ConnectionError4","Forbidden","_ConnectionError5"],"sources":["errors.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// @ts-expect-error `@webex/common` is still JS-only and does not ship declarations.\nimport {Exception} from '@webex/common';\nimport type {SocketCloseEvent} from './socket/types';\n\n/**\n * Exception thrown when a websocket gets closed\n */\nexport class ConnectionError extends Exception {\n static defaultMessage = 'Failed to connect to socket';\n\n /**\n * @param event\n */\n parse(event: SocketCloseEvent = {}) {\n Object.defineProperties(this, {\n code: {\n value: event.code,\n },\n reason: {\n value: event.reason,\n },\n });\n\n return event.reason;\n }\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class UnknownResponse extends ConnectionError {\n static defaultMessage =\n 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class BadRequest extends ConnectionError {\n static defaultMessage =\n 'BadRequest usually implies an attempt to use service account credentials';\n}\n\n/**\n * thrown for CloseCode 4401\n */\nexport class NotAuthorized extends ConnectionError {\n static defaultMessage = 'Please refresh your access token';\n}\n\n/**\n * thrown for CloseCode 4403\n */\nexport class Forbidden extends ConnectionError {\n static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';\n}\n\n// /**\n// * thrown for CloseCode 4404\n// */\n// export class NotFound extends ConnectionError {\n// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;\n// }\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
3
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
10
  _Object$defineProperty(exports, "__esModule", {
@@ -56,6 +61,7 @@ _Object$defineProperty(exports, "config", {
56
61
  exports.default = void 0;
57
62
  exports.getMobiusSocketInstance = getMobiusSocketInstance;
58
63
  exports.resetMobiusSocketInstance = resetMobiusSocketInstance;
64
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
59
65
  require("@webex/internal-plugin-device");
60
66
  require("@webex/internal-plugin-feature");
61
67
  require("@webex/internal-plugin-metrics");
@@ -63,36 +69,36 @@ var _mobiusSocket = _interopRequireDefault(require("./mobius-socket"));
63
69
  var _config = _interopRequireDefault(require("./config"));
64
70
  var _socket = _interopRequireDefault(require("./socket"));
65
71
  var _errors = require("./errors");
66
- /*!
72
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
73
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
67
74
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
68
75
  */
69
-
70
76
  /**
71
77
  * Creates a calling-owned Mobius socket client for the provided Webex instance.
72
78
  *
73
- * @param {object} webex
74
- * @param {object} [mobiusSocketConfig]
75
- * @returns {MobiusSocket}
79
+ * @param webex
80
+ * @param [mobiusSocketConfig]
81
+ * @returns
76
82
  */
77
83
  var mobiusSocketInstance; // Keeping just one instance of MobiusSocket since there won't be multiple connections
78
84
 
79
85
  /**
80
86
  * Creates or returns the singleton Mobius socket client for the provided Webex instance.
81
- * @param {object} webex - The Webex SDK instance
82
- * @param {object} [mobiusSocketConfig] - Optional configuration overrides
83
- * @returns {MobiusSocket} The singleton MobiusSocket instance
87
+ * @param webex - The Webex SDK instance
88
+ * @param [mobiusSocketConfig] - Optional configuration overrides
89
+ * @returns The singleton MobiusSocket instance
84
90
  */
85
91
  function getMobiusSocketInstance(webex, mobiusSocketConfig) {
86
92
  if (mobiusSocketInstance) {
87
93
  return mobiusSocketInstance;
88
94
  }
89
- mobiusSocketInstance = new _mobiusSocket.default(webex, mobiusSocketConfig || _config.default.mobiusSocket);
95
+ mobiusSocketInstance = new _mobiusSocket.default(webex, _objectSpread(_objectSpread({}, _config.default.mobiusSocket), mobiusSocketConfig));
90
96
  return mobiusSocketInstance;
91
97
  }
92
98
 
93
99
  /**
94
100
  * Resets the singleton MobiusSocket instance, allowing a new one to be created.
95
- * @returns {void}
101
+ * @returns
96
102
  */
97
103
  function resetMobiusSocketInstance() {
98
104
  mobiusSocketInstance = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["require","_mobiusSocket","_interopRequireDefault","_config","_socket","_errors","mobiusSocketInstance","getMobiusSocketInstance","webex","mobiusSocketConfig","MobiusSocket","config","mobiusSocket","resetMobiusSocketInstance","undefined","_default","exports","default"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport MobiusSocket from './mobius-socket';\nimport config from './config';\n\n/**\n * Creates a calling-owned Mobius socket client for the provided Webex instance.\n *\n * @param {object} webex\n * @param {object} [mobiusSocketConfig]\n * @returns {MobiusSocket}\n */\nlet mobiusSocketInstance; // Keeping just one instance of MobiusSocket since there won't be multiple connections\n\n/**\n * Creates or returns the singleton Mobius socket client for the provided Webex instance.\n * @param {object} webex - The Webex SDK instance\n * @param {object} [mobiusSocketConfig] - Optional configuration overrides\n * @returns {MobiusSocket} The singleton MobiusSocket instance\n */\nexport function getMobiusSocketInstance(webex, mobiusSocketConfig) {\n if (mobiusSocketInstance) {\n return mobiusSocketInstance;\n }\n\n mobiusSocketInstance = new MobiusSocket(webex, mobiusSocketConfig || config.mobiusSocket);\n\n return mobiusSocketInstance;\n}\n\n/**\n * Resets the singleton MobiusSocket instance, allowing a new one to be created.\n * @returns {void}\n */\nexport function resetMobiusSocketInstance() {\n mobiusSocketInstance = undefined;\n}\n\nexport default MobiusSocket;\nexport {MobiusSocket};\nexport {default as Socket} from './socket';\nexport {config};\nexport {BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AAqCA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAhDA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIM,oBAAoB,CAAC,CAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAACC,KAAK,EAAEC,kBAAkB,EAAE;EACjE,IAAIH,oBAAoB,EAAE;IACxB,OAAOA,oBAAoB;EAC7B;EAEAA,oBAAoB,GAAG,IAAII,qBAAY,CAACF,KAAK,EAAEC,kBAAkB,IAAIE,eAAM,CAACC,YAAY,CAAC;EAEzF,OAAON,oBAAoB;AAC7B;;AAEA;AACA;AACA;AACA;AACO,SAASO,yBAAyBA,CAAA,EAAG;EAC1CP,oBAAoB,GAAGQ,SAAS;AAClC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcP,qBAAY","ignoreList":[]}
1
+ {"version":3,"names":["require","_mobiusSocket","_interopRequireDefault","_config","_socket","_errors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","mobiusSocketInstance","getMobiusSocketInstance","webex","mobiusSocketConfig","MobiusSocket","config","mobiusSocket","resetMobiusSocketInstance","undefined","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport MobiusSocket from './mobius-socket';\nimport config, {MobiusSocketConfig} from './config';\n\n/**\n * Creates a calling-owned Mobius socket client for the provided Webex instance.\n *\n * @param webex\n * @param [mobiusSocketConfig]\n * @returns\n */\nlet mobiusSocketInstance: MobiusSocket | undefined; // Keeping just one instance of MobiusSocket since there won't be multiple connections\n\n/**\n * Creates or returns the singleton Mobius socket client for the provided Webex instance.\n * @param webex - The Webex SDK instance\n * @param [mobiusSocketConfig] - Optional configuration overrides\n * @returns The singleton MobiusSocket instance\n */\nexport function getMobiusSocketInstance(\n webex: any,\n mobiusSocketConfig?: Partial<MobiusSocketConfig>\n): MobiusSocket {\n if (mobiusSocketInstance) {\n return mobiusSocketInstance;\n }\n\n mobiusSocketInstance = new MobiusSocket(webex, {\n ...config.mobiusSocket,\n ...mobiusSocketConfig,\n });\n\n return mobiusSocketInstance;\n}\n\n/**\n * Resets the singleton MobiusSocket instance, allowing a new one to be created.\n * @returns\n */\nexport function resetMobiusSocketInstance() {\n mobiusSocketInstance = undefined;\n}\n\nexport default MobiusSocket;\nexport {MobiusSocket};\nexport {default as Socket} from './socket';\nexport {config};\nexport {BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AA2CA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAAgG,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAtDhG;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIqB,oBAA8C,CAAC,CAAC;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CACrCC,KAAU,EACVC,kBAAgD,EAClC;EACd,IAAIH,oBAAoB,EAAE;IACxB,OAAOA,oBAAoB;EAC7B;EAEAA,oBAAoB,GAAG,IAAII,qBAAY,CAACF,KAAK,EAAAZ,aAAA,CAAAA,aAAA,KACxCe,eAAM,CAACC,YAAY,GACnBH,kBAAkB,CACtB,CAAC;EAEF,OAAOH,oBAAoB;AAC7B;;AAEA;AACA;AACA;AACA;AACO,SAASO,yBAAyBA,CAAA,EAAG;EAC1CP,oBAAoB,GAAGQ,SAAS;AAClC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEcQ,qBAAY","ignoreList":[]}
@@ -130,7 +130,9 @@ describe('plugin-mobiusSocket', function () {
130
130
  if (mockWebSocket && typeof mockWebSocket.close === 'function') {
131
131
  try {
132
132
  mockWebSocket.close();
133
- } catch (e) {}
133
+ } catch (e) {
134
+ // Ignore cleanup errors in tests.
135
+ }
134
136
  }
135
137
  // Restore stubs
136
138
  if (_index.Socket.getWebSocketConstructor.restore) {
@@ -214,12 +216,12 @@ describe('plugin-mobiusSocket', function () {
214
216
  var promise = mobiusSocket.connect();
215
217
  mockWebSocket.open();
216
218
  return promise.then(function () {
217
- var promise = mobiusSocket.disconnect();
219
+ var disconnectPromise = mobiusSocket.disconnect();
218
220
  mockWebSocket.emit('close', {
219
221
  code: 1000,
220
222
  reason: 'Done'
221
223
  });
222
- return promise;
224
+ return disconnectPromise;
223
225
  }).then(function () {
224
226
  return _testHelperChai.assert.calledOnce(spy);
225
227
  });