@webex/calling 3.10.0-next.12 → 3.10.0-next.14

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 (90) hide show
  1. package/dist/CallHistory/CallHistory.js +118 -124
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +189 -201
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +19 -20
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +32 -32
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +135 -137
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +198 -201
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +168 -168
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +647 -621
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +602 -624
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +15 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +113 -113
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +57 -74
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +22 -22
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +293 -300
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +246 -246
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/webWorker.js +24 -24
  42. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  43. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  44. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  45. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  46. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  47. package/dist/Contacts/ContactsClient.js +250 -253
  48. package/dist/Contacts/ContactsClient.js.map +1 -1
  49. package/dist/Contacts/ContactsClient.test.js +60 -60
  50. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  51. package/dist/Errors/catalog/CallError.js +7 -10
  52. package/dist/Errors/catalog/CallError.js.map +1 -1
  53. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  54. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  55. package/dist/Errors/catalog/ExtendedError.js +6 -8
  56. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  57. package/dist/Errors/catalog/LineError.js +6 -9
  58. package/dist/Errors/catalog/LineError.js.map +1 -1
  59. package/dist/Events/impl/index.js +11 -13
  60. package/dist/Events/impl/index.js.map +1 -1
  61. package/dist/Metrics/index.js +1 -2
  62. package/dist/Metrics/index.js.map +1 -1
  63. package/dist/SDKConnector/index.js +1 -2
  64. package/dist/SDKConnector/index.js.map +1 -1
  65. package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
  66. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  67. package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
  68. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  69. package/dist/Voicemail/UcmBackendConnector.js +84 -85
  70. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  71. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  72. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  73. package/dist/Voicemail/Voicemail.js +58 -61
  74. package/dist/Voicemail/Voicemail.js.map +1 -1
  75. package/dist/Voicemail/Voicemail.test.js +20 -20
  76. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  77. package/dist/Voicemail/WxCallBackendConnector.js +116 -117
  78. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  79. package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
  80. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  81. package/dist/common/Utils.js +168 -167
  82. package/dist/common/Utils.js.map +1 -1
  83. package/dist/common/Utils.test.js +120 -120
  84. package/dist/common/Utils.test.js.map +1 -1
  85. package/dist/common/testUtil.js +3 -3
  86. package/dist/common/testUtil.js.map +1 -1
  87. package/dist/module/CallingClient/calling/call.js +54 -45
  88. package/dist/types/CallingClient/calling/call.d.ts +3 -1
  89. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  90. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_testUtil","_types2","_ContactsClient","_constants","_Logger","_interopRequireDefault","_constants2","utils","_interopRequireWildcard","_contactFixtures","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","describe","webex","getTestUtilsWebex","contactClient","contactServiceUrl","concat","internal","services","_serviceUrls","contactsService","ENCRYPT_FILTER","USERS","CONTACT_FILTER","scimUrl","WEBEX_API_BTS","IDENTITY_ENDPOINT_RESOURCE","SCIM_ENDPOINT_RESOURCE","device","orgId","SCIM_USER_FILTER","contactServiceGroupUrl","GROUP_FILTER","serviceErrorCodeHandlerSpy","jest","spyOn","uploadLogsSpy","mockResolvedValue","failureResponsePayload","statusCode","body","mockGroupResponse","mockContactResponseBodyOne","groups","beforeEach","createContactsClient","level","LOGGER","INFO","expect","toBeTruthy","getSDKConnector","getWebex","log","afterEach","request","mockClear","clearAllMocks","errorCodes","name","payloadData","inputStatusCode","expectedData","contacts","mockContactListOne","mockContactGroupListOne","expectedMessage","SUCCESS_MESSAGE","expectedStatusCode","decryptTextList","mockCity","mockCountry","mockState","mockStreet","mockZipCode","mockAvatarURL","mockCompany","mockDisplayNameOne","mockEmail","mockFirstName","mockLastName","mockNumber1","mockNumber2","mockSipAddress","mockTitle","mockGroupName","cloudContactPresent","scimResponse","mockSCIMListResponse","mockContactResponseBodyTwo","mockContactListTwo","mockContactGroupListTwo","mockDisplayNameTwo","mockContactResponseBodyThird","undefined","error","FAILURE_MESSAGE","map","stat","_assign","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","codeObj","respPayload","contactsResponse","wrap","_callee$","_context","prev","next","mockResolvedValueOnce","text","encryption","decryptText","mockRejectedValueOnce","getContacts","sent","toBeCalledTimes","toHaveBeenNthCalledWith","uri","method","HTTP_METHODS","GET","headers","info","toHaveBeenCalledWith","METHOD_START_MESSAGE","file","CONTACTS_CLIENT","METHODS","GET_CONTACTS","toHaveBeenCalled","toBeCalledOnceWith","toEqual","data","any","message","not","toBeCalled","Error","stop","_x","_callee2","_contactsResponse$dat","successResponsePayload","_callee2$","_context2","kms","createUnboundKeys","mockKmsKey","createResource","encryptText","createContactGroup","group","groupId","toBe","count","keyUris","displayName","encryptionKeyUrl","groupType","schemas","CREATE_CONTACT_GROUP","CREATE_NEW_ENCRYPTION_KEY_URL","DEFAULT_GROUP_NAME","_callee3","_contactsResponse$dat2","infoSpy","_callee3$","_context3","toBeCalledWith","POST","CONTACTS_SCHEMA","_callee4","logSpy","_callee4$","_context4","_callee5","loggerContext","warnSpy","errorSpy","_callee5$","_context5","mockRejectedValue","_stringify","_callee6","_callee6$","_context6","deleteContactGroup","DELETE","_callee7","response","_callee7$","_context7","_callee8","_res$data$contact","_result$data$contact","mockContactResponse","contact","res","result","_callee8$","_context8","slice","createContact","contactId","contactType","CREATE_CONTACT","_callee9","_res$data$contact2","successContactGroupResponsePayload","successContactResponsePayload","_callee9$","_context9","FETCH_ENCRYPTION_KEY_URL","_callee0","_res$data$contact3","successResponsePayloadGroup","_callee0$","_context0","_callee1","_callee1$","_context1","_callee10","_callee10$","_context10","deleteContact","DELETE_CONTACT","_callee11","_callee11$","_context11","userId","mockContactMinimum","mockSCIMMinListResponse","avatarURL","avatarUrlDomain","department","emails","firstName","lastName","manager","ownerId","phoneNumbers","sipAddresses","resolved","mockContact","janeDoe","_callee12","mockData","_callee12$","_context12"],"sources":["ContactsClient.test.ts"],"sourcesContent":["import {HTTP_METHODS, SCIMListResponse, WebexRequestPayload} from '../common/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {Contact, ContactResponse, IContacts} from './types';\nimport {createContactsClient} from './ContactsClient';\nimport {\n FAILURE_MESSAGE,\n IDENTITY_ENDPOINT_RESOURCE,\n METHOD_START_MESSAGE,\n SCIM_ENDPOINT_RESOURCE,\n SCIM_USER_FILTER,\n SUCCESS_MESSAGE,\n WEBEX_API_BTS,\n} from '../common/constants';\nimport log from '../Logger';\nimport {\n CONTACTS_CLIENT,\n CONTACT_FILTER,\n ENCRYPT_FILTER,\n DEFAULT_GROUP_NAME,\n USERS,\n GROUP_FILTER,\n CONTACTS_SCHEMA,\n METHODS,\n} from './constants';\nimport * as utils from '../common/Utils';\nimport {\n mockCity,\n mockCompany,\n mockContactListTwo,\n mockContactResponseBodyTwo,\n mockContactListOne,\n mockContactResponseBodyOne,\n mockCountry,\n mockDisplayNameOne,\n mockEmail,\n mockFirstName,\n mockLastName,\n mockNumber1,\n mockNumber2,\n mockSCIMListResponse,\n mockSipAddress,\n mockState,\n mockStreet,\n mockTitle,\n mockZipCode,\n mockDisplayNameTwo,\n mockContactResponseBodyThird,\n mockKmsKey,\n mockGroupName,\n mockContactGroupListOne,\n mockContactGroupListTwo,\n mockAvatarURL,\n mockSCIMMinListResponse,\n mockContactMinimum,\n} from './contactFixtures';\n\ndescribe('ContactClient Tests', () => {\n const webex = getTestUtilsWebex();\n\n let contactClient: IContacts;\n\n // eslint-disable-next-line no-underscore-dangle\n const contactServiceUrl = `${webex.internal.services._serviceUrls.contactsService}/${ENCRYPT_FILTER}/${USERS}/${CONTACT_FILTER}`;\n const scimUrl = `${WEBEX_API_BTS}/${IDENTITY_ENDPOINT_RESOURCE}/${SCIM_ENDPOINT_RESOURCE}/${webex.internal.device.orgId}/${SCIM_USER_FILTER}id%20eq%20%22801bb994-343b-4f6b-97ae-d13c91d4b877%22`;\n // eslint-disable-next-line no-underscore-dangle\n const contactServiceGroupUrl = `${webex.internal.services._serviceUrls.contactsService}/${ENCRYPT_FILTER}/${USERS}/${GROUP_FILTER}`;\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n const failureResponsePayload = <WebexRequestPayload>{\n statusCode: 503,\n body: {},\n };\n const mockGroupResponse = mockContactResponseBodyOne.groups[0];\n\n beforeEach(() => {\n contactClient = createContactsClient(webex, {level: LOGGER.INFO});\n\n expect(contactClient).toBeTruthy();\n expect(contactClient.getSDKConnector().getWebex()).toBeTruthy();\n\n // Set up log spies for each test\n jest.spyOn(log, 'info');\n jest.spyOn(log, 'log');\n jest.spyOn(log, 'warn');\n jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n webex.request.mockClear();\n jest.clearAllMocks();\n });\n\n /**\n * TestCase inputs\n * name: TestCase name\n * payloadData: Response body\n * inputStatusCode: Status code received in response\n * expectedData: Expected data field in ContactResponse after processing\n * expectedMessage: Expected message field in ContactResponse after processing\n * expectedStatusCode: Expected status code field in ContactResponse after processing\n * decryptTextList: Array of decrypted contact list.\n */\n const errorCodes: {\n name: string;\n payloadData: unknown;\n inputStatusCode: number;\n expectedData: unknown;\n expectedMessage: string;\n expectedStatusCode: number;\n decryptTextList: Array<string>;\n cloudContactPresent?: boolean;\n scimResponse?: SCIMListResponse;\n }[] = [\n {\n name: 'Success case 1: fetch contacts using get contacts api, custom and cloud contact present',\n payloadData: mockContactResponseBodyOne,\n inputStatusCode: 200,\n expectedData: {contacts: mockContactListOne, groups: mockContactGroupListOne},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [\n mockCity,\n mockCountry,\n mockState,\n mockStreet,\n mockZipCode,\n mockAvatarURL,\n mockCompany,\n mockDisplayNameOne,\n mockEmail,\n mockFirstName,\n mockLastName,\n mockNumber1,\n mockNumber2,\n mockSipAddress,\n mockTitle,\n mockNumber2,\n mockSipAddress,\n mockGroupName,\n ],\n cloudContactPresent: true,\n scimResponse: mockSCIMListResponse,\n },\n {\n name: 'Success case 2: fetch contacts using get contacts api, single custom contact with mandatory details present',\n payloadData: mockContactResponseBodyTwo,\n inputStatusCode: 200,\n expectedData: {contacts: mockContactListTwo, groups: mockContactGroupListTwo},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [mockDisplayNameTwo, mockGroupName],\n },\n {\n name: 'Success case 3: fetch contacts using get contacts api, no contacts returned',\n payloadData: mockContactResponseBodyThird,\n inputStatusCode: 200,\n expectedData: {contacts: [], groups: []},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [],\n },\n {\n name: 'Failed case: 200 OK with no response body',\n payloadData: undefined,\n inputStatusCode: 200,\n expectedData: {error: '422 Exception has occurred'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 422,\n decryptTextList: [],\n },\n {\n name: 'Failed case 403: fetch contacts using get contacts api',\n payloadData: {error: '403 Forbidden'},\n inputStatusCode: 403,\n expectedData: {error: 'User request is forbidden'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 403,\n decryptTextList: [],\n },\n {\n name: 'Failed case 408: fetch contacts using get contacts api',\n payloadData: {error: '408 Request Timeout'},\n inputStatusCode: 408,\n expectedData: {error: 'Request to the server timedout'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 408,\n decryptTextList: [],\n },\n {\n name: 'Failed case 500: fetch contacts using get contacts api',\n payloadData: {error: '500 Internal Server Error'},\n inputStatusCode: 500,\n expectedData: {error: 'Internal server error occurred'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 500,\n decryptTextList: [],\n },\n {\n name: 'Failed case 503: fetch contacts using get contacts api',\n payloadData: {error: '503 Service Unavailable'},\n inputStatusCode: 503,\n expectedData: {error: 'Unable to establish a connection with the server'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 503,\n decryptTextList: [],\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(errorCodes)('%s', async (codeObj) => {\n const respPayload = {\n statusCode: codeObj.inputStatusCode,\n };\n\n if (codeObj.inputStatusCode === 200) {\n respPayload['body'] = codeObj.payloadData;\n webex.request.mockResolvedValueOnce(respPayload);\n codeObj.decryptTextList.forEach((text) => {\n webex.internal.encryption.decryptText.mockResolvedValueOnce(text);\n });\n\n if (codeObj.scimResponse) {\n webex.request.mockResolvedValueOnce(mockSCIMListResponse);\n }\n } else {\n respPayload['message'] = FAILURE_MESSAGE;\n respPayload['data'] = codeObj.payloadData;\n webex.request.mockRejectedValueOnce(respPayload);\n }\n\n const contactsResponse = await contactClient.getContacts();\n\n if (codeObj.inputStatusCode === 200) {\n if (codeObj.cloudContactPresent) {\n expect(webex.request).toBeCalledTimes(2);\n } else {\n expect(webex.request).toBeCalledTimes(1);\n }\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\n\n if (codeObj.cloudContactPresent) {\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n uri: scimUrl,\n method: HTTP_METHODS.GET,\n headers: {\n 'cisco-device-url':\n 'https://wdm-intb.ciscospark.com/wdm/api/v1/devices/c5ae3b86-1bb7-40f1-a6a9-c296ee7e61d5',\n 'spark-user-agent': 'webex-calling/beta',\n },\n });\n }\n\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n\n if (codeObj.payloadData) {\n expect(log.log).toHaveBeenCalledWith('Successfully fetched contacts and groups', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n } else {\n expect(log.error).toHaveBeenCalled();\n }\n } else {\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\n\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(log.error).toHaveBeenCalled();\n }\n\n expect(contactsResponse).toEqual({\n data: expect.any(Object),\n message: codeObj.expectedMessage,\n statusCode: codeObj.expectedStatusCode,\n });\n\n if (codeObj.expectedMessage === SUCCESS_MESSAGE) {\n expect(serviceErrorCodeHandlerSpy).not.toBeCalled();\n } else {\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n codeObj.payloadData ? respPayload : expect.any(Error),\n {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n }\n );\n }\n });\n\n it('create a contact group without encryptionKey', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n\n contactClient['groups'] = [];\n contactClient['encryptionKeyUrl'] = '';\n\n webex.request.mockResolvedValue(successResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText\n .mockResolvedValueOnce('Encrypted Other')\n .mockResolvedValueOnce('Encrypted Top');\n\n const contactsResponse = await contactClient.createContactGroup('Top Contacts');\n\n expect(contactsResponse.statusCode).toEqual(201);\n expect(contactsResponse.data.group?.groupId).toBe(mockGroupResponse.groupId);\n expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({count: 1});\n expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({\n keyUris: [mockKmsKey.uri],\n });\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n uri: contactServiceGroupUrl,\n method: 'POST',\n body: {\n displayName: 'Encrypted Other',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n uri: contactServiceGroupUrl,\n method: 'POST',\n body: {\n displayName: 'Encrypted Top',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n expect(contactClient['groups'].length).toEqual(2);\n expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');\n\n expect(log.info).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with displayName: Top Contacts`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.info).toHaveBeenCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toHaveBeenCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n expect(log.log).toHaveBeenCalledWith(`Contact group Top Contacts successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n });\n\n it('create a contact group with existing key info', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockResolvedValue(successResponsePayload);\n\n webex.internal.encryption.encryptText.mockResolvedValue('Encrypted Top Contacts');\n const infoSpy = jest.spyOn(log, 'info');\n const contactsResponse = await contactClient.createContactGroup('Top Contacts');\n\n expect(contactsResponse.statusCode).toEqual(201);\n expect(contactsResponse.data.group?.groupId).toBe(mockGroupResponse.groupId);\n expect(infoSpy).toBeCalledWith(`${METHOD_START_MESSAGE} with displayName: Top Contacts`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n expect(log.log).toBeCalledWith(`Contact group Top Contacts successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n expect(infoSpy).not.toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n body: {\n displayName: 'Encrypted Top Contacts',\n encryptionKeyUrl: mockContactGroupListOne[0].encryptionKeyUrl,\n groupType: 'NORMAL',\n schemas: CONTACTS_SCHEMA,\n },\n });\n\n expect(contactClient['groups'].length).toEqual(2);\n expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');\n });\n\n it('create a contact group with same displayName', async () => {\n contactClient['groups'] = mockContactResponseBodyOne.groups;\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n const logSpy = jest.spyOn(log, 'warn');\n const contactsResponse = await contactClient.createContactGroup(mockGroupResponse.displayName);\n\n expect(webex.request).not.toBeCalled();\n expect(contactsResponse.statusCode).toBe(400);\n expect(logSpy).toBeCalledOnceWith(\n `Group name ${mockGroupResponse.displayName} already exists.`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with displayName: ${mockGroupResponse.displayName}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(contactClient['groups']).toEqual(mockContactResponseBodyOne.groups);\n });\n\n it('create a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_CLIENT,\n method: 'createContactGroup',\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockRejectedValue(failureResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n const warnSpy = jest.spyOn(log, 'warn');\n const errorSpy = jest.spyOn(log, 'error');\n\n const contactsResponse = await contactClient.createContactGroup('New group');\n\n expect(contactsResponse.statusCode).toBe(503);\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n body: {\n displayName: 'Encrypted group name',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with displayName: New group`,\n loggerContext\n );\n expect(warnSpy).toBeCalledTimes(1);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n '503 Unable to establish a connection with the server',\n loggerContext\n );\n expect(errorSpy).toBeCalledTimes(1);\n expect(errorSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to create contact group: ${JSON.stringify(failureResponsePayload)}`,\n loggerContext\n );\n\n expect(contactClient['groups']).toEqual(mockContactGroupListOne);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);\n });\n\n it('delete a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockRejectedValue(failureResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n const warnSpy = jest.spyOn(log, 'warn');\n const errorSpy = jest.spyOn(log, 'error');\n const contactsResponse = await contactClient.deleteContactGroup(mockGroupResponse.groupId);\n\n expect(contactsResponse.statusCode).toBe(503);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.DELETE,\n uri: `${contactServiceGroupUrl}/${mockGroupResponse.groupId}`,\n });\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with groupId: ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(log.info).toBeCalledWith(\n `Deleting contact group: ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(warnSpy).toBeCalledTimes(1);\n expect(errorSpy).toBeCalledTimes(1);\n expect(uploadLogsSpy).toBeCalledTimes(1);\n expect(errorSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to delete contact group ${mockGroupResponse.groupId}: ${JSON.stringify(\n failureResponsePayload\n )}`,\n loggerContext\n );\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n '503 Unable to establish a connection with the server',\n loggerContext\n );\n\n expect(contactClient['groups']).toEqual(mockContactGroupListOne);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);\n });\n\n it('successful deletion of contact group', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 204,\n };\n\n contactClient['groups'] = [mockContactGroupListOne[0]];\n webex.request.mockResolvedValue(successResponsePayload);\n const response = await contactClient.deleteContactGroup(mockContactGroupListOne[0].groupId);\n\n expect(response.statusCode).toEqual(204);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceGroupUrl}/${mockContactGroupListOne[0].groupId}`,\n method: HTTP_METHODS.DELETE,\n });\n expect(contactClient['groups']).toEqual([]);\n\n expect(log.info).toBeCalledWith(\n `Deleting contact group: ${mockContactGroupListOne[0].groupId}`,\n {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n }\n );\n expect(log.log).toBeCalledWith(\n `Contact group ${mockContactGroupListOne[0].groupId} successfully deleted`,\n {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n }\n );\n });\n\n it('create a contact with an existing group', async () => {\n const mockContactResponse = mockContactResponseBodyTwo.contacts[0];\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n\n webex.request.mockResolvedValue(successResponsePayload);\n webex.internal.encryption.encryptText.mockResolvedValue('Encrypted contact name');\n const infoSpy = jest.spyOn(log, 'info');\n const logSpy = jest.spyOn(log, 'log');\n\n contactClient['groups'] = mockContactGroupListOne;\n contactClient['encryptionKeyUrl'] = mockContactGroupListOne[0].encryptionKeyUrl;\n\n const contact = mockContactListTwo.slice()[0] as Contact;\n\n contact.groups = [];\n\n const res: ContactResponse = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(201);\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n expect(infoSpy).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactType: ${contact.contactType}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n }\n );\n expect(logSpy).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_CLIENT,\n method: 'createNewEncryptionKeyUrl',\n });\n\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_CLIENT,\n method: 'createNewEncryptionKeyUrl',\n });\n expect(infoSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n\n expect(webex.internal.encryption.encryptText).toBeCalledOnceWith(\n mockContactGroupListOne[0].encryptionKeyUrl,\n contact.displayName\n );\n\n expect(webex.request).toBeCalledOnceWith({\n body: {\n ...contact,\n displayName: 'Encrypted contact name',\n groups: [mockContactGroupListOne[0].groupId],\n schemas: CONTACTS_SCHEMA,\n },\n uri: contactServiceUrl,\n method: HTTP_METHODS.POST,\n });\n\n logSpy.mockClear();\n\n /* for coverage */\n const result: ContactResponse = await contactClient.createContact(contact);\n\n expect(result.data.contact?.contactId).toBe(mockContactResponse.contactId);\n expect(logSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n });\n\n it('create a contact without a group and encryptionKey', async () => {\n const mockContactResponse = mockContactResponseBodyOne.contacts[1];\n\n contactClient['groups'] = [];\n contactClient['encryptionKey'] = '';\n contactClient['defaultGroupId'] = '';\n const successContactGroupResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n const successContactResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n\n webex.request\n .mockResolvedValueOnce(successContactGroupResponsePayload)\n .mockResolvedValueOnce(successContactResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n\n const contact = {\n contactType: 'CUSTOM',\n } as Contact;\n\n const res = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(201);\n\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n body: {\n displayName: 'Encrypted group name',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: CONTACTS_SCHEMA,\n },\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n });\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n body: {\n contactType: 'CUSTOM',\n encryptionKeyUrl: mockKmsKey.uri,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n schemas: CONTACTS_SCHEMA,\n },\n method: HTTP_METHODS.POST,\n uri: contactServiceUrl,\n });\n expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({count: 1});\n expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({\n keyUris: [mockKmsKey.uri],\n });\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CUSTOM`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(log.info).toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.info).toBeCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.FETCH_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: 'createContact',\n });\n });\n\n it('create a cloud contact with no existing groups', async () => {\n const mockContactResponse = mockContactResponseBodyOne.contacts[0];\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n const successResponsePayloadGroup = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponseBodyOne.groups[0],\n };\n\n webex.request\n .mockResolvedValueOnce(successResponsePayloadGroup)\n .mockResolvedValueOnce(successResponsePayload)\n .mockResolvedValueOnce(mockSCIMListResponse);\n\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n\n contactClient['groups'] = [];\n contactClient['encryptionKeyUrl'] = mockContactResponseBodyOne.groups[0].encryptionKeyUrl;\n\n const contact = {\n contactType: 'CLOUD',\n } as Contact;\n\n contact.groups = [];\n\n let res: ContactResponse = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(400);\n expect(res.data.error).toEqual('contactId is required for contactType:CLOUD.');\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CLOUD`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n\n contact.contactId = mockContactResponse.contactId;\n\n res = await contactClient.createContact(contact);\n expect(res.statusCode).toEqual(201);\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n\n expect(webex.request).toBeCalledTimes(3);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n method: HTTP_METHODS.POST,\n uri: contactServiceGroupUrl,\n body: {\n displayName: 'Encrypted group name',\n groupType: 'NORMAL',\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n schemas: CONTACTS_SCHEMA,\n },\n });\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n method: HTTP_METHODS.POST,\n uri: contactServiceUrl,\n body: {\n contactId: mockContactResponse.contactId,\n contactType: 'CLOUD',\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n schemas: CONTACTS_SCHEMA,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n },\n });\n expect(webex.request).toHaveBeenNthCalledWith(3, {\n uri: scimUrl,\n method: HTTP_METHODS.GET,\n headers: {\n 'cisco-device-url':\n 'https://wdm-intb.ciscospark.com/wdm/api/v1/devices/c5ae3b86-1bb7-40f1-a6a9-c296ee7e61d5',\n 'spark-user-agent': 'webex-calling/beta',\n },\n });\n\n expect(log.log).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: 'createContact',\n });\n });\n\n it('create a contact - service unavailable', async () => {\n webex.request.mockRejectedValue(failureResponsePayload);\n\n contactClient['groups'] = mockContactGroupListOne.slice();\n contactClient['encryptionKeyUrl'] = mockContactResponseBodyOne.groups[0].encryptionKeyUrl;\n const contact = {\n contactType: 'CLOUD',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n } as Contact;\n\n const res: ContactResponse = await contactClient.createContact(contact);\n\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.POST,\n body: {\n ...contact,\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n groups: [mockContactGroupListOne[0].groupId],\n schemas: CONTACTS_SCHEMA,\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(res.statusCode).toEqual(503);\n\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CLOUD`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(log.error).toBeCalledWith(\n `Failed to create contact: ${JSON.stringify(failureResponsePayload)}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n }\n );\n });\n\n it('successful deletion of contacts', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 204,\n };\n\n contactClient['contacts'] = [mockContactListOne[0]];\n webex.request.mockResolvedValue(successResponsePayload);\n const response = await contactClient.deleteContact(mockContactListOne[0].contactId);\n\n expect(response.statusCode).toEqual(204);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceUrl}/${mockContactListOne[0].contactId}`,\n method: HTTP_METHODS.DELETE,\n });\n expect(contactClient['contacts']).toEqual([]);\n\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactId: ${mockContactListOne[0].contactId}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n }\n );\n expect(log.info).toBeCalledWith(`Deleting contact : ${mockContactListOne[0].contactId}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n });\n\n it('delete a contact - service unavailable', async () => {\n contactClient['contacts'] = mockContactListOne;\n\n webex.request.mockRejectedValue(failureResponsePayload);\n const response = await contactClient.deleteContact(mockContactListOne[0].contactId);\n\n expect(response.statusCode).toEqual(503);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceUrl}/${mockContactListOne[0].contactId}`,\n method: HTTP_METHODS.DELETE,\n });\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n\n expect(contactClient['contacts']).toEqual(mockContactListOne);\n\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactId: ${mockContactListOne[0].contactId}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n }\n );\n expect(log.info).toBeCalledWith(`Deleting contact : ${mockContactListOne[0].contactId}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n });\n\n it('test resolveContacts function for a minimal contact with few details', () => {\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum},\n mockSCIMMinListResponse.body\n );\n\n expect(contact).toEqual([\n {\n avatarURL: '',\n avatarUrlDomain: undefined,\n contactId: 'userId',\n contactType: 'CLOUD',\n department: undefined,\n displayName: undefined,\n emails: undefined,\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: undefined,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: undefined,\n manager: undefined,\n ownerId: 'ownerId',\n phoneNumbers: undefined,\n sipAddresses: undefined,\n resolved: true,\n },\n ]);\n });\n\n it(\"test resolveContacts function when contactsDataMap list doesn't match resolved list\", () => {\n const mockContact = {\n firstName: 'Jane',\n lastName: 'Doe',\n contactId: 'janeDoe',\n };\n\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum, janeDoe: mockContact},\n mockSCIMMinListResponse.body\n );\n\n expect(contact).toEqual([\n {\n firstName: 'Jane',\n lastName: 'Doe',\n contactId: 'janeDoe',\n resolved: false,\n },\n {\n avatarURL: '',\n avatarUrlDomain: undefined,\n contactId: 'userId',\n contactType: 'CLOUD',\n department: undefined,\n displayName: undefined,\n emails: undefined,\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: undefined,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: undefined,\n manager: undefined,\n ownerId: 'ownerId',\n phoneNumbers: undefined,\n sipAddresses: undefined,\n resolved: true,\n },\n ]);\n });\n\n it('test resolveContacts function encountering an error', () => {\n const warnSpy = jest.spyOn(log, 'warn');\n\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum},\n mockSCIMMinListResponse\n );\n\n expect(contact).toEqual(null);\n expect(warnSpy).toHaveBeenCalledWith('Error occurred while parsing resolved contacts', {\n file: CONTACTS_CLIENT,\n method: 'resolveCloudContacts',\n });\n });\n\n it('logs error for chunk when scimQuery API call fails in the loop for getContacts', async () => {\n const mockData = errorCodes[0];\n const respPayload = {\n statusCode: mockData.inputStatusCode,\n body: mockData.payloadData,\n };\n webex.request.mockResolvedValueOnce(respPayload).mockRejectedValueOnce({\n ...respPayload,\n statusCode: 503,\n message: FAILURE_MESSAGE,\n data: mockData.payloadData,\n });\n\n mockData.decryptTextList.forEach((text) => {\n webex.internal.encryption.decryptText.mockResolvedValueOnce(text);\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const infoSpy = jest.spyOn(log, 'info');\n const logSpy = jest.spyOn(log, 'log');\n\n await contactClient.getContacts();\n\n expect(webex.request).toBeCalledTimes(2);\n expect(warnSpy).toBeCalledTimes(1);\n expect(warnSpy).toBeCalledWith('Error processing contact chunk 0-50', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(infoSpy).toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(logSpy).toBeCalledWith('Successfully fetched contacts and groups', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_testUtil","_types2","_ContactsClient","_constants","_Logger","_interopRequireDefault","_constants2","utils","_interopRequireWildcard","_contactFixtures","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","describe","webex","getTestUtilsWebex","contactClient","contactServiceUrl","concat","internal","services","_serviceUrls","contactsService","ENCRYPT_FILTER","USERS","CONTACT_FILTER","scimUrl","WEBEX_API_BTS","IDENTITY_ENDPOINT_RESOURCE","SCIM_ENDPOINT_RESOURCE","device","orgId","SCIM_USER_FILTER","contactServiceGroupUrl","GROUP_FILTER","serviceErrorCodeHandlerSpy","jest","spyOn","uploadLogsSpy","mockResolvedValue","failureResponsePayload","statusCode","body","mockGroupResponse","mockContactResponseBodyOne","groups","beforeEach","createContactsClient","level","LOGGER","INFO","expect","toBeTruthy","getSDKConnector","getWebex","log","afterEach","request","mockClear","clearAllMocks","errorCodes","name","payloadData","inputStatusCode","expectedData","contacts","mockContactListOne","mockContactGroupListOne","expectedMessage","SUCCESS_MESSAGE","expectedStatusCode","decryptTextList","mockCity","mockCountry","mockState","mockStreet","mockZipCode","mockAvatarURL","mockCompany","mockDisplayNameOne","mockEmail","mockFirstName","mockLastName","mockNumber1","mockNumber2","mockSipAddress","mockTitle","mockGroupName","cloudContactPresent","scimResponse","mockSCIMListResponse","mockContactResponseBodyTwo","mockContactListTwo","mockContactGroupListTwo","mockDisplayNameTwo","mockContactResponseBodyThird","undefined","error","FAILURE_MESSAGE","map","stat","_assign","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","codeObj","respPayload","contactsResponse","wrap","_context","prev","next","mockResolvedValueOnce","text","encryption","decryptText","mockRejectedValueOnce","getContacts","sent","toBeCalledTimes","toHaveBeenNthCalledWith","uri","method","HTTP_METHODS","GET","headers","info","toHaveBeenCalledWith","METHOD_START_MESSAGE","file","CONTACTS_CLIENT","METHODS","GET_CONTACTS","toHaveBeenCalled","toBeCalledOnceWith","toEqual","data","any","message","not","toBeCalled","Error","stop","_x","_callee2","_contactsResponse$dat","successResponsePayload","_context2","kms","createUnboundKeys","mockKmsKey","createResource","encryptText","createContactGroup","group","groupId","toBe","count","keyUris","displayName","encryptionKeyUrl","groupType","schemas","CREATE_CONTACT_GROUP","CREATE_NEW_ENCRYPTION_KEY_URL","DEFAULT_GROUP_NAME","_callee3","_contactsResponse$dat2","infoSpy","_context3","toBeCalledWith","POST","CONTACTS_SCHEMA","_callee4","logSpy","_context4","_callee5","loggerContext","warnSpy","errorSpy","_context5","mockRejectedValue","_stringify","_callee6","_context6","deleteContactGroup","DELETE","_callee7","response","_context7","_callee8","_res$data$contact","_result$data$contact","mockContactResponse","contact","res","result","_context8","slice","createContact","contactId","contactType","CREATE_CONTACT","_callee9","_res$data$contact2","successContactGroupResponsePayload","successContactResponsePayload","_context9","FETCH_ENCRYPTION_KEY_URL","_callee0","_res$data$contact3","successResponsePayloadGroup","_context0","_callee1","_context1","_callee10","_context10","deleteContact","DELETE_CONTACT","_callee11","_context11","userId","mockContactMinimum","mockSCIMMinListResponse","avatarURL","avatarUrlDomain","department","emails","firstName","lastName","manager","ownerId","phoneNumbers","sipAddresses","resolved","mockContact","janeDoe","_callee12","mockData","_context12"],"sources":["ContactsClient.test.ts"],"sourcesContent":["import {HTTP_METHODS, SCIMListResponse, WebexRequestPayload} from '../common/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {Contact, ContactResponse, IContacts} from './types';\nimport {createContactsClient} from './ContactsClient';\nimport {\n FAILURE_MESSAGE,\n IDENTITY_ENDPOINT_RESOURCE,\n METHOD_START_MESSAGE,\n SCIM_ENDPOINT_RESOURCE,\n SCIM_USER_FILTER,\n SUCCESS_MESSAGE,\n WEBEX_API_BTS,\n} from '../common/constants';\nimport log from '../Logger';\nimport {\n CONTACTS_CLIENT,\n CONTACT_FILTER,\n ENCRYPT_FILTER,\n DEFAULT_GROUP_NAME,\n USERS,\n GROUP_FILTER,\n CONTACTS_SCHEMA,\n METHODS,\n} from './constants';\nimport * as utils from '../common/Utils';\nimport {\n mockCity,\n mockCompany,\n mockContactListTwo,\n mockContactResponseBodyTwo,\n mockContactListOne,\n mockContactResponseBodyOne,\n mockCountry,\n mockDisplayNameOne,\n mockEmail,\n mockFirstName,\n mockLastName,\n mockNumber1,\n mockNumber2,\n mockSCIMListResponse,\n mockSipAddress,\n mockState,\n mockStreet,\n mockTitle,\n mockZipCode,\n mockDisplayNameTwo,\n mockContactResponseBodyThird,\n mockKmsKey,\n mockGroupName,\n mockContactGroupListOne,\n mockContactGroupListTwo,\n mockAvatarURL,\n mockSCIMMinListResponse,\n mockContactMinimum,\n} from './contactFixtures';\n\ndescribe('ContactClient Tests', () => {\n const webex = getTestUtilsWebex();\n\n let contactClient: IContacts;\n\n // eslint-disable-next-line no-underscore-dangle\n const contactServiceUrl = `${webex.internal.services._serviceUrls.contactsService}/${ENCRYPT_FILTER}/${USERS}/${CONTACT_FILTER}`;\n const scimUrl = `${WEBEX_API_BTS}/${IDENTITY_ENDPOINT_RESOURCE}/${SCIM_ENDPOINT_RESOURCE}/${webex.internal.device.orgId}/${SCIM_USER_FILTER}id%20eq%20%22801bb994-343b-4f6b-97ae-d13c91d4b877%22`;\n // eslint-disable-next-line no-underscore-dangle\n const contactServiceGroupUrl = `${webex.internal.services._serviceUrls.contactsService}/${ENCRYPT_FILTER}/${USERS}/${GROUP_FILTER}`;\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n const failureResponsePayload = <WebexRequestPayload>{\n statusCode: 503,\n body: {},\n };\n const mockGroupResponse = mockContactResponseBodyOne.groups[0];\n\n beforeEach(() => {\n contactClient = createContactsClient(webex, {level: LOGGER.INFO});\n\n expect(contactClient).toBeTruthy();\n expect(contactClient.getSDKConnector().getWebex()).toBeTruthy();\n\n // Set up log spies for each test\n jest.spyOn(log, 'info');\n jest.spyOn(log, 'log');\n jest.spyOn(log, 'warn');\n jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n webex.request.mockClear();\n jest.clearAllMocks();\n });\n\n /**\n * TestCase inputs\n * name: TestCase name\n * payloadData: Response body\n * inputStatusCode: Status code received in response\n * expectedData: Expected data field in ContactResponse after processing\n * expectedMessage: Expected message field in ContactResponse after processing\n * expectedStatusCode: Expected status code field in ContactResponse after processing\n * decryptTextList: Array of decrypted contact list.\n */\n const errorCodes: {\n name: string;\n payloadData: unknown;\n inputStatusCode: number;\n expectedData: unknown;\n expectedMessage: string;\n expectedStatusCode: number;\n decryptTextList: Array<string>;\n cloudContactPresent?: boolean;\n scimResponse?: SCIMListResponse;\n }[] = [\n {\n name: 'Success case 1: fetch contacts using get contacts api, custom and cloud contact present',\n payloadData: mockContactResponseBodyOne,\n inputStatusCode: 200,\n expectedData: {contacts: mockContactListOne, groups: mockContactGroupListOne},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [\n mockCity,\n mockCountry,\n mockState,\n mockStreet,\n mockZipCode,\n mockAvatarURL,\n mockCompany,\n mockDisplayNameOne,\n mockEmail,\n mockFirstName,\n mockLastName,\n mockNumber1,\n mockNumber2,\n mockSipAddress,\n mockTitle,\n mockNumber2,\n mockSipAddress,\n mockGroupName,\n ],\n cloudContactPresent: true,\n scimResponse: mockSCIMListResponse,\n },\n {\n name: 'Success case 2: fetch contacts using get contacts api, single custom contact with mandatory details present',\n payloadData: mockContactResponseBodyTwo,\n inputStatusCode: 200,\n expectedData: {contacts: mockContactListTwo, groups: mockContactGroupListTwo},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [mockDisplayNameTwo, mockGroupName],\n },\n {\n name: 'Success case 3: fetch contacts using get contacts api, no contacts returned',\n payloadData: mockContactResponseBodyThird,\n inputStatusCode: 200,\n expectedData: {contacts: [], groups: []},\n expectedMessage: SUCCESS_MESSAGE,\n expectedStatusCode: 200,\n decryptTextList: [],\n },\n {\n name: 'Failed case: 200 OK with no response body',\n payloadData: undefined,\n inputStatusCode: 200,\n expectedData: {error: '422 Exception has occurred'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 422,\n decryptTextList: [],\n },\n {\n name: 'Failed case 403: fetch contacts using get contacts api',\n payloadData: {error: '403 Forbidden'},\n inputStatusCode: 403,\n expectedData: {error: 'User request is forbidden'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 403,\n decryptTextList: [],\n },\n {\n name: 'Failed case 408: fetch contacts using get contacts api',\n payloadData: {error: '408 Request Timeout'},\n inputStatusCode: 408,\n expectedData: {error: 'Request to the server timedout'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 408,\n decryptTextList: [],\n },\n {\n name: 'Failed case 500: fetch contacts using get contacts api',\n payloadData: {error: '500 Internal Server Error'},\n inputStatusCode: 500,\n expectedData: {error: 'Internal server error occurred'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 500,\n decryptTextList: [],\n },\n {\n name: 'Failed case 503: fetch contacts using get contacts api',\n payloadData: {error: '503 Service Unavailable'},\n inputStatusCode: 503,\n expectedData: {error: 'Unable to establish a connection with the server'},\n expectedMessage: FAILURE_MESSAGE,\n expectedStatusCode: 503,\n decryptTextList: [],\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(errorCodes)('%s', async (codeObj) => {\n const respPayload = {\n statusCode: codeObj.inputStatusCode,\n };\n\n if (codeObj.inputStatusCode === 200) {\n respPayload['body'] = codeObj.payloadData;\n webex.request.mockResolvedValueOnce(respPayload);\n codeObj.decryptTextList.forEach((text) => {\n webex.internal.encryption.decryptText.mockResolvedValueOnce(text);\n });\n\n if (codeObj.scimResponse) {\n webex.request.mockResolvedValueOnce(mockSCIMListResponse);\n }\n } else {\n respPayload['message'] = FAILURE_MESSAGE;\n respPayload['data'] = codeObj.payloadData;\n webex.request.mockRejectedValueOnce(respPayload);\n }\n\n const contactsResponse = await contactClient.getContacts();\n\n if (codeObj.inputStatusCode === 200) {\n if (codeObj.cloudContactPresent) {\n expect(webex.request).toBeCalledTimes(2);\n } else {\n expect(webex.request).toBeCalledTimes(1);\n }\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\n\n if (codeObj.cloudContactPresent) {\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n uri: scimUrl,\n method: HTTP_METHODS.GET,\n headers: {\n 'cisco-device-url':\n 'https://wdm-intb.ciscospark.com/wdm/api/v1/devices/c5ae3b86-1bb7-40f1-a6a9-c296ee7e61d5',\n 'spark-user-agent': 'webex-calling/beta',\n },\n });\n }\n\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n\n if (codeObj.payloadData) {\n expect(log.log).toHaveBeenCalledWith('Successfully fetched contacts and groups', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n } else {\n expect(log.error).toHaveBeenCalled();\n }\n } else {\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\n\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(log.error).toHaveBeenCalled();\n }\n\n expect(contactsResponse).toEqual({\n data: expect.any(Object),\n message: codeObj.expectedMessage,\n statusCode: codeObj.expectedStatusCode,\n });\n\n if (codeObj.expectedMessage === SUCCESS_MESSAGE) {\n expect(serviceErrorCodeHandlerSpy).not.toBeCalled();\n } else {\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n codeObj.payloadData ? respPayload : expect.any(Error),\n {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n }\n );\n }\n });\n\n it('create a contact group without encryptionKey', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n\n contactClient['groups'] = [];\n contactClient['encryptionKeyUrl'] = '';\n\n webex.request.mockResolvedValue(successResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText\n .mockResolvedValueOnce('Encrypted Other')\n .mockResolvedValueOnce('Encrypted Top');\n\n const contactsResponse = await contactClient.createContactGroup('Top Contacts');\n\n expect(contactsResponse.statusCode).toEqual(201);\n expect(contactsResponse.data.group?.groupId).toBe(mockGroupResponse.groupId);\n expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({count: 1});\n expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({\n keyUris: [mockKmsKey.uri],\n });\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n uri: contactServiceGroupUrl,\n method: 'POST',\n body: {\n displayName: 'Encrypted Other',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n uri: contactServiceGroupUrl,\n method: 'POST',\n body: {\n displayName: 'Encrypted Top',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n expect(contactClient['groups'].length).toEqual(2);\n expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');\n\n expect(log.info).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with displayName: Top Contacts`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(log.info).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.info).toHaveBeenCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toHaveBeenCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n expect(log.log).toHaveBeenCalledWith(`Contact group Top Contacts successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n });\n\n it('create a contact group with existing key info', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockResolvedValue(successResponsePayload);\n\n webex.internal.encryption.encryptText.mockResolvedValue('Encrypted Top Contacts');\n const infoSpy = jest.spyOn(log, 'info');\n const contactsResponse = await contactClient.createContactGroup('Top Contacts');\n\n expect(contactsResponse.statusCode).toEqual(201);\n expect(contactsResponse.data.group?.groupId).toBe(mockGroupResponse.groupId);\n expect(infoSpy).toBeCalledWith(`${METHOD_START_MESSAGE} with displayName: Top Contacts`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n expect(log.log).toBeCalledWith(`Contact group Top Contacts successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n });\n expect(infoSpy).not.toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n body: {\n displayName: 'Encrypted Top Contacts',\n encryptionKeyUrl: mockContactGroupListOne[0].encryptionKeyUrl,\n groupType: 'NORMAL',\n schemas: CONTACTS_SCHEMA,\n },\n });\n\n expect(contactClient['groups'].length).toEqual(2);\n expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');\n });\n\n it('create a contact group with same displayName', async () => {\n contactClient['groups'] = mockContactResponseBodyOne.groups;\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n const logSpy = jest.spyOn(log, 'warn');\n const contactsResponse = await contactClient.createContactGroup(mockGroupResponse.displayName);\n\n expect(webex.request).not.toBeCalled();\n expect(contactsResponse.statusCode).toBe(400);\n expect(logSpy).toBeCalledOnceWith(\n `Group name ${mockGroupResponse.displayName} already exists.`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with displayName: ${mockGroupResponse.displayName}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT_GROUP,\n }\n );\n expect(contactClient['groups']).toEqual(mockContactResponseBodyOne.groups);\n });\n\n it('create a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_CLIENT,\n method: 'createContactGroup',\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockRejectedValue(failureResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n const warnSpy = jest.spyOn(log, 'warn');\n const errorSpy = jest.spyOn(log, 'error');\n\n const contactsResponse = await contactClient.createContactGroup('New group');\n\n expect(contactsResponse.statusCode).toBe(503);\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n body: {\n displayName: 'Encrypted group name',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groupType: 'NORMAL',\n schemas: 'urn:cisco:codev:identity:contact:core:1.0',\n },\n });\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with displayName: New group`,\n loggerContext\n );\n expect(warnSpy).toBeCalledTimes(1);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n '503 Unable to establish a connection with the server',\n loggerContext\n );\n expect(errorSpy).toBeCalledTimes(1);\n expect(errorSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to create contact group: ${JSON.stringify(failureResponsePayload)}`,\n loggerContext\n );\n\n expect(contactClient['groups']).toEqual(mockContactGroupListOne);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);\n });\n\n it('delete a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n };\n\n contactClient['groups'] = mockContactGroupListOne;\n webex.request.mockRejectedValue(failureResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n const warnSpy = jest.spyOn(log, 'warn');\n const errorSpy = jest.spyOn(log, 'error');\n const contactsResponse = await contactClient.deleteContactGroup(mockGroupResponse.groupId);\n\n expect(contactsResponse.statusCode).toBe(503);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.DELETE,\n uri: `${contactServiceGroupUrl}/${mockGroupResponse.groupId}`,\n });\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with groupId: ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(log.info).toBeCalledWith(\n `Deleting contact group: ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(warnSpy).toBeCalledTimes(1);\n expect(errorSpy).toBeCalledTimes(1);\n expect(uploadLogsSpy).toBeCalledTimes(1);\n expect(errorSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to delete contact group ${mockGroupResponse.groupId}: ${JSON.stringify(\n failureResponsePayload\n )}`,\n loggerContext\n );\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n '503 Unable to establish a connection with the server',\n loggerContext\n );\n\n expect(contactClient['groups']).toEqual(mockContactGroupListOne);\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);\n });\n\n it('successful deletion of contact group', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 204,\n };\n\n contactClient['groups'] = [mockContactGroupListOne[0]];\n webex.request.mockResolvedValue(successResponsePayload);\n const response = await contactClient.deleteContactGroup(mockContactGroupListOne[0].groupId);\n\n expect(response.statusCode).toEqual(204);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceGroupUrl}/${mockContactGroupListOne[0].groupId}`,\n method: HTTP_METHODS.DELETE,\n });\n expect(contactClient['groups']).toEqual([]);\n\n expect(log.info).toBeCalledWith(\n `Deleting contact group: ${mockContactGroupListOne[0].groupId}`,\n {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n }\n );\n expect(log.log).toBeCalledWith(\n `Contact group ${mockContactGroupListOne[0].groupId} successfully deleted`,\n {\n file: CONTACTS_CLIENT,\n method: 'deleteContactGroup',\n }\n );\n });\n\n it('create a contact with an existing group', async () => {\n const mockContactResponse = mockContactResponseBodyTwo.contacts[0];\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n\n webex.request.mockResolvedValue(successResponsePayload);\n webex.internal.encryption.encryptText.mockResolvedValue('Encrypted contact name');\n const infoSpy = jest.spyOn(log, 'info');\n const logSpy = jest.spyOn(log, 'log');\n\n contactClient['groups'] = mockContactGroupListOne;\n contactClient['encryptionKeyUrl'] = mockContactGroupListOne[0].encryptionKeyUrl;\n\n const contact = mockContactListTwo.slice()[0] as Contact;\n\n contact.groups = [];\n\n const res: ContactResponse = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(201);\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n expect(infoSpy).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactType: ${contact.contactType}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n }\n );\n expect(logSpy).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_CLIENT,\n method: 'createNewEncryptionKeyUrl',\n });\n\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_CLIENT,\n method: 'createNewEncryptionKeyUrl',\n });\n expect(infoSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n\n expect(webex.internal.encryption.encryptText).toBeCalledOnceWith(\n mockContactGroupListOne[0].encryptionKeyUrl,\n contact.displayName\n );\n\n expect(webex.request).toBeCalledOnceWith({\n body: {\n ...contact,\n displayName: 'Encrypted contact name',\n groups: [mockContactGroupListOne[0].groupId],\n schemas: CONTACTS_SCHEMA,\n },\n uri: contactServiceUrl,\n method: HTTP_METHODS.POST,\n });\n\n logSpy.mockClear();\n\n /* for coverage */\n const result: ContactResponse = await contactClient.createContact(contact);\n\n expect(result.data.contact?.contactId).toBe(mockContactResponse.contactId);\n expect(logSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: 'fetchEncryptionKeyUrl',\n });\n });\n\n it('create a contact without a group and encryptionKey', async () => {\n const mockContactResponse = mockContactResponseBodyOne.contacts[1];\n\n contactClient['groups'] = [];\n contactClient['encryptionKey'] = '';\n contactClient['defaultGroupId'] = '';\n const successContactGroupResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockGroupResponse,\n };\n const successContactResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n\n webex.request\n .mockResolvedValueOnce(successContactGroupResponsePayload)\n .mockResolvedValueOnce(successContactResponsePayload);\n webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([mockKmsKey]);\n webex.internal.encryption.kms.createResource.mockResolvedValue(mockKmsKey);\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n\n const contact = {\n contactType: 'CUSTOM',\n } as Contact;\n\n const res = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(201);\n\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n body: {\n displayName: 'Encrypted group name',\n encryptionKeyUrl: mockKmsKey.uri,\n groupType: 'NORMAL',\n schemas: CONTACTS_SCHEMA,\n },\n uri: contactServiceGroupUrl,\n method: HTTP_METHODS.POST,\n });\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n body: {\n contactType: 'CUSTOM',\n encryptionKeyUrl: mockKmsKey.uri,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n schemas: CONTACTS_SCHEMA,\n },\n method: HTTP_METHODS.POST,\n uri: contactServiceUrl,\n });\n expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({count: 1});\n expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({\n keyUris: [mockKmsKey.uri],\n });\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CUSTOM`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(log.info).toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.info).toBeCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_NEW_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.FETCH_ENCRYPTION_KEY_URL,\n });\n expect(log.log).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: 'createContact',\n });\n });\n\n it('create a cloud contact with no existing groups', async () => {\n const mockContactResponse = mockContactResponseBodyOne.contacts[0];\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponse,\n };\n const successResponsePayloadGroup = <WebexRequestPayload>{\n statusCode: 201,\n body: mockContactResponseBodyOne.groups[0],\n };\n\n webex.request\n .mockResolvedValueOnce(successResponsePayloadGroup)\n .mockResolvedValueOnce(successResponsePayload)\n .mockResolvedValueOnce(mockSCIMListResponse);\n\n webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');\n\n contactClient['groups'] = [];\n contactClient['encryptionKeyUrl'] = mockContactResponseBodyOne.groups[0].encryptionKeyUrl;\n\n const contact = {\n contactType: 'CLOUD',\n } as Contact;\n\n contact.groups = [];\n\n let res: ContactResponse = await contactClient.createContact(contact);\n\n expect(res.statusCode).toEqual(400);\n expect(res.data.error).toEqual('contactId is required for contactType:CLOUD.');\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CLOUD`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n\n contact.contactId = mockContactResponse.contactId;\n\n res = await contactClient.createContact(contact);\n expect(res.statusCode).toEqual(201);\n expect(res.data.contact?.contactId).toBe(mockContactResponse.contactId);\n\n expect(webex.request).toBeCalledTimes(3);\n expect(webex.request).toHaveBeenNthCalledWith(1, {\n method: HTTP_METHODS.POST,\n uri: contactServiceGroupUrl,\n body: {\n displayName: 'Encrypted group name',\n groupType: 'NORMAL',\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n schemas: CONTACTS_SCHEMA,\n },\n });\n expect(webex.request).toHaveBeenNthCalledWith(2, {\n method: HTTP_METHODS.POST,\n uri: contactServiceUrl,\n body: {\n contactId: mockContactResponse.contactId,\n contactType: 'CLOUD',\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n schemas: CONTACTS_SCHEMA,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n },\n });\n expect(webex.request).toHaveBeenNthCalledWith(3, {\n uri: scimUrl,\n method: HTTP_METHODS.GET,\n headers: {\n 'cisco-device-url':\n 'https://wdm-intb.ciscospark.com/wdm/api/v1/devices/c5ae3b86-1bb7-40f1-a6a9-c296ee7e61d5',\n 'spark-user-agent': 'webex-calling/beta',\n },\n });\n\n expect(log.log).toBeCalledWith(`Contact successfully created`, {\n file: CONTACTS_CLIENT,\n method: 'createContact',\n });\n });\n\n it('create a contact - service unavailable', async () => {\n webex.request.mockRejectedValue(failureResponsePayload);\n\n contactClient['groups'] = mockContactGroupListOne.slice();\n contactClient['encryptionKeyUrl'] = mockContactResponseBodyOne.groups[0].encryptionKeyUrl;\n const contact = {\n contactType: 'CLOUD',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n } as Contact;\n\n const res: ContactResponse = await contactClient.createContact(contact);\n\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.POST,\n body: {\n ...contact,\n encryptionKeyUrl: mockContactResponseBodyOne.groups[0].encryptionKeyUrl,\n groups: [mockContactGroupListOne[0].groupId],\n schemas: CONTACTS_SCHEMA,\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(res.statusCode).toEqual(503);\n\n expect(log.info).toBeCalledWith(`${METHOD_START_MESSAGE} with contactType: CLOUD`, {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n });\n expect(log.error).toBeCalledWith(\n `Failed to create contact: ${JSON.stringify(failureResponsePayload)}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.CREATE_CONTACT,\n }\n );\n });\n\n it('successful deletion of contacts', async () => {\n const successResponsePayload = <WebexRequestPayload>{\n statusCode: 204,\n };\n\n contactClient['contacts'] = [mockContactListOne[0]];\n webex.request.mockResolvedValue(successResponsePayload);\n const response = await contactClient.deleteContact(mockContactListOne[0].contactId);\n\n expect(response.statusCode).toEqual(204);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceUrl}/${mockContactListOne[0].contactId}`,\n method: HTTP_METHODS.DELETE,\n });\n expect(contactClient['contacts']).toEqual([]);\n\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactId: ${mockContactListOne[0].contactId}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n }\n );\n expect(log.info).toBeCalledWith(`Deleting contact : ${mockContactListOne[0].contactId}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n });\n\n it('delete a contact - service unavailable', async () => {\n contactClient['contacts'] = mockContactListOne;\n\n webex.request.mockRejectedValue(failureResponsePayload);\n const response = await contactClient.deleteContact(mockContactListOne[0].contactId);\n\n expect(response.statusCode).toEqual(503);\n expect(webex.request).toBeCalledOnceWith({\n uri: `${contactServiceUrl}/${mockContactListOne[0].contactId}`,\n method: HTTP_METHODS.DELETE,\n });\n\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n\n expect(contactClient['contacts']).toEqual(mockContactListOne);\n\n expect(log.info).toBeCalledWith(\n `${METHOD_START_MESSAGE} with contactId: ${mockContactListOne[0].contactId}`,\n {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n }\n );\n expect(log.info).toBeCalledWith(`Deleting contact : ${mockContactListOne[0].contactId}`, {\n file: CONTACTS_CLIENT,\n method: METHODS.DELETE_CONTACT,\n });\n });\n\n it('test resolveContacts function for a minimal contact with few details', () => {\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum},\n mockSCIMMinListResponse.body\n );\n\n expect(contact).toEqual([\n {\n avatarURL: '',\n avatarUrlDomain: undefined,\n contactId: 'userId',\n contactType: 'CLOUD',\n department: undefined,\n displayName: undefined,\n emails: undefined,\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: undefined,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: undefined,\n manager: undefined,\n ownerId: 'ownerId',\n phoneNumbers: undefined,\n sipAddresses: undefined,\n resolved: true,\n },\n ]);\n });\n\n it(\"test resolveContacts function when contactsDataMap list doesn't match resolved list\", () => {\n const mockContact = {\n firstName: 'Jane',\n lastName: 'Doe',\n contactId: 'janeDoe',\n };\n\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum, janeDoe: mockContact},\n mockSCIMMinListResponse.body\n );\n\n expect(contact).toEqual([\n {\n firstName: 'Jane',\n lastName: 'Doe',\n contactId: 'janeDoe',\n resolved: false,\n },\n {\n avatarURL: '',\n avatarUrlDomain: undefined,\n contactId: 'userId',\n contactType: 'CLOUD',\n department: undefined,\n displayName: undefined,\n emails: undefined,\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: undefined,\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: undefined,\n manager: undefined,\n ownerId: 'ownerId',\n phoneNumbers: undefined,\n sipAddresses: undefined,\n resolved: true,\n },\n ]);\n });\n\n it('test resolveContacts function encountering an error', () => {\n const warnSpy = jest.spyOn(log, 'warn');\n\n const contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum},\n mockSCIMMinListResponse\n );\n\n expect(contact).toEqual(null);\n expect(warnSpy).toHaveBeenCalledWith('Error occurred while parsing resolved contacts', {\n file: CONTACTS_CLIENT,\n method: 'resolveCloudContacts',\n });\n });\n\n it('logs error for chunk when scimQuery API call fails in the loop for getContacts', async () => {\n const mockData = errorCodes[0];\n const respPayload = {\n statusCode: mockData.inputStatusCode,\n body: mockData.payloadData,\n };\n webex.request.mockResolvedValueOnce(respPayload).mockRejectedValueOnce({\n ...respPayload,\n statusCode: 503,\n message: FAILURE_MESSAGE,\n data: mockData.payloadData,\n });\n\n mockData.decryptTextList.forEach((text) => {\n webex.internal.encryption.decryptText.mockResolvedValueOnce(text);\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const infoSpy = jest.spyOn(log, 'info');\n const logSpy = jest.spyOn(log, 'log');\n\n await contactClient.getContacts();\n\n expect(webex.request).toBeCalledTimes(2);\n expect(warnSpy).toBeCalledTimes(1);\n expect(warnSpy).toBeCalledWith('Error processing contact chunk 0-50', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(infoSpy).toBeCalledWith(METHOD_START_MESSAGE, {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n expect(logSpy).toBeCalledWith('Successfully fetched contacts and groups', {\n file: CONTACTS_CLIENT,\n method: METHODS.GET_CONTACTS,\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -9,20 +9,17 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  exports.createCallError = exports.CallError = void 0;
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
16
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
17
16
  var _ExtendedError2 = _interopRequireDefault(require("./ExtendedError"));
