@webex/calling 3.8.0-next.32 → 3.8.0-next.33

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 (139) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +148 -107
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +101 -1
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/registration/register.js +151 -115
  36. package/dist/CallingClient/registration/register.js.map +1 -1
  37. package/dist/CallingClient/registration/register.test.js +43 -21
  38. package/dist/CallingClient/registration/register.test.js.map +1 -1
  39. package/dist/Contacts/ContactsClient.js +156 -102
  40. package/dist/Contacts/ContactsClient.js.map +1 -1
  41. package/dist/Contacts/ContactsClient.test.js +197 -49
  42. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  43. package/dist/Contacts/constants.js +11 -1
  44. package/dist/Contacts/constants.js.map +1 -1
  45. package/dist/Events/impl/index.js +1 -1
  46. package/dist/Events/impl/index.js.map +1 -1
  47. package/dist/Metrics/index.js +93 -39
  48. package/dist/Metrics/index.js.map +1 -1
  49. package/dist/Metrics/types.js +4 -1
  50. package/dist/Metrics/types.js.map +1 -1
  51. package/dist/SDKConnector/types.js.map +1 -1
  52. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  53. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  54. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  55. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  56. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  57. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  58. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  59. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  60. package/dist/Voicemail/Voicemail.js +198 -79
  61. package/dist/Voicemail/Voicemail.js.map +1 -1
  62. package/dist/Voicemail/Voicemail.test.js +188 -23
  63. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  64. package/dist/Voicemail/WxCallBackendConnector.js +123 -76
  65. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  66. package/dist/Voicemail/WxCallBackendConnector.test.js +69 -6
  67. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  68. package/dist/Voicemail/constants.js +25 -1
  69. package/dist/Voicemail/constants.js.map +1 -1
  70. package/dist/common/Utils.js +113 -64
  71. package/dist/common/Utils.js.map +1 -1
  72. package/dist/common/Utils.test.js +154 -21
  73. package/dist/common/Utils.test.js.map +1 -1
  74. package/dist/common/constants.js +2 -1
  75. package/dist/common/constants.js.map +1 -1
  76. package/dist/common/types.js.map +1 -1
  77. package/dist/module/CallHistory/CallHistory.js +32 -13
  78. package/dist/module/CallHistory/constants.js +6 -0
  79. package/dist/module/CallSettings/CallSettings.js +36 -3
  80. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  81. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  82. package/dist/module/CallSettings/constants.js +12 -0
  83. package/dist/module/CallingClient/CallingClient.js +52 -14
  84. package/dist/module/CallingClient/calling/call.js +172 -121
  85. package/dist/module/CallingClient/calling/callManager.js +51 -26
  86. package/dist/module/CallingClient/constants.js +98 -0
  87. package/dist/module/CallingClient/line/index.js +37 -8
  88. package/dist/module/CallingClient/registration/register.js +37 -11
  89. package/dist/module/Contacts/ContactsClient.js +65 -21
  90. package/dist/module/Contacts/constants.js +10 -0
  91. package/dist/module/Events/impl/index.js +1 -1
  92. package/dist/module/Metrics/index.js +49 -1
  93. package/dist/module/Metrics/types.js +3 -0
  94. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  95. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  96. package/dist/module/Voicemail/Voicemail.js +109 -9
  97. package/dist/module/Voicemail/WxCallBackendConnector.js +50 -17
  98. package/dist/module/Voicemail/constants.js +21 -0
  99. package/dist/module/common/Utils.js +26 -4
  100. package/dist/module/common/constants.js +1 -0
  101. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  102. package/dist/types/CallHistory/constants.d.ts +6 -0
  103. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  104. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  105. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  106. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  107. package/dist/types/CallSettings/constants.d.ts +12 -0
  108. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  109. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  110. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  111. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  112. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  113. package/dist/types/CallingClient/constants.d.ts +98 -0
  114. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  115. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  116. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  117. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  118. package/dist/types/Contacts/constants.d.ts +10 -0
  119. package/dist/types/Contacts/constants.d.ts.map +1 -1
  120. package/dist/types/Metrics/index.d.ts +1 -1
  121. package/dist/types/Metrics/index.d.ts.map +1 -1
  122. package/dist/types/Metrics/types.d.ts +5 -1
  123. package/dist/types/Metrics/types.d.ts.map +1 -1
  124. package/dist/types/SDKConnector/types.d.ts +8 -2
  125. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  126. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  127. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  128. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  129. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  130. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  131. package/dist/types/Voicemail/constants.d.ts +21 -0
  132. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  133. package/dist/types/common/Utils.d.ts +2 -2
  134. package/dist/types/common/Utils.d.ts.map +1 -1
  135. package/dist/types/common/constants.d.ts +1 -0
  136. package/dist/types/common/constants.d.ts.map +1 -1
  137. package/dist/types/common/types.d.ts +12 -0
  138. package/dist/types/common/types.d.ts.map +1 -1
  139. package/package.json +1 -1
