@webex/calling 3.10.0-next.8 → 3.10.0-webex-services-ready.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallHistory/CallHistory.js +118 -124
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +189 -201
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +17 -18
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/CallSettings.test.js +14 -14
- package/dist/CallSettings/CallSettings.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +71 -24
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +135 -137
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +198 -201
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -168
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +7 -8
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +654 -610
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +701 -556
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +15 -18
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +113 -113
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +5 -1
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +57 -74
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +22 -22
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +657 -526
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +657 -309
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +24 -24
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +20 -20
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +250 -253
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +60 -60
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Errors/catalog/CallError.js +7 -10
- package/dist/Errors/catalog/CallError.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +6 -9
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/ExtendedError.js +6 -8
- package/dist/Errors/catalog/ExtendedError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +6 -9
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Events/impl/index.js +11 -13
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +1 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/SDKConnector/index.js +1 -2
- package/dist/SDKConnector/index.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +84 -85
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +58 -61
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +20 -20
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +116 -117
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/common/Utils.js +195 -165
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +432 -183
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +3 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/testUtil.js +3 -3
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
- package/dist/module/CallingClient/calling/call.js +59 -38
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +82 -2
- package/dist/module/common/Utils.js +27 -3
- package/dist/module/common/constants.js +2 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +4 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +3 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +6 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +6 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -92,7 +92,7 @@ describe('CallerId tests', function () {
|
|
|
92
92
|
*/
|
|
93
93
|
it(' When PA-ID, From header is present along with x-broad-works, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
94
94
|
var dummyCallerId, output;
|
|
95
|
-
return _regenerator.default.wrap(function
|
|
95
|
+
return _regenerator.default.wrap(function (_context) {
|
|
96
96
|
while (1) switch (_context.prev = _context.next) {
|
|
97
97
|
case 0:
|
|
98
98
|
dummyCallerId = {
|
|
@@ -104,15 +104,15 @@ describe('CallerId tests', function () {
|
|
|
104
104
|
/* PAI should be preferred */
|
|
105
105
|
expect(output.name).toStrictEqual("John O'Connor - ( Guest )");
|
|
106
106
|
expect(output.num).toStrictEqual('5888');
|
|
107
|
-
_context.next =
|
|
107
|
+
_context.next = 1;
|
|
108
108
|
return waitForMsecs(50);
|
|
109
|
-
case
|
|
109
|
+
case 1:
|
|
110
110
|
/* Should be overwritten by x-broadworks */
|
|
111
111
|
expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
|
|
112
112
|
expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
|
|
113
113
|
expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
|
|
114
114
|
expect(callerId['callerInfo'].num).toStrictEqual('5008');
|
|
115
|
-
case
|
|
115
|
+
case 2:
|
|
116
116
|
case "end":
|
|
117
117
|
return _context.stop();
|
|
118
118
|
}
|
|
@@ -120,7 +120,7 @@ describe('CallerId tests', function () {
|
|
|
120
120
|
})));
|
|
121
121
|
it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
122
122
|
var dummyCallerId, output;
|
|
123
|
-
return _regenerator.default.wrap(function
|
|
123
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
124
124
|
while (1) switch (_context2.prev = _context2.next) {
|
|
125
125
|
case 0:
|
|
126
126
|
dummyCallerId = {
|
|
@@ -133,15 +133,15 @@ describe('CallerId tests', function () {
|
|
|
133
133
|
/* PAI name is ignored and From's name should be taken, but number is taken from PAI */
|
|
134
134
|
expect(output.name).toStrictEqual('Alice');
|
|
135
135
|
expect(output.num).toStrictEqual('5888');
|
|
136
|
-
_context2.next =
|
|
136
|
+
_context2.next = 1;
|
|
137
137
|
return waitForMsecs(50);
|
|
138
|
-
case
|
|
138
|
+
case 1:
|
|
139
139
|
/* Should be overwritten by x-broadworks */
|
|
140
140
|
expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
|
|
141
141
|
expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
|
|
142
142
|
expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
|
|
143
143
|
expect(callerId['callerInfo'].num).toStrictEqual('5008');
|
|
144
|
-
case
|
|
144
|
+
case 2:
|
|
145
145
|
case "end":
|
|
146
146
|
return _context2.stop();
|
|
147
147
|
}
|
|
@@ -149,7 +149,7 @@ describe('CallerId tests', function () {
|
|
|
149
149
|
})));
|
|
150
150
|
it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
151
151
|
var dummyCallerId, output;
|
|
152
|
-
return _regenerator.default.wrap(function
|
|
152
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
153
153
|
while (1) switch (_context3.prev = _context3.next) {
|
|
154
154
|
case 0:
|
|
155
155
|
dummyCallerId = {
|
|
@@ -162,15 +162,15 @@ describe('CallerId tests', function () {
|
|
|
162
162
|
/* PAI name and number is ignored and From's name, number should be taken */
|
|
163
163
|
expect(output.name).toStrictEqual('Alice');
|
|
164
164
|
expect(output.num).toStrictEqual('5889');
|
|
165
|
-
_context3.next =
|
|
165
|
+
_context3.next = 1;
|
|
166
166
|
return waitForMsecs(50);
|
|
167
|
-
case
|
|
167
|
+
case 1:
|
|
168
168
|
/* Should be overwritten by x-broadworks */
|
|
169
169
|
expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
|
|
170
170
|
expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
|
|
171
171
|
expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
|
|
172
172
|
expect(callerId['callerInfo'].num).toStrictEqual('5008');
|
|
173
|
-
case
|
|
173
|
+
case 2:
|
|
174
174
|
case "end":
|
|
175
175
|
return _context3.stop();
|
|
176
176
|
}
|
|
@@ -178,7 +178,7 @@ describe('CallerId tests', function () {
|
|
|
178
178
|
})));
|
|
179
179
|
it(' When PA-ID is present but From header is absent', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
180
180
|
var dummyCallerId, output;
|
|
181
|
-
return _regenerator.default.wrap(function
|
|
181
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
182
182
|
while (1) switch (_context4.prev = _context4.next) {
|
|
183
183
|
case 0:
|
|
184
184
|
dummyCallerId = {
|
|
@@ -190,15 +190,15 @@ describe('CallerId tests', function () {
|
|
|
190
190
|
/* PAI name and number is taken */
|
|
191
191
|
expect(output.name).toStrictEqual('Bob Marley');
|
|
192
192
|
expect(output.num).toStrictEqual('5888');
|
|
193
|
-
_context4.next =
|
|
193
|
+
_context4.next = 1;
|
|
194
194
|
return waitForMsecs(50);
|
|
195
|
-
case
|
|
195
|
+
case 1:
|
|
196
196
|
/* Should be overwritten by x-broadworks */
|
|
197
197
|
expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);
|
|
198
198
|
expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);
|
|
199
199
|
expect(callerId['callerInfo'].name).toStrictEqual('Cathy');
|
|
200
200
|
expect(callerId['callerInfo'].num).toStrictEqual('5008');
|
|
201
|
-
case
|
|
201
|
+
case 2:
|
|
202
202
|
case "end":
|
|
203
203
|
return _context4.stop();
|
|
204
204
|
}
|
|
@@ -206,7 +206,7 @@ describe('CallerId tests', function () {
|
|
|
206
206
|
})));
|
|
207
207
|
it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
208
208
|
var dummyCallerId, output;
|
|
209
|
-
return _regenerator.default.wrap(function
|
|
209
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
210
210
|
while (1) switch (_context5.prev = _context5.next) {
|
|
211
211
|
case 0:
|
|
212
212
|
dummyCallerId = {
|
|
@@ -219,15 +219,15 @@ describe('CallerId tests', function () {
|
|
|
219
219
|
/* PAI should be preferred */
|
|
220
220
|
expect(output.name).toStrictEqual('Bob Marley');
|
|
221
221
|
expect(output.num).toStrictEqual('5888');
|
|
222
|
-
_context5.next =
|
|
222
|
+
_context5.next = 1;
|
|
223
223
|
return waitForMsecs(50);
|
|
224
|
-
case
|
|
224
|
+
case 1:
|
|
225
225
|
/* Since x-broadworks is not present , intermediary details should be retained */
|
|
226
226
|
expect(callerId['callerInfo'].avatarSrc).toBeFalsy();
|
|
227
227
|
expect(callerId['callerInfo'].id).toBeFalsy();
|
|
228
228
|
expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');
|
|
229
229
|
expect(callerId['callerInfo'].num).toStrictEqual('5888');
|
|
230
|
-
case
|
|
230
|
+
case 2:
|
|
231
231
|
case "end":
|
|
232
232
|
return _context5.stop();
|
|
233
233
|
}
|
|
@@ -235,7 +235,7 @@ describe('CallerId tests', function () {
|
|
|
235
235
|
})));
|
|
236
236
|
it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
237
237
|
var dummyCallerId, warnSpy, output;
|
|
238
|
-
return _regenerator.default.wrap(function
|
|
238
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
239
239
|
while (1) switch (_context6.prev = _context6.next) {
|
|
240
240
|
case 0:
|
|
241
241
|
dummyCallerId = {
|
|
@@ -252,9 +252,9 @@ describe('CallerId tests', function () {
|
|
|
252
252
|
/* PAI should be preferred */
|
|
253
253
|
expect(output.name).toStrictEqual('Bob Marley');
|
|
254
254
|
expect(output.num).toStrictEqual('5888');
|
|
255
|
-
_context6.next =
|
|
255
|
+
_context6.next = 1;
|
|
256
256
|
return waitForMsecs(50);
|
|
257
|
-
case
|
|
257
|
+
case 1:
|
|
258
258
|
expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {
|
|
259
259
|
file: _constants.UTILS_FILE,
|
|
260
260
|
method: 'resolveCallerIdDisplay'
|
|
@@ -265,7 +265,7 @@ describe('CallerId tests', function () {
|
|
|
265
265
|
expect(callerId['callerInfo'].id).toBe(undefined);
|
|
266
266
|
expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');
|
|
267
267
|
expect(callerId['callerInfo'].num).toStrictEqual('5888');
|
|
268
|
-
case
|
|
268
|
+
case 2:
|
|
269
269
|
case "end":
|
|
270
270
|
return _context6.stop();
|
|
271
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_testUtil","require","_","_Logger","_interopRequireDefault","_constants","waitForMsecs","msec","_promise","default","resolve","setTimeout","webex","getTestUtilsWebex","describe","dummyAvatar","dummyScimResponse","totalResults","itemsPerPage","startIndex","schemas","Resources","userName","emails","primary","type","value","name","givenName","familyName","phoneNumbers","entitlements","cisSyncSource","photos","id","meta","created","lastModified","lastLoginTime","version","location","organizationID","creator","modifier","displayName","active","licenseID","userSettings","sipAddresses","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","userType","mfaEnabled","teamsClusterId","request","mockResolvedValue","statusCode","body","callerId","it","createCallerId","log","expect","toBeTruthy","_asyncToGenerator2","_regenerator","mark","_callee","dummyCallerId","output","wrap","_callee$","_context","prev","next","from","fetchCallerDetails","toStrictEqual","num","avatarSrc","stop","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","_callee5","_callee5$","_context5","toBeFalsy","_callee6","warnSpy","_callee6$","_context6","mockRejectedValue","jest","spyOn","toHaveBeenCalledWith","file","UTILS_FILE","method","toBe","undefined"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {DisplayInformation} from '../../../common/types';\nimport {getTestUtilsWebex} from '../../../common/testUtil';\nimport {createCallerId} from '.';\nimport log from '../../../Logger';\nimport {ICallerId} from './types';\nimport {UTILS_FILE} from '../../constants';\n\nconst waitForMsecs = (msec: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, msec);\n });\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CallerId tests', () => {\n const dummyAvatar =\n 'https://avatar-int-us-east-1.webexcontent.com/Avtr~V1~1704d30d-a131-4bc7-9449-948487643793/V1~bf911e86a1561896d7d0053b46a8d0c9ed82a7bc434a1f84621c2c45cc825f37~3720694b1e4340818a3d12d70eb2b6e1~80';\n\n const dummyScimResponse = {\n totalResults: '1',\n itemsPerPage: '1',\n startIndex: '1',\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n Resources: [\n {\n userName: 'atlas.test.wxcwebrtc+user8@gmail.com',\n emails: [\n {\n primary: true,\n type: 'work',\n value: 'atlas.test.wxcwebrtc+user8@gmail.com',\n },\n ],\n name: {\n givenName: 'Cathy',\n familyName: 'James',\n },\n phoneNumbers: [\n {\n primary: true,\n type: 'work',\n value: '5008',\n },\n ],\n entitlements: [\n 'basic-meeting',\n 'basic-message',\n 'bc-sp-standard',\n 'screen-share',\n 'spark',\n 'spark-test-account',\n 'squared-call-initiation',\n 'webex-squared',\n ],\n cisSyncSource: 'SCIM',\n photos: [\n {\n type: 'photo',\n value: dummyAvatar,\n },\n {\n type: 'thumbnail',\n value: dummyAvatar,\n },\n ],\n id: '652fe0c7-05ce-4acd-8bda-9a080830187f',\n meta: {\n created: '2022-03-16T16:13:53.847Z',\n lastModified: '2022-05-31T14:39:12.782Z',\n lastLoginTime: '2022-05-31T14:39:12.780Z',\n version: 'W/\"66025591113\"',\n location:\n 'https://identitybts.webex.com/identity/scim/1704d30d-a131-4bc7-9449-948487643793/v1/Users/652fe0c7-05ce-4acd-8bda-9a080830187f',\n organizationID: '1704d30d-a131-4bc7-9449-948487643793',\n creator: '97fe25e3-d3e8-400e-856b-5b0cd5b0c790',\n modifier: '8c7abf2f-0c8e-49cf-b8e4-693d4ec7daee',\n },\n displayName: 'Cathy',\n active: true,\n licenseID: ['BCSTD_8c81f40c-e848-484e-8ca8-0fb6dabc75a5'],\n userSettings: ['{\"spark.signUpDate\":\"1648547902173\"}', '{\"user-origin\":\"admin-invited\"}'],\n sipAddresses: [\n {\n type: 'cloud-calling',\n value: 'atlas.test.wxcwebrtc+user8@webrtcmobius.call.wbx2.com',\n primary: true,\n },\n ],\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n userType: 'user',\n mfaEnabled: false,\n teamsClusterId: 'urn:TEAM:us-east-1_int13',\n },\n ],\n };\n\n webex.request.mockResolvedValue({\n statusCode: 200,\n body: dummyScimResponse,\n });\n\n let callerId: ICallerId;\n\n it('create callerId Object', () => {\n callerId = createCallerId(webex, () => log.log('dummy print', {}));\n expect(callerId).toBeTruthy();\n });\n\n /* Follow tests will follow different combinations of the headers.\n * We will check whether the priority order is followed or not.\n */\n it(' When PA-ID, From header is present along with x-broad-works, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"John O\\'Connor - ( Guest )\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual(\"John O'Connor - ( Guest )\");\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name is ignored and From's name should be taken, but number is taken from PAI */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:69fde5ad-fb8b-4a1b-9998-b0999e95719b@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is ignored and From's name, number should be taken */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5889');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID is present but From header is absent', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is taken */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Since x-broadworks is not present , intermediary details should be retained */\n expect(callerId['callerInfo'].avatarSrc).toBeFalsy();\n expect(callerId['callerInfo'].id).toBeFalsy();\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n\n it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n webex.request.mockRejectedValue({\n statusCode: 404,\n body: dummyScimResponse,\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {\n file: UTILS_FILE,\n method: 'resolveCallerIdDisplay',\n });\n\n /* Should not be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toBe(undefined);\n expect(callerId['callerInfo'].id).toBe(undefined);\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_testUtil","require","_","_Logger","_interopRequireDefault","_constants","waitForMsecs","msec","_promise","default","resolve","setTimeout","webex","getTestUtilsWebex","describe","dummyAvatar","dummyScimResponse","totalResults","itemsPerPage","startIndex","schemas","Resources","userName","emails","primary","type","value","name","givenName","familyName","phoneNumbers","entitlements","cisSyncSource","photos","id","meta","created","lastModified","lastLoginTime","version","location","organizationID","creator","modifier","displayName","active","licenseID","userSettings","sipAddresses","isTeamsOnJabberEnabled","isUCCallOnJabberEnabled","userType","mfaEnabled","teamsClusterId","request","mockResolvedValue","statusCode","body","callerId","it","createCallerId","log","expect","toBeTruthy","_asyncToGenerator2","_regenerator","mark","_callee","dummyCallerId","output","wrap","_context","prev","next","from","fetchCallerDetails","toStrictEqual","num","avatarSrc","stop","_callee2","_context2","_callee3","_context3","_callee4","_context4","_callee5","_context5","toBeFalsy","_callee6","warnSpy","_context6","mockRejectedValue","jest","spyOn","toHaveBeenCalledWith","file","UTILS_FILE","method","toBe","undefined"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {DisplayInformation} from '../../../common/types';\nimport {getTestUtilsWebex} from '../../../common/testUtil';\nimport {createCallerId} from '.';\nimport log from '../../../Logger';\nimport {ICallerId} from './types';\nimport {UTILS_FILE} from '../../constants';\n\nconst waitForMsecs = (msec: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, msec);\n });\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CallerId tests', () => {\n const dummyAvatar =\n 'https://avatar-int-us-east-1.webexcontent.com/Avtr~V1~1704d30d-a131-4bc7-9449-948487643793/V1~bf911e86a1561896d7d0053b46a8d0c9ed82a7bc434a1f84621c2c45cc825f37~3720694b1e4340818a3d12d70eb2b6e1~80';\n\n const dummyScimResponse = {\n totalResults: '1',\n itemsPerPage: '1',\n startIndex: '1',\n schemas: ['urn:scim:schemas:core:1.0', 'urn:scim:schemas:extension:cisco:commonidentity:1.0'],\n Resources: [\n {\n userName: 'atlas.test.wxcwebrtc+user8@gmail.com',\n emails: [\n {\n primary: true,\n type: 'work',\n value: 'atlas.test.wxcwebrtc+user8@gmail.com',\n },\n ],\n name: {\n givenName: 'Cathy',\n familyName: 'James',\n },\n phoneNumbers: [\n {\n primary: true,\n type: 'work',\n value: '5008',\n },\n ],\n entitlements: [\n 'basic-meeting',\n 'basic-message',\n 'bc-sp-standard',\n 'screen-share',\n 'spark',\n 'spark-test-account',\n 'squared-call-initiation',\n 'webex-squared',\n ],\n cisSyncSource: 'SCIM',\n photos: [\n {\n type: 'photo',\n value: dummyAvatar,\n },\n {\n type: 'thumbnail',\n value: dummyAvatar,\n },\n ],\n id: '652fe0c7-05ce-4acd-8bda-9a080830187f',\n meta: {\n created: '2022-03-16T16:13:53.847Z',\n lastModified: '2022-05-31T14:39:12.782Z',\n lastLoginTime: '2022-05-31T14:39:12.780Z',\n version: 'W/\"66025591113\"',\n location:\n 'https://identitybts.webex.com/identity/scim/1704d30d-a131-4bc7-9449-948487643793/v1/Users/652fe0c7-05ce-4acd-8bda-9a080830187f',\n organizationID: '1704d30d-a131-4bc7-9449-948487643793',\n creator: '97fe25e3-d3e8-400e-856b-5b0cd5b0c790',\n modifier: '8c7abf2f-0c8e-49cf-b8e4-693d4ec7daee',\n },\n displayName: 'Cathy',\n active: true,\n licenseID: ['BCSTD_8c81f40c-e848-484e-8ca8-0fb6dabc75a5'],\n userSettings: ['{\"spark.signUpDate\":\"1648547902173\"}', '{\"user-origin\":\"admin-invited\"}'],\n sipAddresses: [\n {\n type: 'cloud-calling',\n value: 'atlas.test.wxcwebrtc+user8@webrtcmobius.call.wbx2.com',\n primary: true,\n },\n ],\n isTeamsOnJabberEnabled: false,\n isUCCallOnJabberEnabled: false,\n userType: 'user',\n mfaEnabled: false,\n teamsClusterId: 'urn:TEAM:us-east-1_int13',\n },\n ],\n };\n\n webex.request.mockResolvedValue({\n statusCode: 200,\n body: dummyScimResponse,\n });\n\n let callerId: ICallerId;\n\n it('create callerId Object', () => {\n callerId = createCallerId(webex, () => log.log('dummy print', {}));\n expect(callerId).toBeTruthy();\n });\n\n /* Follow tests will follow different combinations of the headers.\n * We will check whether the priority order is followed or not.\n */\n it(' When PA-ID, From header is present along with x-broad-works, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"John O\\'Connor - ( Guest )\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual(\"John O'Connor - ( Guest )\");\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name is ignored and From's name should be taken, but number is taken from PAI */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID ,From header is present along with x-broad-works , but name, number in PAI is missing', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '<sip:69fde5ad-fb8b-4a1b-9998-b0999e95719b@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is ignored and From's name, number should be taken */\n expect(output.name).toStrictEqual('Alice');\n expect(output.num).toStrictEqual('5889');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID is present but From header is absent', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI name and number is taken */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Should be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toStrictEqual(dummyAvatar);\n expect(callerId['callerInfo'].id).toStrictEqual(dummyScimResponse.Resources[0].id);\n expect(callerId['callerInfo'].name).toStrictEqual('Cathy');\n expect(callerId['callerInfo'].num).toStrictEqual('5008');\n });\n\n it(' When PA-ID, From header is present but x-broad-works does not have externalId, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n callerId['callerInfo'] = {} as DisplayInformation;\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n /* Since x-broadworks is not present , intermediary details should be retained */\n expect(callerId['callerInfo'].avatarSrc).toBeFalsy();\n expect(callerId['callerInfo'].id).toBeFalsy();\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n\n it(' When PA-ID, From header is present along with x-broad-works but SCIM query fails, ', async () => {\n const dummyCallerId = {\n 'x-broadworks-remote-party-info':\n 'userId=\"nkjwuovmbo@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865888;ext=5888;country-code=1\";externalId=69fde5ad-fb8b-4a1b-9998-b0999e95719b',\n 'p-asserted-identity': '\"Bob Marley\" <sip:5888@10.155.4.7;user=phone>',\n from: '\"Alice\" <sip:5889@64941297.int10.bcld.webex.com>;tag=1932136170-1654008881246',\n };\n\n webex.request.mockRejectedValue({\n statusCode: 404,\n body: dummyScimResponse,\n });\n\n const warnSpy = jest.spyOn(log, 'warn');\n const output = callerId.fetchCallerDetails(dummyCallerId);\n\n /* PAI should be preferred */\n expect(output.name).toStrictEqual('Bob Marley');\n expect(output.num).toStrictEqual('5888');\n await waitForMsecs(50);\n\n expect(warnSpy).toHaveBeenCalledWith('Error response: - 404', {\n file: UTILS_FILE,\n method: 'resolveCallerIdDisplay',\n });\n\n /* Should not be overwritten by x-broadworks */\n expect(callerId['callerInfo'].avatarSrc).toBe(undefined);\n expect(callerId['callerInfo'].id).toBe(undefined);\n expect(callerId['callerInfo'].name).toStrictEqual('Bob Marley');\n expect(callerId['callerInfo'].num).toStrictEqual('5888');\n });\n});\n"],"mappings":"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","ignoreList":[]}
|