@webex/calling 3.0.0-next.2 → 3.0.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1403 -0
- package/README.md +74 -74
- package/dist/module/CallHistory/CallHistory.js +81 -81
- package/dist/module/CallHistory/callHistoryFixtures.js +307 -307
- package/dist/module/CallHistory/constants.js +9 -9
- package/dist/module/CallHistory/types.js +1 -1
- package/dist/module/CallSettings/CallSettings.js +65 -65
- package/dist/module/CallSettings/UcmBackendConnector.js +100 -100
- package/dist/module/CallSettings/WxCallBackendConnector.js +287 -287
- package/dist/module/CallSettings/constants.js +11 -11
- package/dist/module/CallSettings/testFixtures.js +62 -62
- package/dist/module/CallSettings/types.js +1 -1
- package/dist/module/CallingClient/CallingClient.js +248 -248
- package/dist/module/CallingClient/callRecordFixtures.js +93 -93
- package/dist/module/CallingClient/calling/CallerId/index.js +169 -169
- package/dist/module/CallingClient/calling/CallerId/types.js +1 -1
- package/dist/module/CallingClient/calling/call.js +1658 -1658
- package/dist/module/CallingClient/calling/callManager.js +284 -284
- package/dist/module/CallingClient/calling/index.js +2 -2
- package/dist/module/CallingClient/calling/types.js +53 -53
- package/dist/module/CallingClient/callingClientFixtures.js +38 -38
- package/dist/module/CallingClient/constants.js +122 -122
- package/dist/module/CallingClient/line/index.js +158 -158
- package/dist/module/CallingClient/line/types.js +15 -15
- package/dist/module/CallingClient/registration/index.js +1 -1
- package/dist/module/CallingClient/registration/register.js +507 -507
- package/dist/module/CallingClient/registration/registerFixtures.js +28 -28
- package/dist/module/CallingClient/registration/types.js +1 -1
- package/dist/module/CallingClient/types.js +1 -1
- package/dist/module/Contacts/ContactsClient.js +484 -484
- package/dist/module/Contacts/constants.js +20 -20
- package/dist/module/Contacts/contactFixtures.js +284 -284
- package/dist/module/Contacts/types.js +10 -10
- package/dist/module/Errors/catalog/CallError.js +26 -26
- package/dist/module/Errors/catalog/CallingDeviceError.js +18 -18
- package/dist/module/Errors/catalog/ExtendedError.js +10 -10
- package/dist/module/Errors/catalog/LineError.js +24 -24
- package/dist/module/Errors/index.js +2 -2
- package/dist/module/Errors/types.js +48 -48
- package/dist/module/Events/impl/index.js +19 -19
- package/dist/module/Events/types.js +83 -83
- package/dist/module/Logger/index.js +114 -114
- package/dist/module/Logger/types.js +25 -25
- package/dist/module/Metrics/index.js +232 -232
- package/dist/module/Metrics/types.js +37 -37
- package/dist/module/SDKConnector/index.js +39 -39
- package/dist/module/SDKConnector/types.js +1 -1
- package/dist/module/SDKConnector/utils.js +12 -12
- package/dist/module/Voicemail/BroadworksBackendConnector.js +291 -291
- package/dist/module/Voicemail/UcmBackendConnector.js +279 -279
- package/dist/module/Voicemail/Voicemail.js +110 -110
- package/dist/module/Voicemail/WxCallBackendConnector.js +279 -279
- package/dist/module/Voicemail/constants.js +29 -29
- package/dist/module/Voicemail/types.js +1 -1
- package/dist/module/Voicemail/voicemailFixture.js +510 -510
- package/dist/module/api.js +6 -6
- package/dist/module/common/Utils.js +802 -802
- package/dist/module/common/constants.js +41 -41
- package/dist/module/common/index.js +1 -1
- package/dist/module/common/testUtil.js +938 -938
- package/dist/module/common/types.js +57 -57
- package/dist/module/index.js +8 -8
- package/dist/types/CallHistory/CallHistory.d.ts +17 -17
- package/dist/types/CallHistory/callHistoryFixtures.d.ts +94 -94
- package/dist/types/CallHistory/constants.d.ts +9 -9
- package/dist/types/CallHistory/types.d.ts +18 -18
- package/dist/types/CallSettings/CallSettings.d.ts +19 -19
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +19 -19
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts +21 -21
- package/dist/types/CallSettings/constants.d.ts +11 -11
- package/dist/types/CallSettings/testFixtures.d.ts +15 -15
- package/dist/types/CallSettings/types.d.ts +107 -107
- package/dist/types/CallingClient/CallingClient.d.ts +35 -35
- package/dist/types/CallingClient/callRecordFixtures.d.ts +3 -3
- package/dist/types/CallingClient/calling/CallerId/index.d.ts +17 -17
- package/dist/types/CallingClient/calling/CallerId/types.d.ts +41 -41
- package/dist/types/CallingClient/calling/call.d.ts +96 -96
- package/dist/types/CallingClient/calling/callManager.d.ts +25 -25
- package/dist/types/CallingClient/calling/index.d.ts +2 -2
- package/dist/types/CallingClient/calling/types.d.ts +206 -206
- package/dist/types/CallingClient/callingClientFixtures.d.ts +18 -18
- package/dist/types/CallingClient/constants.d.ts +122 -122
- package/dist/types/CallingClient/line/index.d.ts +43 -43
- package/dist/types/CallingClient/line/types.d.ts +55 -55
- package/dist/types/CallingClient/registration/index.d.ts +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +64 -64
- package/dist/types/CallingClient/registration/registerFixtures.d.ts +28 -28
- package/dist/types/CallingClient/registration/types.d.ts +20 -20
- package/dist/types/CallingClient/types.d.ts +29 -29
- package/dist/types/Contacts/ContactsClient.d.ts +26 -26
- package/dist/types/Contacts/constants.d.ts +19 -19
- package/dist/types/Contacts/contactFixtures.d.ts +280 -280
- package/dist/types/Contacts/types.d.ts +72 -72
- package/dist/types/Errors/catalog/CallError.d.ts +11 -11
- package/dist/types/Errors/catalog/CallingDeviceError.d.ts +10 -10
- package/dist/types/Errors/catalog/ExtendedError.d.ts +6 -6
- package/dist/types/Errors/catalog/LineError.d.ts +10 -10
- package/dist/types/Errors/index.d.ts +2 -2
- package/dist/types/Errors/types.d.ts +60 -60
- package/dist/types/Events/impl/index.d.ts +8 -8
- package/dist/types/Events/types.d.ts +288 -288
- package/dist/types/Logger/index.d.ts +12 -12
- package/dist/types/Logger/types.d.ts +25 -25
- package/dist/types/Metrics/index.d.ts +5 -5
- package/dist/types/Metrics/types.d.ts +42 -42
- package/dist/types/SDKConnector/index.d.ts +12 -12
- package/dist/types/SDKConnector/types.d.ts +128 -128
- package/dist/types/SDKConnector/utils.d.ts +5 -5
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts +27 -27
- package/dist/types/Voicemail/UcmBackendConnector.d.ts +34 -34
- package/dist/types/Voicemail/Voicemail.d.ts +27 -27
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts +23 -23
- package/dist/types/Voicemail/constants.d.ts +29 -29
- package/dist/types/Voicemail/types.d.ts +133 -133
- package/dist/types/Voicemail/voicemailFixture.d.ts +417 -417
- package/dist/types/api.d.ts +16 -16
- package/dist/types/common/Utils.d.ts +34 -34
- package/dist/types/common/constants.d.ts +41 -41
- package/dist/types/common/index.d.ts +1 -1
- package/dist/types/common/testUtil.d.ts +3611 -3611
- package/dist/types/common/types.d.ts +191 -191
- package/dist/types/index.d.ts +8 -8
- package/package.json +4 -4
- package/dist/CallHistory/CallHistory.js +0 -203
- package/dist/CallHistory/CallHistory.js.map +0 -1
- package/dist/CallHistory/CallHistory.test.js +0 -133
- package/dist/CallHistory/CallHistory.test.js.map +0 -1
- package/dist/CallHistory/callHistoryFixtures.js +0 -310
- package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
- package/dist/CallHistory/constants.js +0 -26
- package/dist/CallHistory/constants.js.map +0 -1
- package/dist/CallHistory/types.js +0 -7
- package/dist/CallHistory/types.js.map +0 -1
- package/dist/CallSettings/CallSettings.js +0 -276
- package/dist/CallSettings/CallSettings.js.map +0 -1
- package/dist/CallSettings/CallSettings.test.js +0 -122
- package/dist/CallSettings/CallSettings.test.js.map +0 -1
- package/dist/CallSettings/UcmBackendConnector.js +0 -217
- package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +0 -227
- package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
- package/dist/CallSettings/WxCallBackendConnector.js +0 -541
- package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +0 -802
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
- package/dist/CallSettings/constants.js +0 -30
- package/dist/CallSettings/constants.js.map +0 -1
- package/dist/CallSettings/testFixtures.js +0 -72
- package/dist/CallSettings/testFixtures.js.map +0 -1
- package/dist/CallSettings/types.js +0 -7
- package/dist/CallSettings/types.js.map +0 -1
- package/dist/CallingClient/CallingClient.js +0 -572
- package/dist/CallingClient/CallingClient.js.map +0 -1
- package/dist/CallingClient/CallingClient.test.js +0 -931
- package/dist/CallingClient/CallingClient.test.js.map +0 -1
- package/dist/CallingClient/callRecordFixtures.js +0 -103
- package/dist/CallingClient/callRecordFixtures.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/index.js +0 -287
- package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +0 -274
- package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/types.js +0 -7
- package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
- package/dist/CallingClient/calling/call.js +0 -2995
- package/dist/CallingClient/calling/call.js.map +0 -1
- package/dist/CallingClient/calling/call.test.js +0 -2614
- package/dist/CallingClient/calling/call.test.js.map +0 -1
- package/dist/CallingClient/calling/callManager.js +0 -443
- package/dist/CallingClient/calling/callManager.js.map +0 -1
- package/dist/CallingClient/calling/callManager.test.js +0 -683
- package/dist/CallingClient/calling/callManager.test.js.map +0 -1
- package/dist/CallingClient/calling/index.js +0 -30
- package/dist/CallingClient/calling/index.js.map +0 -1
- package/dist/CallingClient/calling/types.js +0 -71
- package/dist/CallingClient/calling/types.js.map +0 -1
- package/dist/CallingClient/callingClientFixtures.js +0 -53
- package/dist/CallingClient/callingClientFixtures.js.map +0 -1
- package/dist/CallingClient/constants.js +0 -226
- package/dist/CallingClient/constants.js.map +0 -1
- package/dist/CallingClient/line/index.js +0 -312
- package/dist/CallingClient/line/index.js.map +0 -1
- package/dist/CallingClient/line/line.test.js +0 -270
- package/dist/CallingClient/line/line.test.js.map +0 -1
- package/dist/CallingClient/line/types.js +0 -25
- package/dist/CallingClient/line/types.js.map +0 -1
- package/dist/CallingClient/registration/index.js +0 -19
- package/dist/CallingClient/registration/index.js.map +0 -1
- package/dist/CallingClient/registration/register.js +0 -1295
- package/dist/CallingClient/registration/register.js.map +0 -1
- package/dist/CallingClient/registration/register.test.js +0 -838
- package/dist/CallingClient/registration/register.test.js.map +0 -1
- package/dist/CallingClient/registration/registerFixtures.js +0 -41
- package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
- package/dist/CallingClient/registration/types.js +0 -7
- package/dist/CallingClient/registration/types.js.map +0 -1
- package/dist/CallingClient/types.js +0 -7
- package/dist/CallingClient/types.js.map +0 -1
- package/dist/Contacts/ContactsClient.js +0 -1139
- package/dist/Contacts/ContactsClient.js.map +0 -1
- package/dist/Contacts/ContactsClient.test.js +0 -725
- package/dist/Contacts/ContactsClient.test.js.map +0 -1
- package/dist/Contacts/constants.js +0 -36
- package/dist/Contacts/constants.js.map +0 -1
- package/dist/Contacts/contactFixtures.js +0 -340
- package/dist/Contacts/contactFixtures.js.map +0 -1
- package/dist/Contacts/types.js +0 -20
- package/dist/Contacts/types.js.map +0 -1
- package/dist/Errors/catalog/CallError.js +0 -94
- package/dist/Errors/catalog/CallError.js.map +0 -1
- package/dist/Errors/catalog/CallingDeviceError.js +0 -88
- package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
- package/dist/Errors/catalog/ExtendedError.js +0 -45
- package/dist/Errors/catalog/ExtendedError.js.map +0 -1
- package/dist/Errors/catalog/LineError.js +0 -90
- package/dist/Errors/catalog/LineError.js.map +0 -1
- package/dist/Errors/index.js +0 -21
- package/dist/Errors/index.js.map +0 -1
- package/dist/Errors/types.js +0 -62
- package/dist/Errors/types.js.map +0 -1
- package/dist/Events/impl/index.js +0 -82
- package/dist/Events/impl/index.js.map +0 -1
- package/dist/Events/types.js +0 -111
- package/dist/Events/types.js.map +0 -1
- package/dist/Logger/index.js +0 -221
- package/dist/Logger/index.js.map +0 -1
- package/dist/Logger/index.test.js +0 -62
- package/dist/Logger/index.test.js.map +0 -1
- package/dist/Logger/types.js +0 -37
- package/dist/Logger/types.js.map +0 -1
- package/dist/Metrics/index.js +0 -329
- package/dist/Metrics/index.js.map +0 -1
- package/dist/Metrics/index.test.js +0 -291
- package/dist/Metrics/index.test.js.map +0 -1
- package/dist/Metrics/types.js +0 -50
- package/dist/Metrics/types.js.map +0 -1
- package/dist/SDKConnector/index.js +0 -105
- package/dist/SDKConnector/index.js.map +0 -1
- package/dist/SDKConnector/index.test.js +0 -9
- package/dist/SDKConnector/index.test.js.map +0 -1
- package/dist/SDKConnector/types.js +0 -7
- package/dist/SDKConnector/types.js.map +0 -1
- package/dist/SDKConnector/utils.js +0 -40
- package/dist/SDKConnector/utils.js.map +0 -1
- package/dist/SDKConnector/utils.test.js +0 -9
- package/dist/SDKConnector/utils.test.js.map +0 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +0 -632
- package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -733
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/UcmBackendConnector.js +0 -566
- package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +0 -628
- package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/Voicemail.js +0 -378
- package/dist/Voicemail/Voicemail.js.map +0 -1
- package/dist/Voicemail/Voicemail.test.js +0 -226
- package/dist/Voicemail/Voicemail.test.js.map +0 -1
- package/dist/Voicemail/WxCallBackendConnector.js +0 -540
- package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +0 -942
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/constants.js +0 -66
- package/dist/Voicemail/constants.js.map +0 -1
- package/dist/Voicemail/types.js +0 -7
- package/dist/Voicemail/types.js.map +0 -1
- package/dist/Voicemail/voicemailFixture.js +0 -559
- package/dist/Voicemail/voicemailFixture.js.map +0 -1
- package/dist/api.js +0 -134
- package/dist/api.js.map +0 -1
- package/dist/common/Utils.js +0 -1264
- package/dist/common/Utils.js.map +0 -1
- package/dist/common/Utils.test.js +0 -1227
- package/dist/common/Utils.test.js.map +0 -1
- package/dist/common/constants.js +0 -90
- package/dist/common/constants.js.map +0 -1
- package/dist/common/index.js +0 -19
- package/dist/common/index.js.map +0 -1
- package/dist/common/testUtil.js +0 -968
- package/dist/common/testUtil.js.map +0 -1
- package/dist/common/types.js +0 -75
- package/dist/common/types.js.map +0 -1
- package/dist/index.js +0 -63
- package/dist/index.js.map +0 -1
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
-
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
-
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
-
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
8
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
9
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
11
|
-
var _testUtil = require("../common/testUtil");
|
|
12
|
-
var _index = require("./index");
|
|
13
|
-
var _types = require("./types");
|
|
14
|
-
var _constants = require("../CallingClient/constants");
|
|
15
|
-
var _CallingDeviceError = require("../Errors/catalog/CallingDeviceError");
|
|
16
|
-
var _types2 = require("../Errors/types");
|
|
17
|
-
var _types3 = require("../common/types");
|
|
18
|
-
var _Logger = _interopRequireDefault(require("../Logger"));
|
|
19
|
-
var _CallError = require("../Errors/catalog/CallError");
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
|
-
var webex = (0, _testUtil.getTestUtilsWebex)();
|
|
23
|
-
describe('CALLING: Metric tests', function () {
|
|
24
|
-
var metricManager = (0, _index.getMetricManager)(webex, _types3.ServiceIndicator.CALLING);
|
|
25
|
-
var mockDeviceInfo = (0, _testUtil.getMockDeviceInfo)();
|
|
26
|
-
var mockSubmitClientMetric = jest.fn();
|
|
27
|
-
webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;
|
|
28
|
-
var mockCallId = '123456';
|
|
29
|
-
var mockCorrelationId = '0931237';
|
|
30
|
-
var mockCallAction = 'S_SEND_CALL_SETUP';
|
|
31
|
-
var mockMediaAction = 'S_SEND_ROAP_OFFER';
|
|
32
|
-
beforeEach(function () {
|
|
33
|
-
mockSubmitClientMetric.mockClear();
|
|
34
|
-
});
|
|
35
|
-
it('initialize metric manager', function () {
|
|
36
|
-
expect(metricManager).not.toBeNull();
|
|
37
|
-
expect(metricManager['deviceInfo']).toBeUndefined();
|
|
38
|
-
});
|
|
39
|
-
it('update deviceInfo in metric manager', function () {
|
|
40
|
-
expect(metricManager['deviceInfo']).toBeUndefined();
|
|
41
|
-
metricManager.setDeviceInfo(mockDeviceInfo);
|
|
42
|
-
expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);
|
|
43
|
-
});
|
|
44
|
-
describe('CallingClient metric tests', function () {
|
|
45
|
-
it('submit registration success metric', function () {
|
|
46
|
-
metricManager.setDeviceInfo(mockDeviceInfo);
|
|
47
|
-
var expectedData = {
|
|
48
|
-
tags: {
|
|
49
|
-
action: _types.REG_ACTION.REGISTER,
|
|
50
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
51
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
52
|
-
},
|
|
53
|
-
fields: {
|
|
54
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
55
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
56
|
-
calling_sdk_version: _constants.VERSION
|
|
57
|
-
},
|
|
58
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
59
|
-
};
|
|
60
|
-
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL);
|
|
61
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION, expectedData);
|
|
62
|
-
});
|
|
63
|
-
it('submit registration failure metric', function () {
|
|
64
|
-
metricManager.setDeviceInfo(mockDeviceInfo);
|
|
65
|
-
var clientError = (0, _CallingDeviceError.createClientError)('', {}, _types2.ERROR_TYPE.DEFAULT, _types3.MobiusStatus.DEFAULT);
|
|
66
|
-
var err = {};
|
|
67
|
-
err.context = {};
|
|
68
|
-
err.message = 'Unknown Error';
|
|
69
|
-
err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
|
|
70
|
-
clientError.setError(err);
|
|
71
|
-
var expectedData = {
|
|
72
|
-
tags: {
|
|
73
|
-
action: _types.REG_ACTION.REGISTER,
|
|
74
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
75
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
76
|
-
},
|
|
77
|
-
fields: {
|
|
78
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
79
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
80
|
-
calling_sdk_version: _constants.VERSION,
|
|
81
|
-
error: clientError.getError().message,
|
|
82
|
-
error_type: clientError.getError().type
|
|
83
|
-
},
|
|
84
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
85
|
-
};
|
|
86
|
-
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, clientError);
|
|
87
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION_ERROR, expectedData);
|
|
88
|
-
});
|
|
89
|
-
it('submit unknown registration metric', function () {
|
|
90
|
-
var logSpy = jest.spyOn(_Logger.default, 'warn');
|
|
91
|
-
metricManager.submitRegistrationMetric('invalidMetricName', _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.OPERATIONAL);
|
|
92
|
-
expect(mockSubmitClientMetric).not.toBeCalled();
|
|
93
|
-
expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
|
|
94
|
-
file: 'metric',
|
|
95
|
-
method: 'submitRegistrationMetric'
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe('Call Metric tests', function () {
|
|
100
|
-
beforeAll(function () {
|
|
101
|
-
metricManager.setDeviceInfo(mockDeviceInfo);
|
|
102
|
-
});
|
|
103
|
-
it('submit call success metric', function () {
|
|
104
|
-
var expectedData = {
|
|
105
|
-
tags: {
|
|
106
|
-
action: mockCallAction,
|
|
107
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
108
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
109
|
-
},
|
|
110
|
-
fields: {
|
|
111
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
112
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
113
|
-
calling_sdk_version: _constants.VERSION,
|
|
114
|
-
call_id: mockCallId,
|
|
115
|
-
correlation_id: mockCorrelationId
|
|
116
|
-
},
|
|
117
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
118
|
-
};
|
|
119
|
-
metricManager.submitCallMetric(_types.METRIC_EVENT.CALL, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId);
|
|
120
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.CALL, expectedData);
|
|
121
|
-
});
|
|
122
|
-
it('submit call failure metric', function () {
|
|
123
|
-
var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.CALL_CONTROL);
|
|
124
|
-
var err = {};
|
|
125
|
-
err.context = {};
|
|
126
|
-
err.message = 'An invalid status update has been received for the call. Wait a moment and try again.';
|
|
127
|
-
err.type = _types2.ERROR_TYPE.FORBIDDEN_ERROR;
|
|
128
|
-
callError.setCallError(err);
|
|
129
|
-
var expectedData = {
|
|
130
|
-
tags: {
|
|
131
|
-
action: mockCallAction,
|
|
132
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
133
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
134
|
-
},
|
|
135
|
-
fields: {
|
|
136
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
137
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
138
|
-
calling_sdk_version: _constants.VERSION,
|
|
139
|
-
call_id: mockCallId,
|
|
140
|
-
correlation_id: mockCorrelationId,
|
|
141
|
-
error: callError.getCallError().message,
|
|
142
|
-
error_type: callError.getCallError().type
|
|
143
|
-
},
|
|
144
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
145
|
-
};
|
|
146
|
-
metricManager.submitCallMetric(_types.METRIC_EVENT.CALL_ERROR, mockCallAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, callError);
|
|
147
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.CALL_ERROR, expectedData);
|
|
148
|
-
});
|
|
149
|
-
it('submit unknown call metric', function () {
|
|
150
|
-
var logSpy = jest.spyOn(_Logger.default, 'warn');
|
|
151
|
-
metricManager.submitCallMetric('invalidMetricName', mockCallAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId);
|
|
152
|
-
expect(mockSubmitClientMetric).not.toBeCalled();
|
|
153
|
-
expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
|
|
154
|
-
file: 'metric',
|
|
155
|
-
method: 'submitCallMetric'
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('Media Metric tests', function () {
|
|
160
|
-
var mockSdp = 'sdpInformation';
|
|
161
|
-
beforeAll(function () {
|
|
162
|
-
metricManager.setDeviceInfo(mockDeviceInfo);
|
|
163
|
-
});
|
|
164
|
-
it('submit media success metric', function () {
|
|
165
|
-
var expectedData = {
|
|
166
|
-
tags: {
|
|
167
|
-
action: mockMediaAction,
|
|
168
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
169
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
170
|
-
},
|
|
171
|
-
fields: {
|
|
172
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
173
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
174
|
-
calling_sdk_version: _constants.VERSION,
|
|
175
|
-
call_id: mockCallId,
|
|
176
|
-
correlation_id: mockCorrelationId,
|
|
177
|
-
local_media_details: mockSdp,
|
|
178
|
-
remote_media_details: mockSdp
|
|
179
|
-
},
|
|
180
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
181
|
-
};
|
|
182
|
-
metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
|
|
183
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA, expectedData);
|
|
184
|
-
});
|
|
185
|
-
it('submit media failure metric', function () {
|
|
186
|
-
var callError = (0, _CallError.createCallError)('', {}, _types2.ERROR_TYPE.DEFAULT, mockCorrelationId, _types2.ERROR_LAYER.MEDIA);
|
|
187
|
-
var err = {};
|
|
188
|
-
err.context = {};
|
|
189
|
-
err.message = 'An error occurred while parsing the provided information. Wait a moment and try again.';
|
|
190
|
-
err.type = _types2.ERROR_TYPE.SERVICE_UNAVAILABLE;
|
|
191
|
-
callError.setCallError(err);
|
|
192
|
-
var expectedData = {
|
|
193
|
-
tags: {
|
|
194
|
-
action: mockMediaAction,
|
|
195
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
196
|
-
service_indicator: _types3.ServiceIndicator.CALLING
|
|
197
|
-
},
|
|
198
|
-
fields: {
|
|
199
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
200
|
-
mobius_url: mockDeviceInfo.device.uri,
|
|
201
|
-
calling_sdk_version: _constants.VERSION,
|
|
202
|
-
call_id: mockCallId,
|
|
203
|
-
correlation_id: mockCorrelationId,
|
|
204
|
-
local_media_details: mockSdp,
|
|
205
|
-
remote_media_details: mockSdp,
|
|
206
|
-
error: callError.getCallError().message,
|
|
207
|
-
error_type: callError.getCallError().type
|
|
208
|
-
},
|
|
209
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
210
|
-
};
|
|
211
|
-
metricManager.submitMediaMetric(_types.METRIC_EVENT.MEDIA_ERROR, mockMediaAction, _types.METRIC_TYPE.BEHAVIORAL, mockCallId, mockCorrelationId, mockSdp, mockSdp, callError);
|
|
212
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.MEDIA_ERROR, expectedData);
|
|
213
|
-
});
|
|
214
|
-
it('submit unknown media metric', function () {
|
|
215
|
-
var logSpy = jest.spyOn(_Logger.default, 'warn');
|
|
216
|
-
metricManager.submitMediaMetric('invalidMetricName', mockMediaAction, _types.METRIC_TYPE.OPERATIONAL, mockCallId, mockCorrelationId, mockSdp, mockSdp);
|
|
217
|
-
expect(mockSubmitClientMetric).not.toBeCalled();
|
|
218
|
-
expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
|
|
219
|
-
file: 'metric',
|
|
220
|
-
method: 'submitMediaMetric'
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
describe('Voicemail metric tests', function () {
|
|
225
|
-
beforeAll(function () {
|
|
226
|
-
return metricManager.setDeviceInfo(mockDeviceInfo);
|
|
227
|
-
});
|
|
228
|
-
it('submit voicemail success metric', function () {
|
|
229
|
-
var expectedData1 = {
|
|
230
|
-
tags: {
|
|
231
|
-
action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
|
|
232
|
-
device_id: mockDeviceInfo.device.deviceId
|
|
233
|
-
},
|
|
234
|
-
fields: {
|
|
235
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
236
|
-
calling_sdk_version: _constants.VERSION
|
|
237
|
-
},
|
|
238
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
239
|
-
};
|
|
240
|
-
metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
|
|
241
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData1);
|
|
242
|
-
mockSubmitClientMetric.mockClear();
|
|
243
|
-
var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
|
|
244
|
-
tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
|
|
245
|
-
message_id: 'messageId',
|
|
246
|
-
action: _types.VOICEMAIL_ACTION.DELETE
|
|
247
|
-
})
|
|
248
|
-
});
|
|
249
|
-
metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId');
|
|
250
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL, expectedData2);
|
|
251
|
-
});
|
|
252
|
-
it('submit voicemail failure metric', function () {
|
|
253
|
-
var errorMessage = 'User is not authenticated';
|
|
254
|
-
var expectedData1 = {
|
|
255
|
-
tags: {
|
|
256
|
-
action: _types.VOICEMAIL_ACTION.GET_VOICEMAILS,
|
|
257
|
-
device_id: mockDeviceInfo.device.deviceId,
|
|
258
|
-
message_id: undefined,
|
|
259
|
-
error: errorMessage,
|
|
260
|
-
status_code: 401
|
|
261
|
-
},
|
|
262
|
-
fields: {
|
|
263
|
-
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
264
|
-
calling_sdk_version: _constants.VERSION
|
|
265
|
-
},
|
|
266
|
-
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
267
|
-
};
|
|
268
|
-
metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL, undefined, errorMessage, 401);
|
|
269
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);
|
|
270
|
-
mockSubmitClientMetric.mockClear();
|
|
271
|
-
var expectedData2 = _objectSpread(_objectSpread({}, expectedData1), {}, {
|
|
272
|
-
tags: _objectSpread(_objectSpread({}, expectedData1.tags), {}, {
|
|
273
|
-
message_id: 'messageId',
|
|
274
|
-
action: _types.VOICEMAIL_ACTION.DELETE
|
|
275
|
-
})
|
|
276
|
-
});
|
|
277
|
-
metricManager.submitVoicemailMetric(_types.METRIC_EVENT.VOICEMAIL_ERROR, _types.VOICEMAIL_ACTION.DELETE, _types.METRIC_TYPE.BEHAVIORAL, 'messageId', errorMessage, 401);
|
|
278
|
-
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);
|
|
279
|
-
});
|
|
280
|
-
it('submit unknown voicemail metric', function () {
|
|
281
|
-
var logSpy = jest.spyOn(_Logger.default, 'warn');
|
|
282
|
-
metricManager.submitVoicemailMetric('invalidMetricName', _types.VOICEMAIL_ACTION.GET_VOICEMAILS, _types.METRIC_TYPE.BEHAVIORAL);
|
|
283
|
-
expect(mockSubmitClientMetric).not.toBeCalled();
|
|
284
|
-
expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
|
|
285
|
-
file: 'metric',
|
|
286
|
-
method: 'submitVoicemailMetric'
|
|
287
|
-
});
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
|
-
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","mockSubmitClientMetric","jest","fn","internal","metrics","submitClientMetrics","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","VERSION","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","MobiusStatus","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","logSpy","spyOn","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","undefined","status_code","VOICEMAIL_ERROR"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION} from './types';\nimport {VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {MobiusStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const mockSubmitClientMetric = jest.fn();\n\n webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n mockSubmitClientMetric.mockClear();\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError('', {}, ERROR_TYPE.DEFAULT, MobiusStatus.DEFAULT);\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n clientError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData1\n );\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData2\n );\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n});\n"],"mappings":";;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAA4D,SAAAU,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,YAAA,CAAAH,MAAA,OAAAI,6BAAA,QAAAC,OAAA,GAAAD,6BAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAC,gCAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAmB,MAAA,CAAAD,MAAA,OAAAE,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAT,MAAA,EAAAO,GAAA,EAAAH,MAAA,CAAAG,GAAA,SAAAG,iCAAA,GAAAC,wBAAA,CAAAX,MAAA,EAAAU,iCAAA,CAAAN,MAAA,KAAAlB,OAAA,CAAAmB,MAAA,CAAAD,MAAA,GAAAE,OAAA,WAAAC,GAAA,IAAAK,sBAAA,CAAAZ,MAAA,EAAAO,GAAA,EAAAZ,gCAAA,CAAAS,MAAA,EAAAG,GAAA,iBAAAP,MAAA;AAE5D,IAAMa,KAAK,GAAG,IAAAC,2BAAiB,GAAE;AAEjCC,QAAQ,CAAC,uBAAuB,EAAE,YAAM;EACtC,IAAMC,aAAa,GAAG,IAAAC,uBAAgB,EAACJ,KAAK,EAAEK,wBAAgB,CAACC,OAAO,CAAC;EACvE,IAAMC,cAAc,GAAG,IAAAC,2BAAiB,GAAE;EAC1C,IAAMC,sBAAsB,GAAGC,IAAI,CAACC,EAAE,EAAE;EAExCX,KAAK,CAACY,QAAQ,CAACC,OAAO,CAACC,mBAAmB,GAAGL,sBAAsB;EAEnE,IAAMM,UAAU,GAAG,QAAQ;EAC3B,IAAMC,iBAAiB,GAAG,SAAS;EACnC,IAAMC,cAAc,GAAG,mBAAmB;EAC1C,IAAMC,eAAe,GAAG,mBAAmB;EAE3CC,UAAU,CAAC,YAAM;IACfV,sBAAsB,CAACW,SAAS,EAAE;EACpC,CAAC,CAAC;EAEFC,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACpCC,MAAM,CAACnB,aAAa,CAAC,CAACoB,GAAG,CAACC,QAAQ,EAAE;IACpCF,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACsB,aAAa,EAAE;EACrD,CAAC,CAAC;EAEFJ,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC9CC,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACsB,aAAa,EAAE;IACnDtB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC3Ce,MAAM,CAACnB,aAAa,CAAC,YAAY,CAAC,CAAC,CAACwB,OAAO,CAACpB,cAAc,CAAC;EAC7D,CAAC,CAAC;EAEFL,QAAQ,CAAC,4BAA4B,EAAE,YAAM;IAC3CmB,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7ClB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;MAE3C,IAAMqB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC4C,wBAAwB,CACpCC,mBAAY,CAACC,YAAY,EACzBlB,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACC,UAAU,CACvB;MACDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACC,YAAY,EAAErB,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7ClB,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;MAE3C,IAAM4C,WAAW,GAAG,IAAAC,qCAAiB,EAAC,EAAE,EAAE,CAAC,CAAC,EAAEC,kBAAU,CAACC,OAAO,EAAEC,oBAAY,CAACD,OAAO,CAAC;MACvF,IAAME,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAACM,mBAAmB;MAEzCR,WAAW,CAACS,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5BkB,KAAK,EAAEV,WAAW,CAACW,QAAQ,EAAE,CAACJ,OAAO;UACrCK,UAAU,EAAEZ,WAAW,CAACW,QAAQ,EAAE,CAAClB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC4C,wBAAwB,CACpCC,mBAAY,CAACgB,kBAAkB,EAC/BjC,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACC,UAAU,EACtBK,WAAW,CACZ;MACD7B,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACgB,kBAAkB,EAC/BpC,YAAY,CACb;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAAC4C,wBAAwB,CACpC,mBAAmB,EACnBhB,iBAAU,CAACC,QAAQ,EACnBa,kBAAW,CAACuB,WAAW,CACxB;MAED9C,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,mBAAmB,EAAE,YAAM;IAClCsE,SAAS,CAAC,YAAM;MACdrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFc,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,cAAc;UACtBgB,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D;QAClB,CAAC;QACD4B,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACwE,gBAAgB,CAC5B3B,mBAAY,CAAC4B,IAAI,EACjB3D,cAAc,EACd4B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,CAClB;MACDM,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC4B,IAAI,EAAEhD,YAAY,CAAC;IACpF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMwD,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACFzB,kBAAU,CAACC,OAAO,EAClBtC,iBAAiB,EACjB+D,mBAAW,CAACC,YAAY,CACzB;MAED,IAAMxB,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,uFAAuF;MACzFF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAAC4B,eAAe;MAErCJ,SAAS,CAACK,YAAY,CAAC1B,GAAG,CAAC;MAE3B,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,cAAc;UACtBgB,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjC6C,KAAK,EAAEgB,SAAS,CAACM,YAAY,EAAE,CAACzB,OAAO;UACvCK,UAAU,EAAEc,SAAS,CAACM,YAAY,EAAE,CAACvC;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACwE,gBAAgB,CAC5B3B,mBAAY,CAACoC,UAAU,EACvBnE,cAAc,EACd4B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjB6D,SAAS,CACV;MACDvD,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACoC,UAAU,EAAExD,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAACwE,gBAAgB,CAC5B,mBAAmB,EACnB1D,cAAc,EACd4B,kBAAW,CAACuB,WAAW,EACvBrD,UAAU,EACVC,iBAAiB,CAClB;MAEDM,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,oBAAoB,EAAE,YAAM;IACnC,IAAMmF,OAAO,GAAG,gBAAgB;IAEhCb,SAAS,CAAC,YAAM;MACdrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFc,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEZ,eAAe;UACvBe,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjCsE,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF;QACxB,CAAC;QACDzC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACqF,iBAAiB,CAC7BxC,mBAAY,CAACyC,KAAK,EAClBvE,eAAe,EACf2B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,CACR;MACD/D,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAACyC,KAAK,EAAE7D,YAAY,CAAC;IACrF,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMwD,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACFzB,kBAAU,CAACC,OAAO,EAClBtC,iBAAiB,EACjB+D,mBAAW,CAACU,KAAK,CAClB;MAED,IAAMjC,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,wFAAwF;MAC1FF,GAAG,CAACZ,IAAI,GAAGS,kBAAU,CAACM,mBAAmB;MAEzCkB,SAAS,CAACK,YAAY,CAAC1B,GAAG,CAAC;MAE3B,IAAM5B,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEZ,eAAe;UACvBe,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAE/B,wBAAgB,CAACC;QACtC,CAAC;QACD+B,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAEjC,cAAc,CAAC2B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEC,kBAAO;UAC5B8B,OAAO,EAAE1D,UAAU;UACnB2D,cAAc,EAAE1D,iBAAiB;UACjCsE,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF,OAAO;UAC7BxB,KAAK,EAAEgB,SAAS,CAACM,YAAY,EAAE,CAACzB,OAAO;UACvCK,UAAU,EAAEc,SAAS,CAACM,YAAY,EAAE,CAACvC;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAACqF,iBAAiB,CAC7BxC,mBAAY,CAAC0C,WAAW,EACxBxE,eAAe,EACf2B,kBAAW,CAACC,UAAU,EACtB/B,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,EACPR,SAAS,CACV;MACDvD,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC0C,WAAW,EAAE9D,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAACqF,iBAAiB,CAC7B,mBAAmB,EACnBtE,eAAe,EACf2B,kBAAW,CAACuB,WAAW,EACvBrD,UAAU,EACVC,iBAAiB,EACjBqE,OAAO,EACPA,OAAO,CACR;MAED/D,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrE,QAAQ,CAAC,wBAAwB,EAAE,YAAM;IACvCsE,SAAS,CAAC;MAAA,OAAMrE,aAAa,CAACuB,aAAa,CAACnB,cAAc,CAAC;IAAA,EAAC;IAE5Dc,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMsE,aAAa,GAAG;QACpB9D,IAAI,EAAE;UACJC,MAAM,EAAE8D,uBAAgB,CAACC,cAAc;UACvC5D,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC;QACnC,CAAC;QACDE,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAAC+C,SAAS,EACtBH,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,CACvB;MACDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC+C,SAAS,EAAEJ,aAAa,CAAC;MAExFlF,sBAAsB,CAACW,SAAS,EAAE;MAElC,IAAM4E,aAAa,GAAA9G,aAAA,CAAAA,aAAA,KACdyG,aAAa;QAChB9D,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMyG,aAAa,CAAC9D,IAAI;UAAEoE,UAAU,EAAE,WAAW;UAAEnE,MAAM,EAAE8D,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/F,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAAC+C,SAAS,EACtBH,uBAAgB,CAACM,MAAM,EACvBrD,kBAAW,CAACC,UAAU,EACtB,WAAW,CACZ;MAEDxB,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAACF,mBAAY,CAAC+C,SAAS,EAAEC,aAAa,CAAC;IAC1F,CAAC,CAAC;IAEF3E,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM8E,YAAY,GAAG,2BAA2B;MAChD,IAAMR,aAAa,GAAG;QACpB9D,IAAI,EAAE;UACJC,MAAM,EAAE8D,uBAAgB,CAACC,cAAc;UACvC5D,SAAS,EAAE1B,cAAc,CAAC2B,MAAM,CAACC,QAAQ;UACzC8D,UAAU,EAAEG,SAAS;UACrBvC,KAAK,EAAEsC,YAAY;UACnBE,WAAW,EAAE;QACf,CAAC;QACDhE,MAAM,EAAE;UACNC,UAAU,EAAE/B,cAAc,CAAC2B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEC;QACvB,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAED3C,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAACsD,eAAe,EAC5BV,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,EACtBsD,SAAS,EACTD,YAAY,EACZ,GAAG,CACJ;MACD7E,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACsD,eAAe,EAC5BX,aAAa,CACd;MAEDlF,sBAAsB,CAACW,SAAS,EAAE;MAElC,IAAM4E,aAAa,GAAA9G,aAAA,CAAAA,aAAA,KACdyG,aAAa;QAChB9D,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMyG,aAAa,CAAC9D,IAAI;UAAEoE,UAAU,EAAE,WAAW;UAAEnE,MAAM,EAAE8D,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAED/F,aAAa,CAAC2F,qBAAqB,CACjC9C,mBAAY,CAACsD,eAAe,EAC5BV,uBAAgB,CAACM,MAAM,EACvBrD,kBAAW,CAACC,UAAU,EACtB,WAAW,EACXqD,YAAY,EACZ,GAAG,CACJ;MAED7E,MAAM,CAACb,sBAAsB,CAAC,CAACyC,kBAAkB,CAC/CF,mBAAY,CAACsD,eAAe,EAC5BN,aAAa,CACd;IACH,CAAC,CAAC;IAEF3E,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM4C,MAAM,GAAGvD,IAAI,CAACwD,KAAK,CAACC,eAAG,EAAE,MAAM,CAAC;MAEtChE,aAAa,CAAC2F,qBAAqB,CACjC,mBAAmB,EACnBF,uBAAgB,CAACC,cAAc,EAC/BhD,kBAAW,CAACC,UAAU,CACvB;MAEDxB,MAAM,CAACb,sBAAsB,CAAC,CAACc,GAAG,CAAC8C,UAAU,EAAE;MAC/C/C,MAAM,CAAC2C,MAAM,CAAC,CAACf,kBAAkB,CAC/B,mEAAmE,EACnE;QACEoB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/Metrics/types.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.VOICEMAIL_ACTION = exports.TRANSFER_ACTION = exports.REG_ACTION = exports.METRIC_TYPE = exports.METRIC_EVENT = void 0;
|
|
8
|
-
var METRIC_TYPE;
|
|
9
|
-
exports.METRIC_TYPE = METRIC_TYPE;
|
|
10
|
-
(function (METRIC_TYPE) {
|
|
11
|
-
METRIC_TYPE["OPERATIONAL"] = "operational";
|
|
12
|
-
METRIC_TYPE["BEHAVIORAL"] = "behavioral";
|
|
13
|
-
})(METRIC_TYPE || (exports.METRIC_TYPE = METRIC_TYPE = {}));
|
|
14
|
-
var METRIC_EVENT;
|
|
15
|
-
exports.METRIC_EVENT = METRIC_EVENT;
|
|
16
|
-
(function (METRIC_EVENT) {
|
|
17
|
-
METRIC_EVENT["CALL"] = "web-calling-sdk-callcontrol";
|
|
18
|
-
METRIC_EVENT["CALL_ERROR"] = "web-calling-sdk-callcontrol-error";
|
|
19
|
-
METRIC_EVENT["MEDIA"] = "web-calling-sdk-media";
|
|
20
|
-
METRIC_EVENT["MEDIA_ERROR"] = "web-calling-sdk-media-error";
|
|
21
|
-
METRIC_EVENT["REGISTRATION"] = "web-calling-sdk-registration";
|
|
22
|
-
METRIC_EVENT["REGISTRATION_ERROR"] = "web-calling-sdk-registration-error";
|
|
23
|
-
METRIC_EVENT["VOICEMAIL"] = "web-calling-sdk-voicemail";
|
|
24
|
-
METRIC_EVENT["VOICEMAIL_ERROR"] = "web-calling-sdk-voicemail-error";
|
|
25
|
-
})(METRIC_EVENT || (exports.METRIC_EVENT = METRIC_EVENT = {}));
|
|
26
|
-
var REG_ACTION;
|
|
27
|
-
exports.REG_ACTION = REG_ACTION;
|
|
28
|
-
(function (REG_ACTION) {
|
|
29
|
-
REG_ACTION["REGISTER"] = "register";
|
|
30
|
-
REG_ACTION["DEREGISTER"] = "deregister";
|
|
31
|
-
REG_ACTION["KEEPALIVE_FAILURE"] = "keepaliveFailure";
|
|
32
|
-
})(REG_ACTION || (exports.REG_ACTION = REG_ACTION = {}));
|
|
33
|
-
var TRANSFER_ACTION;
|
|
34
|
-
exports.TRANSFER_ACTION = TRANSFER_ACTION;
|
|
35
|
-
(function (TRANSFER_ACTION) {
|
|
36
|
-
TRANSFER_ACTION["BLIND"] = "TRANSFER_BLIND";
|
|
37
|
-
TRANSFER_ACTION["CONSULT"] = "TRANSFER_CONSULT";
|
|
38
|
-
})(TRANSFER_ACTION || (exports.TRANSFER_ACTION = TRANSFER_ACTION = {}));
|
|
39
|
-
var VOICEMAIL_ACTION;
|
|
40
|
-
exports.VOICEMAIL_ACTION = VOICEMAIL_ACTION;
|
|
41
|
-
(function (VOICEMAIL_ACTION) {
|
|
42
|
-
VOICEMAIL_ACTION["GET_VOICEMAILS"] = "get_voicemails";
|
|
43
|
-
VOICEMAIL_ACTION["GET_VOICEMAIL_CONTENT"] = "get_voicemail_content";
|
|
44
|
-
VOICEMAIL_ACTION["GET_VOICEMAIL_SUMMARY"] = "get_voicemail_summary";
|
|
45
|
-
VOICEMAIL_ACTION["MARK_READ"] = "mark_read";
|
|
46
|
-
VOICEMAIL_ACTION["MARK_UNREAD"] = "mark_unread";
|
|
47
|
-
VOICEMAIL_ACTION["DELETE"] = "delete";
|
|
48
|
-
VOICEMAIL_ACTION["TRANSCRIPT"] = "transcript";
|
|
49
|
-
})(VOICEMAIL_ACTION || (exports.VOICEMAIL_ACTION = VOICEMAIL_ACTION = {}));
|
|
50
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_TYPE","exports","METRIC_EVENT","REG_ACTION","TRANSFER_ACTION","VOICEMAIL_ACTION"],"sources":["types.ts"],"sourcesContent":["import {LineError} from '../Errors/catalog/LineError';\nimport {CallError, CallingClientError} from '../Errors';\nimport {CallId, CorrelationId, IDeviceInfo} from '../common/types';\n\nexport enum METRIC_TYPE {\n OPERATIONAL = 'operational',\n BEHAVIORAL = 'behavioral',\n}\n\nexport enum METRIC_EVENT {\n CALL = 'web-calling-sdk-callcontrol',\n CALL_ERROR = 'web-calling-sdk-callcontrol-error',\n MEDIA = 'web-calling-sdk-media',\n MEDIA_ERROR = 'web-calling-sdk-media-error',\n REGISTRATION = 'web-calling-sdk-registration',\n REGISTRATION_ERROR = 'web-calling-sdk-registration-error',\n VOICEMAIL = 'web-calling-sdk-voicemail',\n VOICEMAIL_ERROR = 'web-calling-sdk-voicemail-error',\n}\n\nexport enum REG_ACTION {\n REGISTER = 'register',\n DEREGISTER = 'deregister',\n KEEPALIVE_FAILURE = 'keepaliveFailure',\n}\n\nexport enum TRANSFER_ACTION {\n BLIND = 'TRANSFER_BLIND',\n CONSULT = 'TRANSFER_CONSULT',\n}\n\nexport enum VOICEMAIL_ACTION {\n GET_VOICEMAILS = 'get_voicemails',\n GET_VOICEMAIL_CONTENT = 'get_voicemail_content',\n GET_VOICEMAIL_SUMMARY = 'get_voicemail_summary',\n MARK_READ = 'mark_read',\n MARK_UNREAD = 'mark_unread',\n DELETE = 'delete',\n TRANSCRIPT = 'transcript',\n}\n\nexport interface IMetricManager {\n setDeviceInfo: (deviceInfo: IDeviceInfo) => void;\n submitRegistrationMetric: (\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n error: LineError | CallingClientError | undefined\n ) => void;\n submitCallMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) => void;\n submitMediaMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) => void;\n submitVoicemailMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) => void;\n}\n"],"mappings":";;;;;;;IAIYA,WAAW;AAAAC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,WAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAAC,OAAA,CAAAD,WAAA,GAAXA,WAAW;AAAA,IAKXE,YAAY;AAAAD,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAAA,WAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAAD,OAAA,CAAAC,YAAA,GAAZA,YAAY;AAAA,IAWZC,UAAU;AAAAF,OAAA,CAAAE,UAAA,GAAAA,UAAA;AAAA,WAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;AAAA,GAAVA,UAAU,KAAAF,OAAA,CAAAE,UAAA,GAAVA,UAAU;AAAA,IAMVC,eAAe;AAAAH,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAH,OAAA,CAAAG,eAAA,GAAfA,eAAe;AAAA,IAKfC,gBAAgB;AAAAJ,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AAAA,WAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAAJ,OAAA,CAAAI,gBAAA,GAAhBA,gBAAgB"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _freeze = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/freeze"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
-
var _utils = require("./utils");
|
|
13
|
-
/* eslint-disable valid-jsdoc */
|
|
14
|
-
|
|
15
|
-
/* eslint-disable class-methods-use-this */
|
|
16
|
-
|
|
17
|
-
var instance;
|
|
18
|
-
var webex;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
var SDKConnector = /*#__PURE__*/function () {
|
|
24
|
-
function SDKConnector() {
|
|
25
|
-
(0, _classCallCheck2.default)(this, SDKConnector);
|
|
26
|
-
}
|
|
27
|
-
(0, _createClass2.default)(SDKConnector, [{
|
|
28
|
-
key: "setWebex",
|
|
29
|
-
value:
|
|
30
|
-
/**
|
|
31
|
-
* @param webexInstance - TODO.
|
|
32
|
-
*/
|
|
33
|
-
function setWebex(webexInstance) {
|
|
34
|
-
if (instance) {
|
|
35
|
-
throw new Error('You cannot set the SDKConnector instance more than once'); // TODO: format log messages and customize Error Object
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var _validateWebex = (0, _utils.validateWebex)(webexInstance),
|
|
39
|
-
error = _validateWebex.error,
|
|
40
|
-
success = _validateWebex.success;
|
|
41
|
-
if (error) {
|
|
42
|
-
throw error;
|
|
43
|
-
} else if (success) {
|
|
44
|
-
webex = webexInstance; // TODO: Object.freeze to prevent changes? That might break the reference chain though
|
|
45
|
-
} else {
|
|
46
|
-
throw new Error('An unknown error occurred setting up the webex instance.');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/* eslint-disable @typescript-eslint/no-this-alias */
|
|
50
|
-
instance = this;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
*
|
|
55
|
-
*/
|
|
56
|
-
}, {
|
|
57
|
-
key: "get",
|
|
58
|
-
value: function get() {
|
|
59
|
-
return instance;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
}, {
|
|
66
|
-
key: "getWebex",
|
|
67
|
-
value: function getWebex() {
|
|
68
|
-
return webex;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* @param request - TODO.
|
|
73
|
-
*/
|
|
74
|
-
}, {
|
|
75
|
-
key: "request",
|
|
76
|
-
value: function request(_request) {
|
|
77
|
-
return instance.getWebex().request(_request);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @param event - TODO.
|
|
82
|
-
* @param cb - TODO.
|
|
83
|
-
*/
|
|
84
|
-
}, {
|
|
85
|
-
key: "registerListener",
|
|
86
|
-
value: function registerListener(event, cb) {
|
|
87
|
-
instance.getWebex().internal.mercury.on(event, function (data) {
|
|
88
|
-
cb(data);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @param event - TODO.
|
|
94
|
-
*/
|
|
95
|
-
}, {
|
|
96
|
-
key: "unregisterListener",
|
|
97
|
-
value: function unregisterListener(event) {
|
|
98
|
-
instance.getWebex().internal.mercury.off(event);
|
|
99
|
-
}
|
|
100
|
-
}]);
|
|
101
|
-
return SDKConnector;
|
|
102
|
-
}();
|
|
103
|
-
var _default = (0, _freeze.default)(new SDKConnector()); // TODO: remove freeze?
|
|
104
|
-
exports.default = _default;
|
|
105
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","instance","webex","SDKConnector","_classCallCheck2","default","_createClass2","key","value","setWebex","webexInstance","Error","_validateWebex","validateWebex","error","success","get","getWebex","request","registerListener","event","cb","internal","mercury","on","data","unregisterListener","off","_default","_freeze","exports"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {WebexRequestPayload} from '../common/types';\nimport {ISDKConnector, WebexSDK} from './types';\n/* eslint-disable class-methods-use-this */\nimport {validateWebex} from './utils';\n\nlet instance: ISDKConnector;\nlet webex: WebexSDK;\n\n/**\n *\n */\nclass SDKConnector implements ISDKConnector {\n /**\n * @param webexInstance - TODO.\n */\n public setWebex(webexInstance: WebexSDK): void {\n if (instance) {\n throw new Error('You cannot set the SDKConnector instance more than once'); // TODO: format log messages and customize Error Object\n }\n const {error, success} = validateWebex(webexInstance);\n\n if (error) {\n throw error;\n } else if (success) {\n webex = webexInstance; // TODO: Object.freeze to prevent changes? That might break the reference chain though\n } else {\n throw new Error('An unknown error occurred setting up the webex instance.');\n }\n\n /* eslint-disable @typescript-eslint/no-this-alias */\n instance = this;\n }\n\n /**\n *\n */\n public get(): ISDKConnector {\n return instance;\n }\n\n /**\n *\n */\n public getWebex(): WebexSDK {\n return webex;\n }\n\n /**\n * @param request - TODO.\n */\n public request<T>(request: WebexRequestPayload): Promise<T> {\n return instance.getWebex().request(request);\n }\n\n /**\n * @param event - TODO.\n * @param cb - TODO.\n */\n public registerListener<T>(event: string, cb: (data?: T) => void): void {\n instance.getWebex().internal.mercury.on(event, (data: T) => {\n cb(data);\n });\n }\n\n /**\n * @param event - TODO.\n */\n public unregisterListener(event: string): void {\n instance.getWebex().internal.mercury.off(event);\n }\n}\n\nexport default Object.freeze(new SDKConnector()); // TODO: remove freeze?\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAJA;;AAGA;;AAGA,IAAIC,QAAuB;AAC3B,IAAIC,KAAe;;AAEnB;AACA;AACA;AAFA,IAGMC,YAAY;EAAA,SAAAA,aAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,YAAA;EAAA;EAAA,IAAAG,aAAA,CAAAD,OAAA,EAAAF,YAAA;IAAAI,GAAA;IAAAC,KAAA;IAChB;AACF;AACA;IACE,SAAAC,SAAgBC,aAAuB,EAAQ;MAC7C,IAAIT,QAAQ,EAAE;QACZ,MAAM,IAAIU,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;MAC9E;;MACA,IAAAC,cAAA,GAAyB,IAAAC,oBAAa,EAACH,aAAa,CAAC;QAA9CI,KAAK,GAAAF,cAAA,CAALE,KAAK;QAAEC,OAAO,GAAAH,cAAA,CAAPG,OAAO;MAErB,IAAID,KAAK,EAAE;QACT,MAAMA,KAAK;MACb,CAAC,MAAM,IAAIC,OAAO,EAAE;QAClBb,KAAK,GAAGQ,aAAa,CAAC,CAAC;MACzB,CAAC,MAAM;QACL,MAAM,IAAIC,KAAK,CAAC,0DAA0D,CAAC;MAC7E;;MAEA;MACAV,QAAQ,GAAG,IAAI;IACjB;;IAEA;AACF;AACA;EAFE;IAAAM,GAAA;IAAAC,KAAA,EAGA,SAAAQ,IAAA,EAA4B;MAC1B,OAAOf,QAAQ;IACjB;;IAEA;AACF;AACA;EAFE;IAAAM,GAAA;IAAAC,KAAA,EAGA,SAAAS,SAAA,EAA4B;MAC1B,OAAOf,KAAK;IACd;;IAEA;AACF;AACA;EAFE;IAAAK,GAAA;IAAAC,KAAA,EAGA,SAAAU,QAAkBA,QAA4B,EAAc;MAC1D,OAAOjB,QAAQ,CAACgB,QAAQ,EAAE,CAACC,OAAO,CAACA,QAAO,CAAC;IAC7C;;IAEA;AACF;AACA;AACA;EAHE;IAAAX,GAAA;IAAAC,KAAA,EAIA,SAAAW,iBAA2BC,KAAa,EAAEC,EAAsB,EAAQ;MACtEpB,QAAQ,CAACgB,QAAQ,EAAE,CAACK,QAAQ,CAACC,OAAO,CAACC,EAAE,CAACJ,KAAK,EAAE,UAACK,IAAO,EAAK;QAC1DJ,EAAE,CAACI,IAAI,CAAC;MACV,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAAlB,GAAA;IAAAC,KAAA,EAGA,SAAAkB,mBAA0BN,KAAa,EAAQ;MAC7CnB,QAAQ,CAACgB,QAAQ,EAAE,CAACK,QAAQ,CAACC,OAAO,CAACI,GAAG,CAACP,KAAK,CAAC;IACjD;EAAC;EAAA,OAAAjB,YAAA;AAAA;AAAA,IAAAyB,QAAA,GAGY,IAAAC,OAAA,CAAAxB,OAAA,EAAc,IAAIF,YAAY,EAAE,CAAC,EAAE;AAAA2B,OAAA,CAAAzB,OAAA,GAAAuB,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","require","describe","it","expect","to","eq"],"sources":["index.test.ts"],"sourcesContent":["import {expect} from 'chai';\n\ndescribe('SDkConnector', () => {\n it('TODO', () => {\n expect(true).to.eq(true);\n });\n});\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,cAAc,EAAE,YAAM;EAC7BC,EAAE,CAAC,MAAM,EAAE,YAAM;IACf,IAAAC,YAAM,EAAC,IAAI,CAAC,CAACC,EAAE,CAACC,EAAE,CAAC,IAAI,CAAC;EAC1B,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {\n DSSLookupResponse,\n KmsKey,\n KmsResourceObject,\n LookupOptions,\n PeopleListResponse,\n WebexRequestPayload,\n} from '../common/types';\n/* eslint-disable no-shadow */\n\ntype Listener = (e: string, data?: unknown) => void;\ntype ListenerOff = (e: string) => void;\n\nexport type ServiceHost = {\n host: string;\n ttl: number;\n priority: number;\n id: string;\n homeCluster: boolean;\n};\n\nexport type Model = {\n _values: {\n key: string;\n };\n};\n\nexport type ServiceCatalog = {\n serviceGroups: {\n // cSpell:disable\n postauth: [\n {\n _values: {\n name: string;\n hosts: ServiceHost[];\n };\n }\n ];\n /* cSpell:enable */\n };\n};\n\nexport type ClientRegionInfo = {\n attribution: string;\n clientAddress: string;\n clientRegion: string;\n countryCode: string;\n disclaimer: string;\n regionCode: string;\n timezone: string;\n};\n\n// TODO: is there a way to import bindings from the Webex JS SDK without having to redefine expected methods and structure?\n// This defines the shape for the webex SDK, if a typing doesn't exist, it should be added here\nexport interface WebexSDK {\n // top level primitives/funcs\n version: string;\n canAuthorize: boolean;\n credentials: {\n getUserToken: () => Promise<string>;\n };\n ready: boolean;\n request: <T>(payload: WebexRequestPayload) => Promise<T>;\n // internal plugins\n internal: {\n mercury: {\n on: Listener;\n off: ListenerOff;\n connected: boolean;\n connecting: boolean;\n };\n calendar: unknown;\n device: {\n url: string;\n userId: string;\n orgId: string;\n version: string;\n callingBehavior: string;\n features: {\n entitlement: {\n models: Model[];\n };\n };\n };\n dss: {\n lookup: (options: LookupOptions) => Promise<DSSLookupResponse[]>;\n };\n encryption: {\n decryptText: (encryptionKeyUrl: string, encryptedData?: string) => Promise<string>;\n encryptText: (encryptionKeyUrl: string, text?: string) => Promise<string>;\n kms: {\n createUnboundKeys: (arg0: {count?: number}) => Promise<KmsKey[]>;\n createResource: (arg0: {keyUris: string[]}) => Promise<KmsResourceObject>;\n bindKey: (arg0: {kroUri: string; keyUri: string}) => Promise<KmsKey>;\n };\n };\n presence: unknown;\n support: unknown;\n services: {\n _serviceUrls: {\n mobius: string;\n identity: string;\n janus: string;\n wdm: string;\n broadworksIdpProxy: string;\n hydra: string;\n mercuryApi: string;\n 'ucmgmt-gateway': string;\n contactsService: string;\n directorySearch: string;\n };\n fetchClientRegionInfo: () => Promise<ClientRegionInfo>;\n };\n metrics: {\n submitClientMetrics: (name: string, data: unknown) => void;\n };\n };\n // public plugins\n logger: {\n log: (payload: string) => void;\n error: (payload: string) => void;\n warn: (payload: string) => void;\n info: (payload: string) => void;\n trace: (payload: string) => void;\n debug: (payload: string) => void;\n };\n messages: unknown;\n memberships: unknown;\n people: {\n list: (arg: object) => Promise<PeopleListResponse>;\n };\n rooms: unknown;\n teams: unknown;\n}\n\nexport interface ISDKConnector {\n setWebex: (webexInstance: WebexSDK) => void;\n getWebex: () => WebexSDK;\n get: () => ISDKConnector;\n registerListener: <T>(event: string, cb: (data?: T) => unknown) => void;\n unregisterListener: (event: string) => void;\n}\n"],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.validateWebex = void 0;
|
|
8
|
-
/* eslint-disable valid-jsdoc */
|
|
9
|
-
|
|
10
|
-
// TODO: add other cases necessary for fully qualified webex instance
|
|
11
|
-
// eslint-disable-next-line max-len
|
|
12
|
-
/**
|
|
13
|
-
* @param webexInstance - TODO.
|
|
14
|
-
*/
|
|
15
|
-
var validateWebex = function validateWebex(webexInstance) {
|
|
16
|
-
if (webexInstance.canAuthorize) {
|
|
17
|
-
if (webexInstance.ready) {
|
|
18
|
-
if (webexInstance.internal.mercury) {
|
|
19
|
-
return {
|
|
20
|
-
error: undefined,
|
|
21
|
-
success: true
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
return {
|
|
25
|
-
error: new Error('webex.internal.mercury is not available'),
|
|
26
|
-
success: false
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
return {
|
|
30
|
-
error: new Error('webex.ready is not true'),
|
|
31
|
-
success: false
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
error: new Error('webex.canAuthorize is not true'),
|
|
36
|
-
success: false
|
|
37
|
-
}; // TODO: change to error object
|
|
38
|
-
};
|
|
39
|
-
exports.validateWebex = validateWebex;
|
|
40
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["validateWebex","webexInstance","canAuthorize","ready","internal","mercury","error","undefined","success","Error","exports"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {WebexSDK} from './types';\n\n// TODO: add other cases necessary for fully qualified webex instance\n// eslint-disable-next-line max-len\n/**\n * @param webexInstance - TODO.\n */\nexport const validateWebex = (\n webexInstance: WebexSDK\n): {error: Error | undefined; success: boolean} => {\n if (webexInstance.canAuthorize) {\n if (webexInstance.ready) {\n if (webexInstance.internal.mercury) {\n return {error: undefined, success: true};\n }\n\n return {error: new Error('webex.internal.mercury is not available'), success: false};\n }\n\n return {error: new Error('webex.ready is not true'), success: false};\n }\n\n return {error: new Error('webex.canAuthorize is not true'), success: false}; // TODO: change to error object\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,aAAuB,EAC0B;EACjD,IAAIA,aAAa,CAACC,YAAY,EAAE;IAC9B,IAAID,aAAa,CAACE,KAAK,EAAE;MACvB,IAAIF,aAAa,CAACG,QAAQ,CAACC,OAAO,EAAE;QAClC,OAAO;UAACC,KAAK,EAAEC,SAAS;UAAEC,OAAO,EAAE;QAAI,CAAC;MAC1C;MAEA,OAAO;QAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,yCAAyC,CAAC;QAAED,OAAO,EAAE;MAAK,CAAC;IACtF;IAEA,OAAO;MAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,yBAAyB,CAAC;MAAED,OAAO,EAAE;IAAK,CAAC;EACtE;EAEA,OAAO;IAACF,KAAK,EAAE,IAAIG,KAAK,CAAC,gCAAgC,CAAC;IAAED,OAAO,EAAE;EAAK,CAAC,CAAC,CAAC;AAC/E,CAAC;AAACE,OAAA,CAAAV,aAAA,GAAAA,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","require","describe","it","expect","to","eq"],"sources":["utils.test.ts"],"sourcesContent":["import {expect} from 'chai';\n\ndescribe('SDkConnector Utils', () => {\n it('TODO', () => {\n expect(true).to.eq(true);\n });\n});\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACnCC,EAAE,CAAC,MAAM,EAAE,YAAM;IACf,IAAAC,YAAM,EAAC,IAAI,CAAC,CAACC,EAAE,CAACC,EAAE,CAAC,IAAI,CAAC;EAC1B,CAAC,CAAC;AACJ,CAAC,CAAC"}
|