@webex/calling 3.12.0-mobius-socket.9 → 3.12.0-mobius-socket.11
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.
- package/dist/CallingClient/CallingClient.test.js +2 -2
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +1 -1
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +1 -1
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +1 -1
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/utils/request.js +2 -2
- package/dist/CallingClient/utils/request.js.map +1 -1
- package/dist/mobius-socket/config.js +61 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +106 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/index.js +101 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +511 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +1191 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +2107 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +20 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +632 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +36 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +752 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +29 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/module/CallingClient/utils/request.js +1 -1
- package/dist/module/mobius-socket/config.js +18 -0
- package/dist/module/mobius-socket/errors.js +30 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +761 -0
- package/dist/module/mobius-socket/socket/constants.js +10 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +374 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +24 -0
- package/dist/types/mobius-socket/config.d.ts +15 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +13 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +9 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +62 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +11 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +2 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +38 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +3 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +3 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/package.json +17 -5
- package/src/mobius-socket/socket/socket.js +13 -0
- package/src/mobius-socket/socket/socket.shim.js +31 -0
|
@@ -29,7 +29,7 @@ var _request = require("../utils/request");
|
|
|
29
29
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
30
30
|
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; }
|
|
31
31
|
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; }
|
|
32
|
-
jest.mock('
|
|
32
|
+
jest.mock('../../mobius-socket', function () {
|
|
33
33
|
return {
|
|
34
34
|
getMobiusSocketInstance: jest.fn().mockReturnValue({
|
|
35
35
|
sendWssRequest: jest.fn()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_request","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","mock","getMobiusSocketInstance","fn","mockReturnValue","sendWssRequest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","beforeEach","APIRequest","resetInstance","getInstance","isMobiusSocketEnabled","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","useFakeTimers","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_context2","jwe","_callee3","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_context4","mockReturnValueOnce","deregister","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\nimport {APIRequest} from '../utils/request';\n\njest.mock('@webex/internal-plugin-mobius-socket', () => ({\n getMobiusSocketInstance: jest.fn().mockReturnValue({\n sendWssRequest: jest.fn(),\n }),\n}));\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n beforeEach(() => {\n APIRequest.resetInstance();\n APIRequest.getInstance({webex, isMobiusSocketEnabled: false});\n });\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_request","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","mock","getMobiusSocketInstance","fn","mockReturnValue","sendWssRequest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","beforeEach","APIRequest","resetInstance","getInstance","isMobiusSocketEnabled","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","useFakeTimers","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_context2","jwe","_callee3","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_context4","mockReturnValueOnce","deregister","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\nimport {APIRequest} from '../utils/request';\n\njest.mock('../../mobius-socket', () => ({\n getMobiusSocketInstance: jest.fn().mockReturnValue({\n sendWssRequest: jest.fn(),\n }),\n}));\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n beforeEach(() => {\n APIRequest.resetInstance();\n APIRequest.getInstance({webex, isMobiusSocketEnabled: false});\n });\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ var _request = require("../utils/request");
|
|
|
36
36
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
37
37
|
function ownKeys(e, r) { var t = _Object$keys2(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; }
|
|
38
38
|
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; } /* eslint-disable @typescript-eslint/no-shadow */
|
|
39
|
-
jest.mock('
|
|
39
|
+
jest.mock('../../mobius-socket', function () {
|
|
40
40
|
return {
|
|
41
41
|
getMobiusSocketInstance: jest.fn().mockReturnValue({
|
|
42
42
|
sendWssRequest: jest.fn()
|