@webex/calling 3.4.0 → 3.5.0

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 (101) hide show
  1. package/dist/CallHistory/CallHistory.js +103 -4
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +143 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js +224 -1
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  7. package/dist/CallHistory/constants.js +8 -2
  8. package/dist/CallHistory/constants.js.map +1 -1
  9. package/dist/CallHistory/types.js.map +1 -1
  10. package/dist/CallSettings/UcmBackendConnector.js +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.test.js +1 -1
  13. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  14. package/dist/CallSettings/constants.js +1 -3
  15. package/dist/CallSettings/constants.js.map +1 -1
  16. package/dist/CallingClient/CallingClient.js +11 -2
  17. package/dist/CallingClient/CallingClient.js.map +1 -1
  18. package/dist/CallingClient/CallingClient.test.js +249 -193
  19. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  20. package/dist/CallingClient/calling/call.js +81 -0
  21. package/dist/CallingClient/calling/call.js.map +1 -1
  22. package/dist/CallingClient/calling/call.test.js +332 -217
  23. package/dist/CallingClient/calling/call.test.js.map +1 -1
  24. package/dist/CallingClient/constants.js +2 -1
  25. package/dist/CallingClient/constants.js.map +1 -1
  26. package/dist/CallingClient/registration/register.js +18 -13
  27. package/dist/CallingClient/registration/register.js.map +1 -1
  28. package/dist/CallingClient/registration/register.test.js +242 -125
  29. package/dist/CallingClient/registration/register.test.js.map +1 -1
  30. package/dist/Contacts/ContactsClient.js +39 -27
  31. package/dist/Contacts/ContactsClient.js.map +1 -1
  32. package/dist/Contacts/ContactsClient.test.js +64 -1
  33. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  34. package/dist/Contacts/contactFixtures.js +26 -3
  35. package/dist/Contacts/contactFixtures.js.map +1 -1
  36. package/dist/Contacts/types.js.map +1 -1
  37. package/dist/Events/types.js.map +1 -1
  38. package/dist/Metrics/index.js +2 -2
  39. package/dist/Metrics/index.js.map +1 -1
  40. package/dist/common/Utils.js +10 -8
  41. package/dist/common/Utils.js.map +1 -1
  42. package/dist/common/Utils.test.js +25 -1
  43. package/dist/common/Utils.test.js.map +1 -1
  44. package/dist/common/constants.js +5 -1
  45. package/dist/common/constants.js.map +1 -1
  46. package/dist/common/testUtil.js +23 -1
  47. package/dist/common/testUtil.js.map +1 -1
  48. package/dist/common/types.js.map +1 -1
  49. package/dist/module/CallHistory/CallHistory.js +57 -3
  50. package/dist/module/CallHistory/callHistoryFixtures.js +215 -0
  51. package/dist/module/CallHistory/constants.js +7 -1
  52. package/dist/module/CallSettings/UcmBackendConnector.js +5 -3
  53. package/dist/module/CallSettings/constants.js +0 -2
  54. package/dist/module/CallingClient/CallingClient.js +13 -2
  55. package/dist/module/CallingClient/calling/call.js +50 -0
  56. package/dist/module/CallingClient/constants.js +1 -0
  57. package/dist/module/CallingClient/registration/register.js +12 -6
  58. package/dist/module/Contacts/ContactsClient.js +28 -17
  59. package/dist/module/Contacts/contactFixtures.js +25 -2
  60. package/dist/module/Metrics/index.js +6 -2
  61. package/dist/module/common/Utils.js +7 -5
  62. package/dist/module/common/constants.js +4 -0
  63. package/dist/module/common/testUtil.js +24 -0
  64. package/dist/types/CallHistory/CallHistory.d.ts +1 -0
  65. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  66. package/dist/types/CallHistory/callHistoryFixtures.d.ts +98 -1
  67. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
  68. package/dist/types/CallHistory/constants.d.ts +7 -1
  69. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  70. package/dist/types/CallHistory/types.d.ts +9 -1
  71. package/dist/types/CallHistory/types.d.ts.map +1 -1
  72. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  73. package/dist/types/CallSettings/constants.d.ts +0 -2
  74. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  75. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  76. package/dist/types/CallingClient/calling/call.d.ts +1 -0
  77. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  78. package/dist/types/CallingClient/constants.d.ts +1 -0
  79. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  80. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  81. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  82. package/dist/types/Contacts/ContactsClient.d.ts +1 -1
  83. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  84. package/dist/types/Contacts/contactFixtures.d.ts +28 -0
  85. package/dist/types/Contacts/contactFixtures.d.ts.map +1 -1
  86. package/dist/types/Contacts/types.d.ts +3 -3
  87. package/dist/types/Contacts/types.d.ts.map +1 -1
  88. package/dist/types/Events/types.d.ts +15 -0
  89. package/dist/types/Events/types.d.ts.map +1 -1
  90. package/dist/types/Metrics/index.d.ts.map +1 -1
  91. package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
  92. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
  93. package/dist/types/common/Utils.d.ts +2 -2
  94. package/dist/types/common/Utils.d.ts.map +1 -1
  95. package/dist/types/common/constants.d.ts +4 -0
  96. package/dist/types/common/constants.d.ts.map +1 -1
  97. package/dist/types/common/testUtil.d.ts +20 -0
  98. package/dist/types/common/testUtil.d.ts.map +1 -1
  99. package/dist/types/common/types.d.ts +12 -12
  100. package/dist/types/common/types.d.ts.map +1 -1
  101. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_testUtil","_types2","_ContactsClient","_constants","_Logger","_interopRequireDefault","_constants2","utils","_interopRequireWildcard","_contactFixtures","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","describe","webex","getTestUtilsWebex","contactClient","contactServiceUrl","concat","internal","services","_serviceUrls","contactsService","ENCRYPT_FILTER","USERS","CONTACT_FILTER","scimUrl","identity","IDENTITY_ENDPOINT_RESOURCE","SCIM_ENDPOINT_RESOURCE","device","orgId","SCIM_USER_FILTER","contactServiceGroupUrl","GROUP_FILTER","serviceErrorCodeHandlerSpy","jest","spyOn","failureResponsePayload","statusCode","body","mockGroupResponse","mockContactResponseBodyOne","groups","beforeEach","createContactsClient","level","LOGGER","INFO","expect","toBeTruthy","getSDKConnector","getWebex","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","toBeCalledOnceWith","toEqual","data","any","message","not","toBeCalled","Error","file","CONTACTS_FILE","stop","_x","_callee2","_contactsResponse$dat","successResponsePayload","_callee2$","_context2","mockResolvedValue","kms","createUnboundKeys","mockKmsKey","createResource","encryptText","createContactGroup","group","groupId","toBe","count","keyUris","displayName","encryptionKeyUrl","groupType","schemas","_callee3","_contactsResponse$dat2","logInfoSpy","_callee3$","_context3","log","toBeCalledWith","POST","CONTACTS_SCHEMA","_callee4","logSpy","_callee4$","_context4","_callee5","loggerContext","warnSpy","_callee5$","_context5","mockRejectedValue","_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","DEFAULT_GROUP_NAME","_callee9","_res$data$contact2","successContactGroupResponsePayload","successContactResponsePayload","_callee9$","_context9","contactType","_callee10","_res$data$contact3","successResponsePayloadGroup","_callee10$","_context10","_callee11","_callee11$","_context11","_callee12","_callee12$","_context12","deleteContact","_callee13","_callee13$","_context13"],"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 SCIM_ENDPOINT_RESOURCE,\n SCIM_USER_FILTER,\n SUCCESS_MESSAGE,\n} from '../common/constants';\nimport log from '../Logger';\nimport {\n CONTACTS_FILE,\n CONTACT_FILTER,\n ENCRYPT_FILTER,\n DEFAULT_GROUP_NAME,\n USERS,\n GROUP_FILTER,\n CONTACTS_SCHEMA,\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} 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.internal.services._serviceUrls.identity}/${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 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\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 } else {\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\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_FILE,\n method: 'getContacts',\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\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 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 logInfoSpy = 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(logInfoSpy).not.toBeCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\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_FILE,\n method: 'createContactGroup',\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_FILE,\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 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(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toHaveBeenNthCalledWith(1, 'Unable to create contact group.', loggerContext);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 2,\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('delete a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_FILE,\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 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(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to delete contact group ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(warnSpy).toHaveBeenNthCalledWith(\n 2,\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\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 logSpy = jest.spyOn(log, 'info');\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(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\n });\n\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\n });\n expect(logSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_FILE,\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_FILE,\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\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\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\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_FILE,\n method: 'createContact',\n });\n expect(res.statusCode).toEqual(503);\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\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_FILE,\n method: 'deleteContact',\n });\n\n expect(contactClient['contacts']).toEqual(mockContactListOne);\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_testUtil","_types2","_ContactsClient","_constants","_Logger","_interopRequireDefault","_constants2","utils","_interopRequireWildcard","_contactFixtures","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","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","failureResponsePayload","statusCode","body","mockGroupResponse","mockContactResponseBodyOne","groups","beforeEach","createContactsClient","level","LOGGER","INFO","expect","toBeTruthy","getSDKConnector","getWebex","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","toBeCalledOnceWith","toEqual","data","any","message","not","toBeCalled","Error","file","CONTACTS_FILE","stop","_x","_callee2","_contactsResponse$dat","successResponsePayload","_callee2$","_context2","mockResolvedValue","kms","createUnboundKeys","mockKmsKey","createResource","encryptText","createContactGroup","group","groupId","toBe","count","keyUris","displayName","encryptionKeyUrl","groupType","schemas","_callee3","_contactsResponse$dat2","logInfoSpy","_callee3$","_context3","log","toBeCalledWith","POST","CONTACTS_SCHEMA","_callee4","logSpy","_callee4$","_context4","_callee5","loggerContext","warnSpy","_callee5$","_context5","mockRejectedValue","_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","DEFAULT_GROUP_NAME","_callee9","_res$data$contact2","successContactGroupResponsePayload","successContactResponsePayload","_callee9$","_context9","contactType","_callee10","_res$data$contact3","successResponsePayloadGroup","_callee10$","_context10","_callee11","_callee11$","_context11","_callee12","_callee12$","_context12","deleteContact","_callee13","_callee13$","_context13","userId","mockContactMinimum","mockSCIMMinListResponse","avatarURL","avatarUrlDomain","department","emails","firstName","lastName","manager","ownerId","phoneNumbers","sipAddresses","resolved","mockContact","janeDoe"],"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 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_FILE,\n CONTACT_FILTER,\n ENCRYPT_FILTER,\n DEFAULT_GROUP_NAME,\n USERS,\n GROUP_FILTER,\n CONTACTS_SCHEMA,\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 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\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 } else {\n expect(webex.request).toBeCalledOnceWith({\n uri: contactServiceUrl,\n method: HTTP_METHODS.GET,\n });\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_FILE,\n method: 'getContacts',\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\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 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 logInfoSpy = 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(logInfoSpy).not.toBeCalledWith('Requesting kms for a new KRO and key', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\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_FILE,\n method: 'createContactGroup',\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_FILE,\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 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(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toHaveBeenNthCalledWith(1, 'Unable to create contact group.', loggerContext);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 2,\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('delete a contact group - service unavailable', async () => {\n const loggerContext = {\n file: CONTACTS_FILE,\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 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(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toHaveBeenNthCalledWith(\n 1,\n `Unable to delete contact group ${mockGroupResponse.groupId}`,\n loggerContext\n );\n expect(warnSpy).toHaveBeenNthCalledWith(\n 2,\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\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 logSpy = jest.spyOn(log, 'info');\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(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\n });\n\n expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {\n file: CONTACTS_FILE,\n method: 'createNewEncryptionKeyUrl',\n });\n expect(logSpy).not.toBeCalledWith(`Creating a default group: ${DEFAULT_GROUP_NAME}`, {\n file: CONTACTS_FILE,\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_FILE,\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\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\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\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_FILE,\n method: 'createContact',\n });\n expect(res.statusCode).toEqual(503);\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\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_FILE,\n method: 'deleteContact',\n });\n\n expect(contactClient['contacts']).toEqual(mockContactListOne);\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 contact = contactClient['resolveCloudContacts'](\n {userId: mockContactMinimum},\n mockSCIMMinListResponse\n );\n\n expect(contact).toEqual(null);\n });\n});\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
4
4
  _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.mockZipCode = exports.mockTitle = exports.mockStreet = exports.mockState = exports.mockSipAddress = exports.mockSCIMListResponse = exports.mockNumber2 = exports.mockNumber1 = exports.mockLastName = exports.mockKmsKey = exports.mockGroupName = exports.mockFirstName = exports.mockEmail = exports.mockDisplayNameTwo = exports.mockDisplayNameOne = exports.mockCountry = exports.mockContactResponseBodyTwo = exports.mockContactResponseBodyThird = exports.mockContactResponseBodyOne = exports.mockContactListTwo = exports.mockContactListOne = exports.mockContactGroupListTwo = exports.mockContactGroupListOne = exports.mockCompany = exports.mockCity = exports.mockAvatarURL = void 0;
7
+ exports.scimUserMinimum = exports.mockZipCode = exports.mockTitle = exports.mockStreet = exports.mockState = exports.mockSipAddress = exports.mockSCIMMinListResponse = exports.mockSCIMListResponse = exports.mockNumber2 = exports.mockNumber1 = exports.mockLastName = exports.mockKmsKey = exports.mockGroupName = exports.mockFirstName = exports.mockEmail = exports.mockDisplayNameTwo = exports.mockDisplayNameOne = exports.mockCountry = exports.mockContactResponseBodyTwo = exports.mockContactResponseBodyThird = exports.mockContactResponseBodyOne = exports.mockContactMinimum = exports.mockContactListTwo = exports.mockContactListOne = exports.mockContactGroupListTwo = exports.mockContactGroupListOne = exports.mockCompany = exports.mockCity = exports.mockAvatarURL = void 0;
8
8
  // cSpell:disable
9
9
  var mockCity = exports.mockCity = 'Edinburgh';
10
10
  var mockCountry = exports.mockCountry = 'UK';
@@ -251,6 +251,19 @@ var mockContactGroupListTwo = exports.mockContactGroupListTwo = [{
251
251
  encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',
252
252
  isMigration: false
253
253
  }];
254
+ var mockContactMinimum = exports.mockContactMinimum = {
255
+ contactId: 'userId',
256
+ contactType: 'CLOUD',
257
+ encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',
258
+ groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],
259
+ ownerId: 'ownerId'
260
+ };
261
+ var scimUserMinimum = exports.scimUserMinimum = {
262
+ schemas: ['urn:ietf:params:scim:schemas:core:2.0:User'],
263
+ id: 'userId',
264
+ userName: 'userName',
265
+ userType: 'user'
266
+ };
254
267
  var scimUser1 = {
255
268
  schemas: ['urn:ietf:params:scim:schemas:core:2.0:User', 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User', 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'],
256
269
  id: 'userId',
@@ -394,12 +407,22 @@ var mockSCIMListResponse = exports.mockSCIMListResponse = {
394
407
  statusCode: 200,
395
408
  body: {
396
409
  schemas: ['urn:ietf:params:scim:api:messages:2.0:ListResponse'],
397
- totalResults: 11,
398
- itemsPerPage: 11,
410
+ totalResults: 2,
411
+ itemsPerPage: 2,
399
412
  startIndex: 1,
400
413
  Resources: [scimUser1, scimUser2NoPhoto]
401
414
  }
402
415
  };
416
+ var mockSCIMMinListResponse = exports.mockSCIMMinListResponse = {
417
+ statusCode: 200,
418
+ body: {
419
+ schemas: ['urn:ietf:params:scim:api:messages:2.0:ListResponse'],
420
+ totalResults: 1,
421
+ itemsPerPage: 1,
422
+ startIndex: 1,
423
+ Resources: [scimUserMinimum]
424
+ }
425
+ };
403
426
  var mockKmsKey = exports.mockKmsKey = {
404
427
  uri: 'kms://kms-cisco.wbx2.com/keys/16095024-612d-4424-ba51-57cad2402e14'
405
428
  };
@@ -1 +1 @@
1
- {"version":3,"names":["mockCity","exports","mockCountry","mockState","mockStreet","mockZipCode","mockCompany","mockDisplayNameOne","mockFirstName","mockLastName","mockEmail","mockNumber1","mockNumber2","mockSipAddress","mockTitle","mockGroupName","mockAvatarURL","mockDisplayNameTwo","mockContactResponseBodyOne","contacts","avatarUrlDomain","contactId","contactType","encryptionKeyUrl","groups","isMigration","meta","created","lastModified","ownerId","phoneNumbers","type","value","sipAddresses","addressInfo","city","country","state","street","zipCode","avatarURL","companyName","displayName","emails","firstName","lastName","title","groupId","groupType","members","mockContactResponseBodyTwo","mockContactResponseBodyThird","mockContactListOne","department","manager","primary","mockContactListTwo","mockContactGroupListOne","mockContactGroupListTwo","scimUser1","schemas","id","userName","active","name","familyName","givenName","userType","photos","addresses","streetAddress","locality","region","postalCode","$ref","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","licenseID","userSettings","userPreferences","organizationId","userNameType","resourceType","location","version","scimUser2NoPhoto","mockSCIMListResponse","statusCode","body","totalResults","itemsPerPage","startIndex","Resources","mockKmsKey","uri"],"sources":["contactFixtures.ts"],"sourcesContent":["// cSpell:disable\nexport const mockCity = 'Edinburgh';\nexport const mockCountry = 'UK';\nexport const mockState = 'London';\nexport const mockStreet = '511, Houston Street';\nexport const mockZipCode = '455372';\nexport const mockCompany = 'Intel';\nexport const mockDisplayNameOne = 'Jane Doe';\nexport const mockFirstName = 'Jane';\nexport const mockLastName = 'Doe';\nexport const mockEmail = 'jando567@gmail.com';\nexport const mockNumber1 = 'jando@intel.com';\nexport const mockNumber2 = '6647384294';\nexport const mockSipAddress = 'jando@go.webex.com';\nexport const mockTitle = 'Director';\nexport const mockGroupName = 'Other contacts';\nexport const mockAvatarURL = 'avatar-prod-us-east-2.webexcontent.com';\n\nexport const mockDisplayNameTwo = 'TestUser Webrtc';\n\nexport const mockContactResponseBodyOne = {\n contacts: [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n contactType: 'CLOUD',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n isMigration: false,\n meta: {\n created: '2023-01-19T12:50:14.143Z',\n lastModified: '2023-01-19T12:50:14.143Z',\n },\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n sipAddresses: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n },\n {\n addressInfo: {\n city: 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..ZQxXkcSRHVhsETbD.Zf2jkBMa0h5W.bUt1XFfm4M9CaqVbj9WWgA',\n country:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..8OINhXhrW34lhlFF.OA4.-wFSlsrC3yHZNroUXnImuQ',\n state:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..K6xs8MriCqdaGpJk.78sgv9_J.A5Oa-Hx5XsTlE9tZtRvMVQ',\n street:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..39gjK-W7rXZ_GBZ_.iJzt7VjyCVfxcZQ4Y8LvkEBN_g.3h5vu8Cnlx8ehucpxAjX2Q',\n zipCode:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..Dl7IyKHvNAIDSVTg.ej2jYWdc.f35IB6Sdz2iffU-7C7ZhQQ',\n },\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n avatarURL:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ',\n companyName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..hMSzGHFYnDFCRcGZ.B6-4afk.s8C-vpAM8ZnsBQ8e6BmmnQ',\n contactId: 'e04d14c7-5634-4905-bd81-dceb26fd71c8',\n contactType: 'CUSTOM',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..euBLWhgFZtDPIZSP.u85IGF_bFs4.JUKLJPM6XeqV73iOOBt3qQ',\n emails: [\n {\n type: '',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..00Q0vBtHP7_24McS.erKMdg.7nKqyrz23Zf8ft2Admq7mg',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n isMigration: false,\n lastName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..In4w4TvDYbLZ4tZZ.zTjp.MC-iQU_s8wunkFreHycSnA',\n meta: {\n created: '2023-02-23T09:55:42.187Z',\n lastModified: '2023-02-23T09:55:42.187Z',\n },\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..evwrwHWw0tDHZVgg.bs3vlm3lNTmB0MqptY-n.zZpaZR_Mh6QgAb8y47nv8Q',\n },\n {\n type: 'mobile',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..98aKiSjwP_pmwi4a.NccXQYx9dmN0nA.etk5jhGa9ec2oJBY9EASRQ',\n },\n ],\n sipAddresses: [\n {\n type: 'pmr',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..nZli_KmAQ7sWwMtz.iaAgHmvx2LHfczsKQe9FX5QE.I34ILkYVxFt-dId-AGTulQ',\n },\n ],\n title:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RK42gA0wR7kiWCU0.4XgMGRT5v74.nn__qOr7oOdHLfbNzaZjeA',\n },\n ],\n groups: [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n members: ['e04d14c7-5634-4905-bd81-dceb26fd71c8', '801bb994-343b-4f6b-97ae-d13c91d4b877'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n ],\n};\n\nexport const mockContactResponseBodyTwo = {\n contacts: [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '62de96be-fa97-4b4f-9106-76b267a87696',\n contactType: 'CUSTOM',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n },\n ],\n groups: [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n members: ['62de96be-fa97-4b4f-9106-76b267a87696'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n ],\n};\n\nexport const mockContactResponseBodyThird = {\n contacts: [],\n groups: [],\n ownerId: '72574f1a-0158-4ffa-aab4-28bf3b488162',\n};\n\nexport const mockContactListOne = [\n {\n addressInfo: {\n city: 'Edinburgh',\n country: 'UK',\n state: 'London',\n street: '511, Houston Street',\n zipCode: '455372',\n },\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n companyName: 'Intel',\n contactId: 'e04d14c7-5634-4905-bd81-dceb26fd71c8',\n contactType: 'CUSTOM',\n displayName: 'Jane Doe',\n emails: [{type: '', value: 'jando567@gmail.com'}],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: 'Jane',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: 'Doe',\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {type: 'work', value: 'jando@intel.com'},\n {type: 'mobile', value: '6647384294'},\n ],\n sipAddresses: [{type: 'pmr', value: 'jando@go.webex.com'}],\n title: 'Director',\n isMigration: false,\n meta: {\n created: '2023-02-23T09:55:42.187Z',\n lastModified: '2023-02-23T09:55:42.187Z',\n },\n avatarURL: 'avatar-prod-us-east-2.webexcontent.com',\n },\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n contactType: 'CLOUD',\n department: '123029217',\n displayName: 'Emily Nagakawa',\n emails: [{value: 'emikawa2@cisco.com'}],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: 'Emily',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: 'Nagakawa',\n manager: 'Robert Langdon',\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {type: 'mobile', value: '+1 835 648 8750'},\n {type: 'work', value: '+1 791 723 8825'},\n {type: 'work', value: mockNumber2},\n ],\n sipAddresses: [\n {type: 'cloud-calling', value: 'emikawa2@cisco.call.ciscospark.com', primary: true},\n {type: 'personal-room', value: 'emikawa2@cisco.webex.com', primary: false},\n {type: 'enterprise', value: 'emikawa2@cisco.com', primary: true},\n {type: 'personal-room', value: '25762555827@cisco.webex.com', primary: false},\n {type: 'work', value: mockSipAddress},\n ],\n title: 'Software Engineer',\n avatarURL: 'avatar-prod-us-east-2.webexcontent.com',\n },\n];\n\nexport const mockContactListTwo = [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '62de96be-fa97-4b4f-9106-76b267a87696',\n contactType: 'CUSTOM',\n displayName: 'TestUser Webrtc',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n },\n];\n\nexport const mockContactGroupListOne = [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName: 'Other contacts',\n members: ['e04d14c7-5634-4905-bd81-dceb26fd71c8', '801bb994-343b-4f6b-97ae-d13c91d4b877'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n];\n\nexport const mockContactGroupListTwo = [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName: 'Other contacts',\n members: ['62de96be-fa97-4b4f-9106-76b267a87696'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n];\n\nconst scimUser1 = {\n schemas: [\n 'urn:ietf:params:scim:schemas:core:2.0:User',\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User',\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n ],\n id: 'userId',\n userName: 'johndoe@cisco.com',\n active: true,\n name: {\n familyName: 'Doe',\n givenName: 'John',\n },\n displayName: 'John Doe',\n emails: [\n {\n value: 'johndoe@cisco.com',\n type: 'work',\n primary: true,\n },\n ],\n userType: 'user',\n phoneNumbers: [\n {\n value: '+91 22 1234 5678',\n type: 'work',\n },\n ],\n photos: [\n {\n value: 'photoUrl',\n type: 'photo',\n },\n {\n value: 'thumbnailURL',\n type: 'thumbnail',\n },\n ],\n addresses: [\n {\n type: 'work',\n streetAddress: 'Street',\n locality: 'BANGALORE',\n region: 'KARNATAKA',\n postalCode: '560103',\n country: 'IN',\n },\n ],\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User': {\n department: '123029016',\n manager: {\n value: 'userId',\n displayName: 'Jane Smith',\n $ref: 'scimUrl',\n },\n },\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User': {\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n licenseID: ['license'],\n userSettings: ['setting'],\n userPreferences: ['preferences'],\n sipAddresses: [\n {\n value: 'johndoe@cisco.call.ciscospark.com',\n type: 'cloud-calling',\n },\n {\n value: 'johndoe@cisco.calls.webex.com',\n type: 'cloud-calling',\n primary: true,\n },\n {\n value: 'johndoe@cisco.webex.com',\n type: 'personal-room',\n },\n ],\n meta: {\n organizationId: 'orgId',\n },\n userNameType: 'email',\n },\n meta: {\n resourceType: 'User',\n location: 'scimUrl',\n version: 'W/\"16629124099\"',\n created: '2019-12-24T02:01:42.803Z',\n lastModified: '2024-08-21T14:22:55.987Z',\n },\n};\n\nconst scimUser2NoPhoto = {\n schemas: [\n 'urn:ietf:params:scim:schemas:core:2.0:User',\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User',\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n ],\n id: 'userId',\n userName: 'janedoe@cisco.com',\n active: true,\n name: {\n familyName: 'Doe',\n givenName: 'Jane',\n },\n displayName: 'Jane Doe',\n emails: [\n {\n value: 'janedoe@cisco.com',\n type: 'work',\n primary: true,\n },\n ],\n userType: 'user',\n phoneNumbers: [\n {\n value: '+91 22 1234 5678',\n type: 'work',\n },\n ],\n addresses: [\n {\n type: 'work',\n streetAddress: 'Street',\n locality: 'BANGALORE',\n region: 'KARNATAKA',\n postalCode: '560103',\n country: 'IN',\n },\n ],\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User': {\n department: '123029016',\n manager: {\n value: 'userId',\n displayName: 'John Smith',\n $ref: 'scimUrl',\n },\n },\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User': {\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n licenseID: ['license'],\n userSettings: ['setting'],\n userPreferences: ['preferences'],\n sipAddresses: [\n {\n value: 'janedoe@cisco.call.ciscospark.com',\n type: 'cloud-calling',\n },\n {\n value: 'janedoe@cisco.calls.webex.com',\n type: 'cloud-calling',\n primary: true,\n },\n {\n value: 'janedoe@cisco.webex.com',\n type: 'personal-room',\n },\n ],\n meta: {\n organizationId: 'orgId',\n },\n userNameType: 'email',\n },\n meta: {\n resourceType: 'User',\n location: 'scimUrl',\n version: 'W/\"16629124099\"',\n created: '2019-12-24T02:01:42.803Z',\n lastModified: '2024-08-21T14:22:55.987Z',\n },\n};\n\nexport const mockSCIMListResponse = {\n statusCode: 200,\n body: {\n schemas: ['urn:ietf:params:scim:api:messages:2.0:ListResponse'],\n totalResults: 11,\n itemsPerPage: 11,\n startIndex: 1,\n Resources: [scimUser1, scimUser2NoPhoto],\n },\n};\n\nexport const mockKmsKey = {\n uri: 'kms://kms-cisco.wbx2.com/keys/16095024-612d-4424-ba51-57cad2402e14',\n};\n/* cSpell:enable */\n"],"mappings":"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"}
1
+ {"version":3,"names":["mockCity","exports","mockCountry","mockState","mockStreet","mockZipCode","mockCompany","mockDisplayNameOne","mockFirstName","mockLastName","mockEmail","mockNumber1","mockNumber2","mockSipAddress","mockTitle","mockGroupName","mockAvatarURL","mockDisplayNameTwo","mockContactResponseBodyOne","contacts","avatarUrlDomain","contactId","contactType","encryptionKeyUrl","groups","isMigration","meta","created","lastModified","ownerId","phoneNumbers","type","value","sipAddresses","addressInfo","city","country","state","street","zipCode","avatarURL","companyName","displayName","emails","firstName","lastName","title","groupId","groupType","members","mockContactResponseBodyTwo","mockContactResponseBodyThird","mockContactListOne","department","manager","primary","mockContactListTwo","mockContactGroupListOne","mockContactGroupListTwo","mockContactMinimum","scimUserMinimum","schemas","id","userName","userType","scimUser1","active","name","familyName","givenName","photos","addresses","streetAddress","locality","region","postalCode","$ref","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","licenseID","userSettings","userPreferences","organizationId","userNameType","resourceType","location","version","scimUser2NoPhoto","mockSCIMListResponse","statusCode","body","totalResults","itemsPerPage","startIndex","Resources","mockSCIMMinListResponse","mockKmsKey","uri"],"sources":["contactFixtures.ts"],"sourcesContent":["// cSpell:disable\nexport const mockCity = 'Edinburgh';\nexport const mockCountry = 'UK';\nexport const mockState = 'London';\nexport const mockStreet = '511, Houston Street';\nexport const mockZipCode = '455372';\nexport const mockCompany = 'Intel';\nexport const mockDisplayNameOne = 'Jane Doe';\nexport const mockFirstName = 'Jane';\nexport const mockLastName = 'Doe';\nexport const mockEmail = 'jando567@gmail.com';\nexport const mockNumber1 = 'jando@intel.com';\nexport const mockNumber2 = '6647384294';\nexport const mockSipAddress = 'jando@go.webex.com';\nexport const mockTitle = 'Director';\nexport const mockGroupName = 'Other contacts';\nexport const mockAvatarURL = 'avatar-prod-us-east-2.webexcontent.com';\n\nexport const mockDisplayNameTwo = 'TestUser Webrtc';\n\nexport const mockContactResponseBodyOne = {\n contacts: [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n contactType: 'CLOUD',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n isMigration: false,\n meta: {\n created: '2023-01-19T12:50:14.143Z',\n lastModified: '2023-01-19T12:50:14.143Z',\n },\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n sipAddresses: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n },\n {\n addressInfo: {\n city: 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..ZQxXkcSRHVhsETbD.Zf2jkBMa0h5W.bUt1XFfm4M9CaqVbj9WWgA',\n country:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..8OINhXhrW34lhlFF.OA4.-wFSlsrC3yHZNroUXnImuQ',\n state:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..K6xs8MriCqdaGpJk.78sgv9_J.A5Oa-Hx5XsTlE9tZtRvMVQ',\n street:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..39gjK-W7rXZ_GBZ_.iJzt7VjyCVfxcZQ4Y8LvkEBN_g.3h5vu8Cnlx8ehucpxAjX2Q',\n zipCode:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..Dl7IyKHvNAIDSVTg.ej2jYWdc.f35IB6Sdz2iffU-7C7ZhQQ',\n },\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n avatarURL:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ',\n companyName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..hMSzGHFYnDFCRcGZ.B6-4afk.s8C-vpAM8ZnsBQ8e6BmmnQ',\n contactId: 'e04d14c7-5634-4905-bd81-dceb26fd71c8',\n contactType: 'CUSTOM',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..euBLWhgFZtDPIZSP.u85IGF_bFs4.JUKLJPM6XeqV73iOOBt3qQ',\n emails: [\n {\n type: '',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RraxBTv0L-VBbmGE.zFMQZS7CCUIi4EizU5lVxixX.JVgGIpO8rU09Q3B97dwyRg',\n },\n ],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..00Q0vBtHP7_24McS.erKMdg.7nKqyrz23Zf8ft2Admq7mg',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n isMigration: false,\n lastName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..In4w4TvDYbLZ4tZZ.zTjp.MC-iQU_s8wunkFreHycSnA',\n meta: {\n created: '2023-02-23T09:55:42.187Z',\n lastModified: '2023-02-23T09:55:42.187Z',\n },\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {\n type: 'work',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..evwrwHWw0tDHZVgg.bs3vlm3lNTmB0MqptY-n.zZpaZR_Mh6QgAb8y47nv8Q',\n },\n {\n type: 'mobile',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..98aKiSjwP_pmwi4a.NccXQYx9dmN0nA.etk5jhGa9ec2oJBY9EASRQ',\n },\n ],\n sipAddresses: [\n {\n type: 'pmr',\n value:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..nZli_KmAQ7sWwMtz.iaAgHmvx2LHfczsKQe9FX5QE.I34ILkYVxFt-dId-AGTulQ',\n },\n ],\n title:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..RK42gA0wR7kiWCU0.4XgMGRT5v74.nn__qOr7oOdHLfbNzaZjeA',\n },\n ],\n groups: [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n members: ['e04d14c7-5634-4905-bd81-dceb26fd71c8', '801bb994-343b-4f6b-97ae-d13c91d4b877'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n ],\n};\n\nexport const mockContactResponseBodyTwo = {\n contacts: [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '62de96be-fa97-4b4f-9106-76b267a87696',\n contactType: 'CUSTOM',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n },\n ],\n groups: [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName:\n 'eyJhbGciOiAiZGlyIiwgImtpZCI6ICJrbXM6Ly9jaXNjby5jb20va2V5cy9kY2YxOGY5ZC0xNTVlLTQ0ZmYtYWQ2MS1jOGE2OWI3MTAzYWIiLCAiZW5jIjogIkEyNTZHQ00ifQ..JP5o4Pe5KfAf8Wwh.Ww8JzimoaxCapUX1PqqJ8w.r8GtZLq6gOfCQIiTbs3Y2Q',\n members: ['62de96be-fa97-4b4f-9106-76b267a87696'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n ],\n};\n\nexport const mockContactResponseBodyThird = {\n contacts: [],\n groups: [],\n ownerId: '72574f1a-0158-4ffa-aab4-28bf3b488162',\n};\n\nexport const mockContactListOne = [\n {\n addressInfo: {\n city: 'Edinburgh',\n country: 'UK',\n state: 'London',\n street: '511, Houston Street',\n zipCode: '455372',\n },\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n companyName: 'Intel',\n contactId: 'e04d14c7-5634-4905-bd81-dceb26fd71c8',\n contactType: 'CUSTOM',\n displayName: 'Jane Doe',\n emails: [{type: '', value: 'jando567@gmail.com'}],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: 'Jane',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: 'Doe',\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {type: 'work', value: 'jando@intel.com'},\n {type: 'mobile', value: '6647384294'},\n ],\n sipAddresses: [{type: 'pmr', value: 'jando@go.webex.com'}],\n title: 'Director',\n isMigration: false,\n meta: {\n created: '2023-02-23T09:55:42.187Z',\n lastModified: '2023-02-23T09:55:42.187Z',\n },\n avatarURL: 'avatar-prod-us-east-2.webexcontent.com',\n },\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877',\n contactType: 'CLOUD',\n department: '123029217',\n displayName: 'Emily Nagakawa',\n emails: [{value: 'emikawa2@cisco.com'}],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n firstName: 'Emily',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n lastName: 'Nagakawa',\n manager: 'Robert Langdon',\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n phoneNumbers: [\n {type: 'mobile', value: '+1 835 648 8750'},\n {type: 'work', value: '+1 791 723 8825'},\n {type: 'work', value: mockNumber2},\n ],\n sipAddresses: [\n {type: 'cloud-calling', value: 'emikawa2@cisco.call.ciscospark.com', primary: true},\n {type: 'personal-room', value: 'emikawa2@cisco.webex.com', primary: false},\n {type: 'enterprise', value: 'emikawa2@cisco.com', primary: true},\n {type: 'personal-room', value: '25762555827@cisco.webex.com', primary: false},\n {type: 'work', value: mockSipAddress},\n ],\n title: 'Software Engineer',\n avatarURL: 'avatar-prod-us-east-2.webexcontent.com',\n },\n];\n\nexport const mockContactListTwo = [\n {\n avatarUrlDomain: 'avatar-prod-us-east-2.webexcontent.com',\n contactId: '62de96be-fa97-4b4f-9106-76b267a87696',\n contactType: 'CUSTOM',\n displayName: 'TestUser Webrtc',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n ownerId: '0fea4a63-4e27-46ee-99c3-2472cb12bf68',\n },\n];\n\nexport const mockContactGroupListOne = [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName: 'Other contacts',\n members: ['e04d14c7-5634-4905-bd81-dceb26fd71c8', '801bb994-343b-4f6b-97ae-d13c91d4b877'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n];\n\nexport const mockContactGroupListTwo = [\n {\n meta: {\n created: '2023-03-06T14:00:29.950Z',\n lastModified: '2023-03-06T14:00:29.951Z',\n },\n groupId: '1561977e-3443-4ccf-a591-69686275d7d2',\n groupType: 'NORMAL',\n ownerId: '08cedee9-296f-4aaf-bd4b-e14f2399abdf',\n displayName: 'Other contacts',\n members: ['62de96be-fa97-4b4f-9106-76b267a87696'],\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n isMigration: false,\n },\n];\n\nexport const mockContactMinimum = {\n contactId: 'userId',\n contactType: 'CLOUD',\n encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',\n groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],\n ownerId: 'ownerId',\n};\n\nexport const scimUserMinimum = {\n schemas: ['urn:ietf:params:scim:schemas:core:2.0:User'],\n id: 'userId',\n userName: 'userName',\n userType: 'user',\n};\n\nconst scimUser1 = {\n schemas: [\n 'urn:ietf:params:scim:schemas:core:2.0:User',\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User',\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n ],\n id: 'userId',\n userName: 'johndoe@cisco.com',\n active: true,\n name: {\n familyName: 'Doe',\n givenName: 'John',\n },\n displayName: 'John Doe',\n emails: [\n {\n value: 'johndoe@cisco.com',\n type: 'work',\n primary: true,\n },\n ],\n userType: 'user',\n phoneNumbers: [\n {\n value: '+91 22 1234 5678',\n type: 'work',\n },\n ],\n photos: [\n {\n value: 'photoUrl',\n type: 'photo',\n },\n {\n value: 'thumbnailURL',\n type: 'thumbnail',\n },\n ],\n addresses: [\n {\n type: 'work',\n streetAddress: 'Street',\n locality: 'BANGALORE',\n region: 'KARNATAKA',\n postalCode: '560103',\n country: 'IN',\n },\n ],\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User': {\n department: '123029016',\n manager: {\n value: 'userId',\n displayName: 'Jane Smith',\n $ref: 'scimUrl',\n },\n },\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User': {\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n licenseID: ['license'],\n userSettings: ['setting'],\n userPreferences: ['preferences'],\n sipAddresses: [\n {\n value: 'johndoe@cisco.call.ciscospark.com',\n type: 'cloud-calling',\n },\n {\n value: 'johndoe@cisco.calls.webex.com',\n type: 'cloud-calling',\n primary: true,\n },\n {\n value: 'johndoe@cisco.webex.com',\n type: 'personal-room',\n },\n ],\n meta: {\n organizationId: 'orgId',\n },\n userNameType: 'email',\n },\n meta: {\n resourceType: 'User',\n location: 'scimUrl',\n version: 'W/\"16629124099\"',\n created: '2019-12-24T02:01:42.803Z',\n lastModified: '2024-08-21T14:22:55.987Z',\n },\n};\n\nconst scimUser2NoPhoto = {\n schemas: [\n 'urn:ietf:params:scim:schemas:core:2.0:User',\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User',\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n ],\n id: 'userId',\n userName: 'janedoe@cisco.com',\n active: true,\n name: {\n familyName: 'Doe',\n givenName: 'Jane',\n },\n displayName: 'Jane Doe',\n emails: [\n {\n value: 'janedoe@cisco.com',\n type: 'work',\n primary: true,\n },\n ],\n userType: 'user',\n phoneNumbers: [\n {\n value: '+91 22 1234 5678',\n type: 'work',\n },\n ],\n addresses: [\n {\n type: 'work',\n streetAddress: 'Street',\n locality: 'BANGALORE',\n region: 'KARNATAKA',\n postalCode: '560103',\n country: 'IN',\n },\n ],\n 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User': {\n department: '123029016',\n manager: {\n value: 'userId',\n displayName: 'John Smith',\n $ref: 'scimUrl',\n },\n },\n 'urn:scim:schemas:extension:cisco:webexidentity:2.0:User': {\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n licenseID: ['license'],\n userSettings: ['setting'],\n userPreferences: ['preferences'],\n sipAddresses: [\n {\n value: 'janedoe@cisco.call.ciscospark.com',\n type: 'cloud-calling',\n },\n {\n value: 'janedoe@cisco.calls.webex.com',\n type: 'cloud-calling',\n primary: true,\n },\n {\n value: 'janedoe@cisco.webex.com',\n type: 'personal-room',\n },\n ],\n meta: {\n organizationId: 'orgId',\n },\n userNameType: 'email',\n },\n meta: {\n resourceType: 'User',\n location: 'scimUrl',\n version: 'W/\"16629124099\"',\n created: '2019-12-24T02:01:42.803Z',\n lastModified: '2024-08-21T14:22:55.987Z',\n },\n};\n\nexport const mockSCIMListResponse = {\n statusCode: 200,\n body: {\n schemas: ['urn:ietf:params:scim:api:messages:2.0:ListResponse'],\n totalResults: 2,\n itemsPerPage: 2,\n startIndex: 1,\n Resources: [scimUser1, scimUser2NoPhoto],\n },\n};\n\nexport const mockSCIMMinListResponse = {\n statusCode: 200,\n body: {\n schemas: ['urn:ietf:params:scim:api:messages:2.0:ListResponse'],\n totalResults: 1,\n itemsPerPage: 1,\n startIndex: 1,\n Resources: [scimUserMinimum],\n },\n};\n\nexport const mockKmsKey = {\n uri: 'kms://kms-cisco.wbx2.com/keys/16095024-612d-4424-ba51-57cad2402e14',\n};\n/* cSpell:enable */\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["ContactType","exports","GroupType"],"sources":["types.ts"],"sourcesContent":["import {ISDKConnector} from '../SDKConnector/types';\nimport {Address, PhoneNumber, URIAddress} from '../common/types';\n\nexport enum ContactType {\n CUSTOM = 'CUSTOM',\n CLOUD = 'CLOUD',\n}\n\n/**\n * `Contact` object is used to represent a contact.\n */\nexport type Contact = {\n /**\n * This represents the complete address of the contact.\n */\n addressInfo?: Address;\n /**\n * This represents the URL of the avatar of the contact.\n */\n avatarURL?: string;\n /**\n * This represents the domain of the avatar of the contact.\n */\n avatarUrlDomain?: string;\n /**\n * This represents the company name of the contact.\n */\n companyName?: string;\n /**\n * Unique identifier of the contact.\n */\n contactId?: string;\n /**\n * Indicates the type of the contact, can be `CLOUD` or `CUSTOM`.\n */\n contactType: ContactType;\n /**\n * Department of the contact in the company if it's a corporate contact.\n */\n department?: string;\n /**\n * This represents the display name of the contact.\n */\n displayName: string;\n /**\n * This represents the array of different email addresses of the contact.\n */\n emails?: URIAddress[];\n /**\n * This is encrypted key url of the contact used for encryption.\n */\n encryptionKeyUrl: string;\n /**\n * This represents the first name of the contact.\n */\n firstName?: string;\n /**\n * Array of different groups and it's details available for the user\n */\n groups: string[];\n /**\n * The kms resource object url used to generate the encryption key.\n */\n kmsResourceObjectUrl?: string;\n /**\n * This represents the last name of the contact.\n */\n lastName?: string;\n /**\n * This represents the manager of the contact.\n */\n manager?: string;\n /**\n * Userd ID of the user who has the contact.\n */\n ownerId?: string;\n /**\n * This represents the array of different phone numbers of the contact.\n */\n phoneNumbers?: PhoneNumber[];\n /**\n * Primary contact method as set by the contact.\n */\n primaryContactMethod?: string;\n /**\n * This represents the schema of the contact.\n */\n schemas?: string;\n /**\n * This represents the array of different sip addresses of the contact.\n */\n sipAddresses?: URIAddress[];\n /**\n * This represents the job title of the contact.\n */\n title?: string;\n};\n\nexport enum GroupType {\n NORMAL = 'NORMAL',\n EXTERNAL = 'EXTERNAL',\n}\n\n/**\n * `ContactGroup` object is used to represent a contact group.\n */\nexport type ContactGroup = {\n /**\n * Name of the contact group.\n */\n displayName: string;\n /**\n * Encrypted key url used for encryption.\n */\n encryptionKeyUrl: string;\n /**\n * Unique identifier of the contact group.\n */\n groupId: string;\n /**\n * Type of the contact group, can be `NORMAL` or `EXTERNAL`.\n */\n groupType: GroupType;\n /**\n * String array containing details of the contacts in each group.\n */\n members?: string[];\n /**\n * User ID of the user who owns the contact group.\n */\n ownerId?: string;\n};\n\nexport type ContactList = {\n contacts: Contact[];\n groups: ContactGroup[];\n};\n\nexport type ContactResponse = {\n statusCode: number;\n data: {\n contacts?: Contact[];\n groups?: ContactGroup[];\n contact?: Contact;\n group?: ContactGroup;\n error?: string;\n };\n message: string | null;\n};\n\n/**\n * Interface for Contacts Module.\n * This encompasses a set of APIs that enable the fetching, creation, and updating of contacts and groups.\n * These APIs return promises that resolve to a `ContactResponse` object, which contains a status code, data, and message.\n * The data field within this response object holds the contacts and groups object.\n *\n * Example - ContactResponse\n *\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * contacts: Contact[],\n * groups: ContactGroup[],\n * },\n * message: null\n * }\n * ````\n */\nexport interface IContacts {\n getSDKConnector: () => ISDKConnector;\n /**\n * This API is used to fetch the list of contacts and groups for a user.\n *\n * Example\n * ```javascript\n * const contactsResponse = await contactClient.getContacts();\n * ```\n *\n * The `ContactsResponse` object contains a comprehensive list of both contacts and groups for the user.\n * Each `Contact` object within this list is defined by the properties detailed in the {@link Contact}.\n * Each `ContactGroup` adheres to the properties specified in the {@link ContactGroup}.\n *\n */\n getContacts(): Promise<ContactResponse>;\n\n /**\n * This API is used to create a contact group with the given display name.\n *\n * Example\n * ```javascript\n * const contactGroup = await contactClient.createContactGroup(displayName, encryptionKeyUrl, groupType);\n * ```\n *\n * The `ContactGroup` object for the given display name will be created and returned as a response with the properties of {@link ContactGroup}.\n */\n createContactGroup(\n displayName: string,\n encryptionKeyUrl?: string,\n groupType?: GroupType\n ): Promise<ContactResponse>;\n\n /**\n * This API is used to delete a contact group whose groupId is received.\n *\n * Example\n * ```javascript\n * const response = await contactClient.deleteContactGroup(groupId);\n * ```\n *\n * The received response includes a status code and a message that reflect the success or failure of the API call\n */\n deleteContactGroup(groupId: string): Promise<ContactResponse>;\n\n /**\n * This API is responsible for creating a new contact.\n *\n * Example\n * ```javascript\n * const contact = await contactClient.createContact(contactInfo);\n * ```\n */\n createContact(contactInfo: Contact): Promise<ContactResponse>;\n\n /**\n * This API is responsible for deleting an existing contact for the given contactId.\n *\n * Example\n * ```javascript\n * const response = await contactClient.deleteContact(contactId);\n * ```\n *\n * The received response includes a status code and a message that reflect the success or failure of the API call\n */\n deleteContact(contactId: string): Promise<ContactResponse>;\n}\n\nexport type ContactIdContactInfo = {\n [Key: string]: Contact;\n};\n"],"mappings":";;;;;;;IAGYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB;AACA;AACA;AAFA,IA0FYE,SAAS,GAAAD,OAAA,CAAAC,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB;AACA;AACA;AA6CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":["ContactType","exports","GroupType"],"sources":["types.ts"],"sourcesContent":["import {ISDKConnector} from '../SDKConnector/types';\nimport {Address, PhoneNumber, URIAddress} from '../common/types';\n\nexport enum ContactType {\n CUSTOM = 'CUSTOM',\n CLOUD = 'CLOUD',\n}\n\n/**\n * `Contact` object is used to represent a contact.\n */\nexport type Contact = {\n /**\n * This represents the complete address of the contact.\n */\n addressInfo?: Address;\n /**\n * This represents the URL of the avatar of the contact.\n */\n avatarURL?: string;\n /**\n * This represents the domain of the avatar of the contact.\n */\n avatarUrlDomain?: string;\n /**\n * This represents the company name of the contact.\n */\n companyName?: string;\n /**\n * Unique identifier of the contact.\n */\n contactId: string;\n /**\n * Indicates the type of the contact, can be `CLOUD` or `CUSTOM`.\n */\n contactType: ContactType;\n /**\n * Department of the contact in the company if it's a corporate contact.\n */\n department?: string;\n /**\n * This represents the display name of the contact.\n */\n displayName?: string;\n /**\n * This represents the array of different email addresses of the contact.\n */\n emails?: URIAddress[];\n /**\n * This is encrypted key url of the contact used for encryption.\n */\n encryptionKeyUrl: string;\n /**\n * This represents the first name of the contact.\n */\n firstName?: string;\n /**\n * Array of different groups and it's details available for the user\n */\n groups: string[];\n /**\n * The kms resource object url used to generate the encryption key.\n */\n kmsResourceObjectUrl?: string;\n /**\n * This represents the last name of the contact.\n */\n lastName?: string;\n /**\n * This represents the manager of the contact.\n */\n manager?: string;\n /**\n * Userd ID of the user who has the contact.\n */\n ownerId?: string;\n /**\n * This represents the array of different phone numbers of the contact.\n */\n phoneNumbers?: PhoneNumber[];\n /**\n * Primary contact method as set by the contact.\n */\n primaryContactMethod?: string;\n /**\n * This represents the schema of the contact.\n */\n schemas?: string;\n /**\n * This represents the array of different sip addresses of the contact.\n */\n sipAddresses?: URIAddress[];\n /**\n * This field indicates whether the contact was resolved successfully.\n */\n resolved: boolean;\n};\n\nexport enum GroupType {\n NORMAL = 'NORMAL',\n EXTERNAL = 'EXTERNAL',\n}\n\n/**\n * `ContactGroup` object is used to represent a contact group.\n */\nexport type ContactGroup = {\n /**\n * Name of the contact group.\n */\n displayName: string;\n /**\n * Encrypted key url used for encryption.\n */\n encryptionKeyUrl: string;\n /**\n * Unique identifier of the contact group.\n */\n groupId: string;\n /**\n * Type of the contact group, can be `NORMAL` or `EXTERNAL`.\n */\n groupType: GroupType;\n /**\n * String array containing details of the contacts in each group.\n */\n members?: string[];\n /**\n * User ID of the user who owns the contact group.\n */\n ownerId?: string;\n};\n\nexport type ContactList = {\n contacts: Contact[];\n groups: ContactGroup[];\n};\n\nexport type ContactResponse = {\n statusCode: number;\n data: {\n contacts?: Contact[];\n groups?: ContactGroup[];\n contact?: Contact;\n group?: ContactGroup;\n error?: string;\n };\n message: string | null;\n};\n\n/**\n * Interface for Contacts Module.\n * This encompasses a set of APIs that enable the fetching, creation, and updating of contacts and groups.\n * These APIs return promises that resolve to a `ContactResponse` object, which contains a status code, data, and message.\n * The data field within this response object holds the contacts and groups object.\n *\n * Example - ContactResponse\n *\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * contacts: Contact[],\n * groups: ContactGroup[],\n * },\n * message: null\n * }\n * ````\n */\nexport interface IContacts {\n getSDKConnector: () => ISDKConnector;\n /**\n * This API is used to fetch the list of contacts and groups for a user.\n *\n * Example\n * ```javascript\n * const contactsResponse = await contactClient.getContacts();\n * ```\n *\n * The `ContactsResponse` object contains a comprehensive list of both contacts and groups for the user.\n * Each `Contact` object within this list is defined by the properties detailed in the {@link Contact}.\n * Each `ContactGroup` adheres to the properties specified in the {@link ContactGroup}.\n *\n */\n getContacts(): Promise<ContactResponse>;\n\n /**\n * This API is used to create a contact group with the given display name.\n *\n * Example\n * ```javascript\n * const contactGroup = await contactClient.createContactGroup(displayName, encryptionKeyUrl, groupType);\n * ```\n *\n * The `ContactGroup` object for the given display name will be created and returned as a response with the properties of {@link ContactGroup}.\n */\n createContactGroup(\n displayName: string,\n encryptionKeyUrl?: string,\n groupType?: GroupType\n ): Promise<ContactResponse>;\n\n /**\n * This API is used to delete a contact group whose groupId is received.\n *\n * Example\n * ```javascript\n * const response = await contactClient.deleteContactGroup(groupId);\n * ```\n *\n * The received response includes a status code and a message that reflect the success or failure of the API call\n */\n deleteContactGroup(groupId: string): Promise<ContactResponse>;\n\n /**\n * This API is responsible for creating a new contact.\n *\n * Example\n * ```javascript\n * const contact = await contactClient.createContact(contactInfo);\n * ```\n */\n createContact(contactInfo: Contact): Promise<ContactResponse>;\n\n /**\n * This API is responsible for deleting an existing contact for the given contactId.\n *\n * Example\n * ```javascript\n * const response = await contactClient.deleteContact(contactId);\n * ```\n *\n * The received response includes a status code and a message that reflect the success or failure of the API call\n */\n deleteContact(contactId: string): Promise<ContactResponse>;\n}\n\nexport type ContactIdContactInfo = {\n [Key: string]: Contact;\n};\n"],"mappings":";;;;;;;IAGYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB;AACA;AACA;AAFA,IA0FYE,SAAS,GAAAD,OAAA,CAAAC,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB;AACA;AACA;AA6CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}