@@ -1426,46 +1426,179 @@ describe('modifySdpForIPv4', function () {
1426
1426
  expect((0, _Utils.modifySdpForIPv4)(sdp).trim()).toEqual(expectedSdp.trim());
1427
1427
  });
1428
1428
  });
1429
- describe('uploadLogs tests', function () {
1430
- it('should call submitLogs with the provided data', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
1431
- var mockData;
1429
+ describe('uploadLogs', function () {
1430
+ var originalCrypto;
1431
+ var submitLogsMock;
1432
+ beforeEach(function () {
1433
+ // Save original crypto and mock it
1434
+ originalCrypto = global.crypto;
1435
+ global.crypto = {
1436
+ randomUUID: jest.fn().mockReturnValue('mocked-uuid-12345')
1437
+ };
1438
+
1439
+ // Mock the metrics manager submit function directly
1440
+ mockSubmitRegistrationMetric.mockClear();
1441
+
1442
+ // Mock webex.internal.support.submitLogs
1443
+ submitLogsMock = jest.fn().mockResolvedValue({
1444
+ trackingid: '1234'
1445
+ });
1446
+ webex.internal.support = {
1447
+ submitLogs: submitLogsMock
1448
+ };
1449
+ });
1450
+ afterEach(function () {
1451
+ // Restore original crypto
1452
+ global.crypto = originalCrypto;
1453
+ jest.clearAllMocks();
1454
+ });
1455
+ it('should upload logs and return the response', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
1456
+ var mockMetaData, logSpy, result;
1432
1457
  return _regenerator.default.wrap(function _callee13$(_context13) {
1433
1458
  while (1) switch (_context13.prev = _context13.next) {
1434
1459
  case 0:
1435
- mockData = {
1436
- someKey: 'someValue'
1460
+ mockMetaData = {
1461
+ correlationId: 'test-correlation'
1437
1462
  };
1438
- _context13.next = 3;
1439
- return (0, _Utils.uploadLogs)(mockData);
1440
- case 3:
1441
- expect(_SDKConnector.default.getWebex().internal.support.submitLogs).toHaveBeenCalledTimes(1);
1442
- expect(_SDKConnector.default.getWebex().internal.support.submitLogs).toHaveBeenCalledWith(mockData);
1443
- case 5:
1463
+ logSpy = jest.spyOn(_Logger.default, 'info');
1464
+ _context13.next = 4;
1465
+ return (0, _Utils.uploadLogs)(mockMetaData, true);
1466
+ case 4:
1467
+ result = _context13.sent;
1468
+ expect(result).toEqual({
1469
+ trackingid: '1234',
1470
+ feedbackId: 'mocked-uuid-12345'
1471
+ });
1472
+ expect(logSpy).toHaveBeenCalledWith("Logs uploaded successfully with feedbackId: mocked-uuid-12345", {
1473
+ file: _constants.UTILS_FILE,
1474
+ method: 'uploadLogs'
1475
+ });
1476
+ expect(mockSubmitRegistrationMetric).toHaveBeenCalledWith('web-calling-sdk-upload-logs-success', {
1477
+ fields: {
1478
+ call_id: undefined,
1479
+ calling_sdk_version: 'unknown',
1480
+ correlation_id: 'test-correlation',
1481
+ device_url: undefined,
1482
+ feedback_id: 'mocked-uuid-12345',
1483
+ mobius_url: undefined,
1484
+ tracking_id: '1234'
1485
+ },
1486
+ tags: {
1487
+ action: 'upload_logs',
1488
+ device_id: undefined,
1489
+ service_indicator: 'calling'
1490
+ },
1491
+ type: 'behavioral'
1492
+ });
1493
+ expect(submitLogsMock).toHaveBeenCalledWith(_objectSpread(_objectSpread({}, mockMetaData), {}, {
1494
+ feedbackId: 'mocked-uuid-12345'
1495
+ }), undefined, {
1496
+ type: 'diff'
1497
+ });
1498
+ case 9:
1444
1499
  case "end":
1445
1500
  return _context13.stop();
1446
1501
  }
1447
1502
  }, _callee13);
1448
1503
  })));
1449
- it('should handle errors when submitLogs fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14() {
1450
- var mockError, logSpy;
1504
+ it('should log and throw an error if the upload fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14() {
1505
+ var mockMetaData, mockError, logSpy;
1451
1506
  return _regenerator.default.wrap(function _callee14$(_context14) {
1452
1507
  while (1) switch (_context14.prev = _context14.next) {
1453
1508
  case 0:
1454
- mockError = new Error('Test error');
1455
- _SDKConnector.default.getWebex().internal.support.submitLogs.mockRejectedValue(mockError);
1509
+ mockMetaData = {
1510
+ correlationId: 'test-correlation'
1511
+ };
1512
+ mockError = new Error('Upload failed'); // Mock the submitLogs to fail
1513
+ submitLogsMock.mockRejectedValueOnce(mockError);
1456
1514
  logSpy = jest.spyOn(_Logger.default, 'error');
1457
- _context14.next = 5;
1458
- return (0, _Utils.uploadLogs)({});
1459
- case 5:
1460
- expect(logSpy).toHaveBeenCalledWith(mockError, {
1515
+ _context14.prev = 4;
1516
+ _context14.next = 7;
1517
+ return (0, _Utils.uploadLogs)(mockMetaData, true);
1518
+ case 7:
1519
+ // If we get here, the test should fail since we expected an exception
1520
+ expect(true).toBe(false); // This will fail the test if no exception is thrown
1521
+ _context14.next = 15;
1522
+ break;
1523
+ case 10:
1524
+ _context14.prev = 10;
1525
+ _context14.t0 = _context14["catch"](4);
1526
+ expect(_context14.t0).toBe(mockError);
1527
+ expect(logSpy).toHaveBeenCalledWith(expect.objectContaining({
1528
+ message: expect.stringContaining('Failed to upload Logs')
1529
+ }), {
1461
1530
  file: _constants.UTILS_FILE,
1462
1531
  method: 'uploadLogs'
1463
1532
  });
1464
- case 6:
1533
+ expect(mockSubmitRegistrationMetric).toHaveBeenCalledWith('web-calling-sdk-upload-logs-failed', {
1534
+ fields: {
1535
+ call_id: undefined,
1536
+ calling_sdk_version: 'unknown',
1537
+ correlation_id: 'Failed to upload Logs Error: Upload failed',
1538
+ device_url: undefined,
1539
+ error: undefined,
1540
+ feedback_id: 'test-correlation',
1541
+ mobius_url: undefined,
1542
+ tracking_id: 'mocked-uuid-12345'
1543
+ },
1544
+ tags: {
1545
+ action: 'upload_logs',
1546
+ device_id: undefined,
1547
+ service_indicator: 'calling'
1548
+ },
1549
+ type: 'behavioral'
1550
+ });
1551
+ case 15:
1465
1552
  case "end":
1466
1553
  return _context14.stop();
1467
1554
  }
1468
- }, _callee14);
1555
+ }, _callee14, null, [[4, 10]]);
1556
+ })));
1557
+ it('should log error and not throw an error if the upload fails with throw exception false', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
1558
+ var mockMetaData, mockError, logSpy, result;
1559
+ return _regenerator.default.wrap(function _callee15$(_context15) {
1560
+ while (1) switch (_context15.prev = _context15.next) {
1561
+ case 0:
1562
+ mockMetaData = {
1563
+ correlationId: 'test-correlation'
1564
+ };
1565
+ mockError = new Error('Upload failed'); // Mock the submitLogs to fail
1566
+ submitLogsMock.mockRejectedValueOnce(mockError);
1567
+ logSpy = jest.spyOn(_Logger.default, 'error');
1568
+ _context15.next = 6;
1569
+ return (0, _Utils.uploadLogs)(mockMetaData, false);
1570
+ case 6:
1571
+ result = _context15.sent;
1572
+ expect(result).toBeUndefined();
1573
+ expect(logSpy).toHaveBeenCalledWith(expect.objectContaining({
1574
+ message: expect.stringContaining('Failed to upload Logs')
1575
+ }), {
1576
+ file: _constants.UTILS_FILE,
1577
+ method: 'uploadLogs'
1578
+ });
1579
+ expect(mockSubmitRegistrationMetric).toHaveBeenCalledWith('web-calling-sdk-upload-logs-failed', {
1580
+ fields: {
1581
+ call_id: undefined,
1582
+ calling_sdk_version: 'unknown',
1583
+ correlation_id: 'Failed to upload Logs Error: Upload failed',
1584
+ device_url: undefined,
1585
+ error: undefined,
1586
+ feedback_id: 'test-correlation',
1587
+ mobius_url: undefined,
1588
+ tracking_id: 'mocked-uuid-12345'
1589
+ },
1590
+ tags: {
1591
+ action: 'upload_logs',
1592
+ device_id: undefined,
1593
+ service_indicator: 'calling'
1594
+ },
1595
+ type: 'behavioral'
1596
+ });
1597
+ case 10:
1598
+ case "end":
1599
+ return _context15.stop();
1600
+ }
1601
+ }, _callee15);
1469
1602
  })));
1470
1603
  });
1471
1604
  //# sourceMappingURL=Utils.test.js.map