18
- function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = _Reflect$construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
17
+ 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
18
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable valid-jsdoc */
20
19
  /**
21
20
  *
22
21
  */
23
22
  var CallError = exports.CallError = /*#__PURE__*/function (_ExtendedError) {
24
- (0, _inherits2.default)(CallError, _ExtendedError);
25
- var _super = _createSuper(CallError);
26
23
  /**
27
24
  * Instantiate the Error class with these parameters.
28
25
  *
@@ -35,9 +32,9 @@ var CallError = exports.CallError = /*#__PURE__*/function (_ExtendedError) {
35
32
  function CallError(msg, context, type, correlationId, errorLayer) {
36
33
  var _this;
37
34
  (0, _classCallCheck2.default)(this, CallError);
38
- _this = _super.call(this, msg, context, type);
39
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "correlationId", void 0);
40
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "errorLayer", void 0);
35
+ _this = _callSuper(this, CallError, [msg, context, type]);
36
+ (0, _defineProperty2.default)(_this, "correlationId", void 0);
37
+ (0, _defineProperty2.default)(_this, "errorLayer", void 0);
41
38
  _this.correlationId = correlationId;
42
39
  _this.errorLayer = errorLayer;
43
40
  return _this;
@@ -48,7 +45,8 @@ var CallError = exports.CallError = /*#__PURE__*/function (_ExtendedError) {
48
45
  *
49
46
  * @param error - Error Object.
50
47
  */
51
- (0, _createClass2.default)(CallError, [{
48
+ (0, _inherits2.default)(CallError, _ExtendedError);
49
+ return (0, _createClass2.default)(CallError, [{
52
50
  key: "setCallError",
53
51
  value: function setCallError(error) {
54
52
  this.message = error.message;
@@ -74,7 +72,6 @@ var CallError = exports.CallError = /*#__PURE__*/function (_ExtendedError) {
74
72
  };
75
73
  }
76
74
  }]);
77
- return CallError;
78
75
  }(_ExtendedError2.default);
79
76
  /**
80
77
  * Instantiate CallingClientError.
@@ -1 +1 @@
1
- {"version":3,"names":["_ExtendedError2","_interopRequireDefault","require","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","CallError","exports","_ExtendedError","_inherits2","_super","msg","context","type","correlationId","errorLayer","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","setCallError","error","message","getCallError","ExtendedError","createCallError"],"sources":["CallError.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {CallErrorObject, ErrorContext, ErrorMessage, ERROR_LAYER, ERROR_TYPE} from '../types';\nimport ExtendedError from './ExtendedError';\nimport {CorrelationId} from '../../common/types';\n\n/**\n *\n */\nexport class CallError extends ExtendedError {\n private correlationId: CorrelationId;\n\n private errorLayer: ERROR_LAYER;\n\n /**\n * Instantiate the Error class with these parameters.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param correlationId - Unique identifier for a call.\n * @param errorLayer - Call control or media layer.\n */\n constructor(\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n correlationId: CorrelationId,\n errorLayer: ERROR_LAYER\n ) {\n super(msg, context, type);\n this.correlationId = correlationId;\n this.errorLayer = errorLayer;\n }\n\n /**\n * Class method exposed to callers to allow storing of error object.\n *\n * @param error - Error Object.\n */\n public setCallError(error: CallErrorObject) {\n this.message = error.message;\n this.correlationId = error.correlationId;\n this.context = error.context;\n this.type = error.type;\n }\n\n /**\n * Class method exposed to callers to retrieve error object.\n *\n * @returns Error.\n */\n public getCallError(): CallErrorObject {\n return <CallErrorObject>{\n message: this.message,\n context: this.context,\n type: this.type,\n correlationId: this.correlationId,\n errorLayer: this.errorLayer,\n };\n }\n}\n\n/**\n * Instantiate CallingClientError.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param correlationId - Unique identifier for a call.\n * @param errorLayer - Call control or media layer.\n * @returns CallingClientError instance.\n */\nexport const createCallError = (\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n correlationId: CorrelationId,\n errorLayer: ERROR_LAYER\n) => new CallError(msg, context, type, correlationId, errorLayer);\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,SAAAC,aAAAC,CAAA,QAAAC,CAAA,GAAAC,yBAAA,6BAAAC,CAAA,EAAAC,CAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,CAAA,OAAAC,CAAA,QAAAM,CAAA,OAAAF,gBAAA,CAAAC,OAAA,QAAAE,WAAA,EAAAL,CAAA,GAAAM,kBAAA,CAAAL,CAAA,EAAAM,SAAA,EAAAH,CAAA,UAAAJ,CAAA,GAAAC,CAAA,CAAAO,KAAA,OAAAD,SAAA,cAAAE,2BAAA,CAAAN,OAAA,QAAAH,CAAA;AAAA,SAAAD,0BAAA,cAAAF,CAAA,IAAAa,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,kBAAA,CAAAI,OAAA,iCAAAb,CAAA,aAAAE,yBAAA,YAAAA,0BAAA,aAAAF,CAAA,UAF5C;AAKA;AACA;AACA;AAFA,IAGaiB,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAAAE,cAAA;EAAA,IAAAC,UAAA,CAAAd,OAAA,EAAAW,SAAA,EAAAE,cAAA;EAAA,IAAAE,MAAA,GAAAtB,YAAA,CAAAkB,SAAA;EAKpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,UACEK,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,aAA4B,EAC5BC,UAAuB,EACvB;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAtB,OAAA,QAAAW,SAAA;IACAU,KAAA,GAAAN,MAAA,CAAAL,IAAA,OAAMM,GAAG,EAAEC,OAAO,EAAEC,IAAI;IAAE,IAAAK,gBAAA,CAAAvB,OAAA,MAAAwB,uBAAA,CAAAxB,OAAA,EAAAqB,KAAA;IAAA,IAAAE,gBAAA,CAAAvB,OAAA,MAAAwB,uBAAA,CAAAxB,OAAA,EAAAqB,KAAA;IAC1BA,KAAA,CAAKF,aAAa,GAAGA,aAAa;IAClCE,KAAA,CAAKD,UAAU,GAAGA,UAAU;IAAC,OAAAC,KAAA;EAC/B;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAI,aAAA,CAAAzB,OAAA,EAAAW,SAAA;IAAAe,GAAA;IAAAC,KAAA,EAKA,SAAAC,aAAoBC,KAAsB,EAAE;MAC1C,IAAI,CAACC,OAAO,GAAGD,KAAK,CAACC,OAAO;MAC5B,IAAI,CAACX,aAAa,GAAGU,KAAK,CAACV,aAAa;MACxC,IAAI,CAACF,OAAO,GAAGY,KAAK,CAACZ,OAAO;MAC5B,IAAI,CAACC,IAAI,GAAGW,KAAK,CAACX,IAAI;IACxB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAQ,GAAA;IAAAC,KAAA,EAKA,SAAAI,aAAA,EAAuC;MACrC,OAAwB;QACtBD,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBC,IAAI,EAAE,IAAI,CAACA,IAAI;QACfC,aAAa,EAAE,IAAI,CAACA,aAAa;QACjCC,UAAU,EAAE,IAAI,CAACA;MACnB,CAAC;IACH;EAAC;EAAA,OAAAT,SAAA;AAAA,EAnD4BqB,uBAAa;AAsD5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG,SAAlBA,eAAeA,CAC1BjB,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,aAA4B,EAC5BC,UAAuB;EAAA,OACpB,IAAIT,SAAS,CAACK,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,UAAU,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ExtendedError2","_interopRequireDefault","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","CallError","exports","_ExtendedError","msg","context","type","correlationId","errorLayer","_this","_classCallCheck2","_defineProperty2","_inherits2","_createClass2","key","value","setCallError","error","message","getCallError","ExtendedError","createCallError"],"sources":["CallError.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {CallErrorObject, ErrorContext, ErrorMessage, ERROR_LAYER, ERROR_TYPE} from '../types';\nimport ExtendedError from './ExtendedError';\nimport {CorrelationId} from '../../common/types';\n\n/**\n *\n */\nexport class CallError extends ExtendedError {\n private correlationId: CorrelationId;\n\n private errorLayer: ERROR_LAYER;\n\n /**\n * Instantiate the Error class with these parameters.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param correlationId - Unique identifier for a call.\n * @param errorLayer - Call control or media layer.\n */\n constructor(\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n correlationId: CorrelationId,\n errorLayer: ERROR_LAYER\n ) {\n super(msg, context, type);\n this.correlationId = correlationId;\n this.errorLayer = errorLayer;\n }\n\n /**\n * Class method exposed to callers to allow storing of error object.\n *\n * @param error - Error Object.\n */\n public setCallError(error: CallErrorObject) {\n this.message = error.message;\n this.correlationId = error.correlationId;\n this.context = error.context;\n this.type = error.type;\n }\n\n /**\n * Class method exposed to callers to retrieve error object.\n *\n * @returns Error.\n */\n public getCallError(): CallErrorObject {\n return <CallErrorObject>{\n message: this.message,\n context: this.context,\n type: this.type,\n correlationId: this.correlationId,\n errorLayer: this.errorLayer,\n };\n }\n}\n\n/**\n * Instantiate CallingClientError.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param correlationId - Unique identifier for a call.\n * @param errorLayer - Call control or media layer.\n * @returns CallingClientError instance.\n */\nexport const createCallError = (\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n correlationId: CorrelationId,\n errorLayer: ERROR_LAYER\n) => new CallError(msg, context, type, correlationId, errorLayer);\n"],"mappings":";;;;;;;;;;;;;;;AAEA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,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,UAF5C;AAKA;AACA;AACA;AAFA,IAGac,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAAAE,cAAA;EAKpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAAAF,UACEG,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,aAA4B,EAC5BC,UAAuB,EACvB;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAnB,OAAA,QAAAU,SAAA;IACAQ,KAAA,GAAAvB,UAAA,OAAAe,SAAA,GAAMG,GAAG,EAAEC,OAAO,EAAEC,IAAI;IAAE,IAAAK,gBAAA,CAAApB,OAAA,EAAAkB,KAAA;IAAA,IAAAE,gBAAA,CAAApB,OAAA,EAAAkB,KAAA;IAC1BA,KAAA,CAAKF,aAAa,GAAGA,aAAa;IAClCE,KAAA,CAAKD,UAAU,GAAGA,UAAU;IAAC,OAAAC,KAAA;EAC/B;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAG,UAAA,CAAArB,OAAA,EAAAU,SAAA,EAAAE,cAAA;EAAA,WAAAU,aAAA,CAAAtB,OAAA,EAAAU,SAAA;IAAAa,GAAA;IAAAC,KAAA,EAKA,SAAOC,YAAYA,CAACC,KAAsB,EAAE;MAC1C,IAAI,CAACC,OAAO,GAAGD,KAAK,CAACC,OAAO;MAC5B,IAAI,CAACX,aAAa,GAAGU,KAAK,CAACV,aAAa;MACxC,IAAI,CAACF,OAAO,GAAGY,KAAK,CAACZ,OAAO;MAC5B,IAAI,CAACC,IAAI,GAAGW,KAAK,CAACX,IAAI;IACxB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAQ,GAAA;IAAAC,KAAA,EAKA,SAAOI,YAAYA,CAAA,EAAoB;MACrC,OAAwB;QACtBD,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBC,IAAI,EAAE,IAAI,CAACA,IAAI;QACfC,aAAa,EAAE,IAAI,CAACA,aAAa;QACjCC,UAAU,EAAE,IAAI,CAACA;MACnB,CAAC;IACH;EAAC;AAAA,EAnD4BY,uBAAa;AAsD5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,eAAe,GAAAnB,OAAA,CAAAmB,eAAA,GAAG,SAAlBA,eAAeA,CAC1BjB,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,aAA4B,EAC5BC,UAAuB;EAAA,OACpB,IAAIP,SAAS,CAACG,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAEC,aAAa,EAAEC,UAAU,CAAC;AAAA","ignoreList":[]}
@@ -9,21 +9,18 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  exports.createClientError = exports.CallingClientError = void 0;
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
16
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
17
16
  var _types = require("../../common/types");
18
17
  var _ExtendedError2 = _interopRequireDefault(require("./ExtendedError"));
19
- function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = _Reflect$construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
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)); }
20
19
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable valid-jsdoc */
21
20
  /**
22
21
  * Any error reported from Calling client should be stored here.
23
22
  */
24
23
  var CallingClientError = exports.CallingClientError = /*#__PURE__*/function (_ExtendedError) {
25
- (0, _inherits2.default)(CallingClientError, _ExtendedError);
26
- var _super = _createSuper(CallingClientError);
27
24
  /**
28
25
  * Instantiate the Error class with these parameters.
29
26
  *
@@ -35,8 +32,8 @@ var CallingClientError = exports.CallingClientError = /*#__PURE__*/function (_Ex
35
32
  function CallingClientError(msg, context, type, status) {
36
33
  var _this;
37
34
  (0, _classCallCheck2.default)(this, CallingClientError);
38
- _this = _super.call(this, msg, context, type);
39
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "status", _types.RegistrationStatus.INACTIVE);
35
+ _this = _callSuper(this, CallingClientError, [msg, context, type]);
36
+ (0, _defineProperty2.default)(_this, "status", _types.RegistrationStatus.INACTIVE);
40
37
  _this.status = status;
41
38
  return _this;
42
39
  }
@@ -46,7 +43,8 @@ var CallingClientError = exports.CallingClientError = /*#__PURE__*/function (_Ex
46
43
  *
47
44
  * @param error - Error Object.
48
45
  */
49
- (0, _createClass2.default)(CallingClientError, [{
46
+ (0, _inherits2.default)(CallingClientError, _ExtendedError);
47
+ return (0, _createClass2.default)(CallingClientError, [{
50
48
  key: "setError",
51
49
  value: function setError(error) {
52
50
  this.message = error.message;
@@ -69,7 +67,6 @@ var CallingClientError = exports.CallingClientError = /*#__PURE__*/function (_Ex
69
67
  };
70
68
  }
71
69
  }]);
72
- return CallingClientError;
73
70
  }(_ExtendedError2.default);
74
71
  /**
75
72
  * Instantiate CallingClientError.
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_ExtendedError2","_interopRequireDefault","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","CallingClientError","exports","_ExtendedError","_inherits2","_super","msg","context","type","status","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","RegistrationStatus","INACTIVE","_createClass2","key","value","setError","error","message","getError","ExtendedError","createClientError"],"sources":["CallingDeviceError.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {RegistrationStatus} from '../../common/types';\n\nimport {ErrorContext, ErrorMessage, ErrorObject, ERROR_TYPE} from '../types';\nimport ExtendedError from './ExtendedError';\n\n/**\n * Any error reported from Calling client should be stored here.\n */\nexport class CallingClientError extends ExtendedError {\n public status: RegistrationStatus = RegistrationStatus.INACTIVE;\n\n /**\n * Instantiate the Error class with these parameters.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param status - Mobius Status, should be default.\n */\n constructor(\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n status: RegistrationStatus\n ) {\n super(msg, context, type);\n this.status = status;\n }\n\n /**\n * Class method exposed to callers to allow storing of error object.\n *\n * @param error - Error Object.\n */\n public setError(error: ErrorObject) {\n this.message = error.message;\n this.context = error.context;\n this.type = error.type;\n }\n\n /**\n * Class method exposed to callers to retrieve error object.\n *\n * @returns Error.\n */\n public getError(): ErrorObject {\n return <ErrorObject>{message: this.message, context: this.context, type: this.type};\n }\n}\n\n/**\n * Instantiate CallingClientError.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param status - Mobius Status, should be default.\n * @returns CallingClientError instance.\n */\nexport const createClientError = (\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n status: RegistrationStatus\n) => new CallingClientError(msg, context, type, status);\n"],"mappings":";;;;;;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4C,SAAAG,aAAAC,CAAA,QAAAC,CAAA,GAAAC,yBAAA,6BAAAC,CAAA,EAAAC,CAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,CAAA,OAAAC,CAAA,QAAAM,CAAA,OAAAF,gBAAA,CAAAC,OAAA,QAAAE,WAAA,EAAAL,CAAA,GAAAM,kBAAA,CAAAL,CAAA,EAAAM,SAAA,EAAAH,CAAA,UAAAJ,CAAA,GAAAC,CAAA,CAAAO,KAAA,OAAAD,SAAA,cAAAE,2BAAA,CAAAN,OAAA,QAAAH,CAAA;AAAA,SAAAD,0BAAA,cAAAF,CAAA,IAAAa,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,kBAAA,CAAAI,OAAA,iCAAAb,CAAA,aAAAE,yBAAA,YAAAA,0BAAA,aAAAF,CAAA,UAJ5C;AAMA;AACA;AACA;AAFA,IAGaiB,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAAE,cAAA;EAAA,IAAAC,UAAA,CAAAd,OAAA,EAAAW,kBAAA,EAAAE,cAAA;EAAA,IAAAE,MAAA,GAAAtB,YAAA,CAAAkB,kBAAA;EAG7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,mBACEK,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,MAA0B,EAC1B;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAArB,OAAA,QAAAW,kBAAA;IACAS,KAAA,GAAAL,MAAA,CAAAL,IAAA,OAAMM,GAAG,EAAEC,OAAO,EAAEC,IAAI;IAAE,IAAAI,gBAAA,CAAAtB,OAAA,MAAAuB,uBAAA,CAAAvB,OAAA,EAAAoB,KAAA,aAhBQI,yBAAkB,CAACC,QAAQ;IAiB7DL,KAAA,CAAKD,MAAM,GAAGA,MAAM;IAAC,OAAAC,KAAA;EACvB;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAM,aAAA,CAAA1B,OAAA,EAAAW,kBAAA;IAAAgB,GAAA;IAAAC,KAAA,EAKA,SAAAC,SAAgBC,KAAkB,EAAE;MAClC,IAAI,CAACC,OAAO,GAAGD,KAAK,CAACC,OAAO;MAC5B,IAAI,CAACd,OAAO,GAAGa,KAAK,CAACb,OAAO;MAC5B,IAAI,CAACC,IAAI,GAAGY,KAAK,CAACZ,IAAI;IACxB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAS,GAAA;IAAAC,KAAA,EAKA,SAAAI,SAAA,EAA+B;MAC7B,OAAoB;QAACD,OAAO,EAAE,IAAI,CAACA,OAAO;QAAEd,OAAO,EAAE,IAAI,CAACA,OAAO;QAAEC,IAAI,EAAE,IAAI,CAACA;MAAI,CAAC;IACrF;EAAC;EAAA,OAAAP,kBAAA;AAAA,EAvCqCsB,uBAAa;AA0CrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAAtB,OAAA,CAAAsB,iBAAA,GAAG,SAApBA,iBAAiBA,CAC5BlB,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,MAA0B;EAAA,OACvB,IAAIR,kBAAkB,CAACK,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_ExtendedError2","_interopRequireDefault","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","CallingClientError","exports","_ExtendedError","msg","context","type","status","_this","_classCallCheck2","_defineProperty2","RegistrationStatus","INACTIVE","_inherits2","_createClass2","key","value","setError","error","message","getError","ExtendedError","createClientError"],"sources":["CallingDeviceError.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {RegistrationStatus} from '../../common/types';\n\nimport {ErrorContext, ErrorMessage, ErrorObject, ERROR_TYPE} from '../types';\nimport ExtendedError from './ExtendedError';\n\n/**\n * Any error reported from Calling client should be stored here.\n */\nexport class CallingClientError extends ExtendedError {\n public status: RegistrationStatus = RegistrationStatus.INACTIVE;\n\n /**\n * Instantiate the Error class with these parameters.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param status - Mobius Status, should be default.\n */\n constructor(\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n status: RegistrationStatus\n ) {\n super(msg, context, type);\n this.status = status;\n }\n\n /**\n * Class method exposed to callers to allow storing of error object.\n *\n * @param error - Error Object.\n */\n public setError(error: ErrorObject) {\n this.message = error.message;\n this.context = error.context;\n this.type = error.type;\n }\n\n /**\n * Class method exposed to callers to retrieve error object.\n *\n * @returns Error.\n */\n public getError(): ErrorObject {\n return <ErrorObject>{message: this.message, context: this.context, type: this.type};\n }\n}\n\n/**\n * Instantiate CallingClientError.\n *\n * @param msg - Custom error message.\n * @param context - Error context.\n * @param type - Error Type.\n * @param status - Mobius Status, should be default.\n * @returns CallingClientError instance.\n */\nexport const createClientError = (\n msg: ErrorMessage,\n context: ErrorContext,\n type: ERROR_TYPE,\n status: RegistrationStatus\n) => new CallingClientError(msg, context, type, status);\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4C,SAAAG,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,UAJ5C;AAMA;AACA;AACA;AAFA,IAGac,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAAE,cAAA;EAG7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAAAF,mBACEG,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,MAA0B,EAC1B;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAlB,OAAA,QAAAU,kBAAA;IACAO,KAAA,GAAAtB,UAAA,OAAAe,kBAAA,GAAMG,GAAG,EAAEC,OAAO,EAAEC,IAAI;IAAE,IAAAI,gBAAA,CAAAnB,OAAA,EAAAiB,KAAA,YAhBQG,yBAAkB,CAACC,QAAQ;IAiB7DJ,KAAA,CAAKD,MAAM,GAAGA,MAAM;IAAC,OAAAC,KAAA;EACvB;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAK,UAAA,CAAAtB,OAAA,EAAAU,kBAAA,EAAAE,cAAA;EAAA,WAAAW,aAAA,CAAAvB,OAAA,EAAAU,kBAAA;IAAAc,GAAA;IAAAC,KAAA,EAKA,SAAOC,QAAQA,CAACC,KAAkB,EAAE;MAClC,IAAI,CAACC,OAAO,GAAGD,KAAK,CAACC,OAAO;MAC5B,IAAI,CAACd,OAAO,GAAGa,KAAK,CAACb,OAAO;MAC5B,IAAI,CAACC,IAAI,GAAGY,KAAK,CAACZ,IAAI;IACxB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAS,GAAA;IAAAC,KAAA,EAKA,SAAOI,QAAQA,CAAA,EAAgB;MAC7B,OAAoB;QAACD,OAAO,EAAE,IAAI,CAACA,OAAO;QAAEd,OAAO,EAAE,IAAI,CAACA,OAAO;QAAEC,IAAI,EAAE,IAAI,CAACA;MAAI,CAAC;IACrF;EAAC;AAAA,EAvCqCe,uBAAa;AA0CrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAApB,OAAA,CAAAoB,iBAAA,GAAG,SAApBA,iBAAiBA,CAC5BlB,GAAiB,EACjBC,OAAqB,EACrBC,IAAgB,EAChBC,MAA0B;EAAA,OACvB,IAAIN,kBAAkB,CAACG,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,CAAC;AAAA","ignoreList":[]}
@@ -9,21 +9,18 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  exports.default = void 0;
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
16
15
  var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
17
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
17
  var _types = require("../types");
19
- function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = _Reflect$construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
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)); }
20
19
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable valid-jsdoc */
21
20
  /**
22
21
  *
23
22
  */
24
23
  var ExtendedError = exports.default = /*#__PURE__*/function (_Error) {
25
- (0, _inherits2.default)(ExtendedError, _Error);
26
- var _super = _createSuper(ExtendedError);
27
24
  /**
28
25
  * @param msg - TODO.
29
26
  * @param context - TODO.
@@ -32,13 +29,14 @@ var ExtendedError = exports.default = /*#__PURE__*/function (_Error) {
32
29
  function ExtendedError(msg, context, type) {
33
30
  var _this;
34
31
  (0, _classCallCheck2.default)(this, ExtendedError);
35
- _this = _super.call(this, msg);
36
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
37
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "context", void 0);
32
+ _this = _callSuper(this, ExtendedError, [msg]);
33
+ (0, _defineProperty2.default)(_this, "type", void 0);
34
+ (0, _defineProperty2.default)(_this, "context", void 0);
38
35
  _this.type = type || _types.ERROR_TYPE.DEFAULT;
39
36
  _this.context = context;
40
37
  return _this;
41
38
  }
39
+ (0, _inherits2.default)(ExtendedError, _Error);
42
40
  return (0, _createClass2.default)(ExtendedError);
43
41
  }(/*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
44
42
  //# sourceMappingURL=ExtendedError.js.map