@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.
Files changed (283) hide show
  1. package/CHANGELOG.md +1403 -0
  2. package/README.md +74 -74
  3. package/dist/module/CallHistory/CallHistory.js +81 -81
  4. package/dist/module/CallHistory/callHistoryFixtures.js +307 -307
  5. package/dist/module/CallHistory/constants.js +9 -9
  6. package/dist/module/CallHistory/types.js +1 -1
  7. package/dist/module/CallSettings/CallSettings.js +65 -65
  8. package/dist/module/CallSettings/UcmBackendConnector.js +100 -100
  9. package/dist/module/CallSettings/WxCallBackendConnector.js +287 -287
  10. package/dist/module/CallSettings/constants.js +11 -11
  11. package/dist/module/CallSettings/testFixtures.js +62 -62
  12. package/dist/module/CallSettings/types.js +1 -1
  13. package/dist/module/CallingClient/CallingClient.js +248 -248
  14. package/dist/module/CallingClient/callRecordFixtures.js +93 -93
  15. package/dist/module/CallingClient/calling/CallerId/index.js +169 -169
  16. package/dist/module/CallingClient/calling/CallerId/types.js +1 -1
  17. package/dist/module/CallingClient/calling/call.js +1658 -1658
  18. package/dist/module/CallingClient/calling/callManager.js +284 -284
  19. package/dist/module/CallingClient/calling/index.js +2 -2
  20. package/dist/module/CallingClient/calling/types.js +53 -53
  21. package/dist/module/CallingClient/callingClientFixtures.js +38 -38
  22. package/dist/module/CallingClient/constants.js +122 -122
  23. package/dist/module/CallingClient/line/index.js +158 -158
  24. package/dist/module/CallingClient/line/types.js +15 -15
  25. package/dist/module/CallingClient/registration/index.js +1 -1
  26. package/dist/module/CallingClient/registration/register.js +507 -507
  27. package/dist/module/CallingClient/registration/registerFixtures.js +28 -28
  28. package/dist/module/CallingClient/registration/types.js +1 -1
  29. package/dist/module/CallingClient/types.js +1 -1
  30. package/dist/module/Contacts/ContactsClient.js +484 -484
  31. package/dist/module/Contacts/constants.js +20 -20
  32. package/dist/module/Contacts/contactFixtures.js +284 -284
  33. package/dist/module/Contacts/types.js +10 -10
  34. package/dist/module/Errors/catalog/CallError.js +26 -26
  35. package/dist/module/Errors/catalog/CallingDeviceError.js +18 -18
  36. package/dist/module/Errors/catalog/ExtendedError.js +10 -10
  37. package/dist/module/Errors/catalog/LineError.js +24 -24
  38. package/dist/module/Errors/index.js +2 -2
  39. package/dist/module/Errors/types.js +48 -48
  40. package/dist/module/Events/impl/index.js +19 -19
  41. package/dist/module/Events/types.js +83 -83
  42. package/dist/module/Logger/index.js +114 -114
  43. package/dist/module/Logger/types.js +25 -25
  44. package/dist/module/Metrics/index.js +232 -232
  45. package/dist/module/Metrics/types.js +37 -37
  46. package/dist/module/SDKConnector/index.js +39 -39
  47. package/dist/module/SDKConnector/types.js +1 -1
  48. package/dist/module/SDKConnector/utils.js +12 -12
  49. package/dist/module/Voicemail/BroadworksBackendConnector.js +291 -291
  50. package/dist/module/Voicemail/UcmBackendConnector.js +279 -279
  51. package/dist/module/Voicemail/Voicemail.js +110 -110
  52. package/dist/module/Voicemail/WxCallBackendConnector.js +279 -279
  53. package/dist/module/Voicemail/constants.js +29 -29
  54. package/dist/module/Voicemail/types.js +1 -1
  55. package/dist/module/Voicemail/voicemailFixture.js +510 -510
  56. package/dist/module/api.js +6 -6
  57. package/dist/module/common/Utils.js +802 -802
  58. package/dist/module/common/constants.js +41 -41
  59. package/dist/module/common/index.js +1 -1
  60. package/dist/module/common/testUtil.js +938 -938
  61. package/dist/module/common/types.js +57 -57
  62. package/dist/module/index.js +8 -8
  63. package/dist/types/CallHistory/CallHistory.d.ts +17 -17
  64. package/dist/types/CallHistory/callHistoryFixtures.d.ts +94 -94
  65. package/dist/types/CallHistory/constants.d.ts +9 -9
  66. package/dist/types/CallHistory/types.d.ts +18 -18
  67. package/dist/types/CallSettings/CallSettings.d.ts +19 -19
  68. package/dist/types/CallSettings/UcmBackendConnector.d.ts +19 -19
  69. package/dist/types/CallSettings/WxCallBackendConnector.d.ts +21 -21
  70. package/dist/types/CallSettings/constants.d.ts +11 -11
  71. package/dist/types/CallSettings/testFixtures.d.ts +15 -15
  72. package/dist/types/CallSettings/types.d.ts +107 -107
  73. package/dist/types/CallingClient/CallingClient.d.ts +35 -35
  74. package/dist/types/CallingClient/callRecordFixtures.d.ts +3 -3
  75. package/dist/types/CallingClient/calling/CallerId/index.d.ts +17 -17
  76. package/dist/types/CallingClient/calling/CallerId/types.d.ts +41 -41
  77. package/dist/types/CallingClient/calling/call.d.ts +96 -96
  78. package/dist/types/CallingClient/calling/callManager.d.ts +25 -25
  79. package/dist/types/CallingClient/calling/index.d.ts +2 -2
  80. package/dist/types/CallingClient/calling/types.d.ts +206 -206
  81. package/dist/types/CallingClient/callingClientFixtures.d.ts +18 -18
  82. package/dist/types/CallingClient/constants.d.ts +122 -122
  83. package/dist/types/CallingClient/line/index.d.ts +43 -43
  84. package/dist/types/CallingClient/line/types.d.ts +55 -55
  85. package/dist/types/CallingClient/registration/index.d.ts +1 -1
  86. package/dist/types/CallingClient/registration/register.d.ts +64 -64
  87. package/dist/types/CallingClient/registration/registerFixtures.d.ts +28 -28
  88. package/dist/types/CallingClient/registration/types.d.ts +20 -20
  89. package/dist/types/CallingClient/types.d.ts +29 -29
  90. package/dist/types/Contacts/ContactsClient.d.ts +26 -26
  91. package/dist/types/Contacts/constants.d.ts +19 -19
  92. package/dist/types/Contacts/contactFixtures.d.ts +280 -280
  93. package/dist/types/Contacts/types.d.ts +72 -72
  94. package/dist/types/Errors/catalog/CallError.d.ts +11 -11
  95. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +10 -10
  96. package/dist/types/Errors/catalog/ExtendedError.d.ts +6 -6
  97. package/dist/types/Errors/catalog/LineError.d.ts +10 -10
  98. package/dist/types/Errors/index.d.ts +2 -2
  99. package/dist/types/Errors/types.d.ts +60 -60
  100. package/dist/types/Events/impl/index.d.ts +8 -8
  101. package/dist/types/Events/types.d.ts +288 -288
  102. package/dist/types/Logger/index.d.ts +12 -12
  103. package/dist/types/Logger/types.d.ts +25 -25
  104. package/dist/types/Metrics/index.d.ts +5 -5
  105. package/dist/types/Metrics/types.d.ts +42 -42
  106. package/dist/types/SDKConnector/index.d.ts +12 -12
  107. package/dist/types/SDKConnector/types.d.ts +128 -128
  108. package/dist/types/SDKConnector/utils.d.ts +5 -5
  109. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts +27 -27
  110. package/dist/types/Voicemail/UcmBackendConnector.d.ts +34 -34
  111. package/dist/types/Voicemail/Voicemail.d.ts +27 -27
  112. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +23 -23
  113. package/dist/types/Voicemail/constants.d.ts +29 -29
  114. package/dist/types/Voicemail/types.d.ts +133 -133
  115. package/dist/types/Voicemail/voicemailFixture.d.ts +417 -417
  116. package/dist/types/api.d.ts +16 -16
  117. package/dist/types/common/Utils.d.ts +34 -34
  118. package/dist/types/common/constants.d.ts +41 -41
  119. package/dist/types/common/index.d.ts +1 -1
  120. package/dist/types/common/testUtil.d.ts +3611 -3611
  121. package/dist/types/common/types.d.ts +191 -191
  122. package/dist/types/index.d.ts +8 -8
  123. package/package.json +4 -4
  124. package/dist/CallHistory/CallHistory.js +0 -203
  125. package/dist/CallHistory/CallHistory.js.map +0 -1
  126. package/dist/CallHistory/CallHistory.test.js +0 -133
  127. package/dist/CallHistory/CallHistory.test.js.map +0 -1
  128. package/dist/CallHistory/callHistoryFixtures.js +0 -310
  129. package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
  130. package/dist/CallHistory/constants.js +0 -26
  131. package/dist/CallHistory/constants.js.map +0 -1
  132. package/dist/CallHistory/types.js +0 -7
  133. package/dist/CallHistory/types.js.map +0 -1
  134. package/dist/CallSettings/CallSettings.js +0 -276
  135. package/dist/CallSettings/CallSettings.js.map +0 -1
  136. package/dist/CallSettings/CallSettings.test.js +0 -122
  137. package/dist/CallSettings/CallSettings.test.js.map +0 -1
  138. package/dist/CallSettings/UcmBackendConnector.js +0 -217
  139. package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
  140. package/dist/CallSettings/UcmBackendConnector.test.js +0 -227
  141. package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
  142. package/dist/CallSettings/WxCallBackendConnector.js +0 -541
  143. package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
  144. package/dist/CallSettings/WxCallBackendConnector.test.js +0 -802
  145. package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
  146. package/dist/CallSettings/constants.js +0 -30
  147. package/dist/CallSettings/constants.js.map +0 -1
  148. package/dist/CallSettings/testFixtures.js +0 -72
  149. package/dist/CallSettings/testFixtures.js.map +0 -1
  150. package/dist/CallSettings/types.js +0 -7
  151. package/dist/CallSettings/types.js.map +0 -1
  152. package/dist/CallingClient/CallingClient.js +0 -572
  153. package/dist/CallingClient/CallingClient.js.map +0 -1
  154. package/dist/CallingClient/CallingClient.test.js +0 -931
  155. package/dist/CallingClient/CallingClient.test.js.map +0 -1
  156. package/dist/CallingClient/callRecordFixtures.js +0 -103
  157. package/dist/CallingClient/callRecordFixtures.js.map +0 -1
  158. package/dist/CallingClient/calling/CallerId/index.js +0 -287
  159. package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
  160. package/dist/CallingClient/calling/CallerId/index.test.js +0 -274
  161. package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
  162. package/dist/CallingClient/calling/CallerId/types.js +0 -7
  163. package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
  164. package/dist/CallingClient/calling/call.js +0 -2995
  165. package/dist/CallingClient/calling/call.js.map +0 -1
  166. package/dist/CallingClient/calling/call.test.js +0 -2614
  167. package/dist/CallingClient/calling/call.test.js.map +0 -1
  168. package/dist/CallingClient/calling/callManager.js +0 -443
  169. package/dist/CallingClient/calling/callManager.js.map +0 -1
  170. package/dist/CallingClient/calling/callManager.test.js +0 -683
  171. package/dist/CallingClient/calling/callManager.test.js.map +0 -1
  172. package/dist/CallingClient/calling/index.js +0 -30
  173. package/dist/CallingClient/calling/index.js.map +0 -1
  174. package/dist/CallingClient/calling/types.js +0 -71
  175. package/dist/CallingClient/calling/types.js.map +0 -1
  176. package/dist/CallingClient/callingClientFixtures.js +0 -53
  177. package/dist/CallingClient/callingClientFixtures.js.map +0 -1
  178. package/dist/CallingClient/constants.js +0 -226
  179. package/dist/CallingClient/constants.js.map +0 -1
  180. package/dist/CallingClient/line/index.js +0 -312
  181. package/dist/CallingClient/line/index.js.map +0 -1
  182. package/dist/CallingClient/line/line.test.js +0 -270
  183. package/dist/CallingClient/line/line.test.js.map +0 -1
  184. package/dist/CallingClient/line/types.js +0 -25
  185. package/dist/CallingClient/line/types.js.map +0 -1
  186. package/dist/CallingClient/registration/index.js +0 -19
  187. package/dist/CallingClient/registration/index.js.map +0 -1
  188. package/dist/CallingClient/registration/register.js +0 -1295
  189. package/dist/CallingClient/registration/register.js.map +0 -1
  190. package/dist/CallingClient/registration/register.test.js +0 -838
  191. package/dist/CallingClient/registration/register.test.js.map +0 -1
  192. package/dist/CallingClient/registration/registerFixtures.js +0 -41
  193. package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
  194. package/dist/CallingClient/registration/types.js +0 -7
  195. package/dist/CallingClient/registration/types.js.map +0 -1
  196. package/dist/CallingClient/types.js +0 -7
  197. package/dist/CallingClient/types.js.map +0 -1
  198. package/dist/Contacts/ContactsClient.js +0 -1139
  199. package/dist/Contacts/ContactsClient.js.map +0 -1
  200. package/dist/Contacts/ContactsClient.test.js +0 -725
  201. package/dist/Contacts/ContactsClient.test.js.map +0 -1
  202. package/dist/Contacts/constants.js +0 -36
  203. package/dist/Contacts/constants.js.map +0 -1
  204. package/dist/Contacts/contactFixtures.js +0 -340
  205. package/dist/Contacts/contactFixtures.js.map +0 -1
  206. package/dist/Contacts/types.js +0 -20
  207. package/dist/Contacts/types.js.map +0 -1
  208. package/dist/Errors/catalog/CallError.js +0 -94
  209. package/dist/Errors/catalog/CallError.js.map +0 -1
  210. package/dist/Errors/catalog/CallingDeviceError.js +0 -88
  211. package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
  212. package/dist/Errors/catalog/ExtendedError.js +0 -45
  213. package/dist/Errors/catalog/ExtendedError.js.map +0 -1
  214. package/dist/Errors/catalog/LineError.js +0 -90
  215. package/dist/Errors/catalog/LineError.js.map +0 -1
  216. package/dist/Errors/index.js +0 -21
  217. package/dist/Errors/index.js.map +0 -1
  218. package/dist/Errors/types.js +0 -62
  219. package/dist/Errors/types.js.map +0 -1
  220. package/dist/Events/impl/index.js +0 -82
  221. package/dist/Events/impl/index.js.map +0 -1
  222. package/dist/Events/types.js +0 -111
  223. package/dist/Events/types.js.map +0 -1
  224. package/dist/Logger/index.js +0 -221
  225. package/dist/Logger/index.js.map +0 -1
  226. package/dist/Logger/index.test.js +0 -62
  227. package/dist/Logger/index.test.js.map +0 -1
  228. package/dist/Logger/types.js +0 -37
  229. package/dist/Logger/types.js.map +0 -1
  230. package/dist/Metrics/index.js +0 -329
  231. package/dist/Metrics/index.js.map +0 -1
  232. package/dist/Metrics/index.test.js +0 -291
  233. package/dist/Metrics/index.test.js.map +0 -1
  234. package/dist/Metrics/types.js +0 -50
  235. package/dist/Metrics/types.js.map +0 -1
  236. package/dist/SDKConnector/index.js +0 -105
  237. package/dist/SDKConnector/index.js.map +0 -1
  238. package/dist/SDKConnector/index.test.js +0 -9
  239. package/dist/SDKConnector/index.test.js.map +0 -1
  240. package/dist/SDKConnector/types.js +0 -7
  241. package/dist/SDKConnector/types.js.map +0 -1
  242. package/dist/SDKConnector/utils.js +0 -40
  243. package/dist/SDKConnector/utils.js.map +0 -1
  244. package/dist/SDKConnector/utils.test.js +0 -9
  245. package/dist/SDKConnector/utils.test.js.map +0 -1
  246. package/dist/Voicemail/BroadworksBackendConnector.js +0 -632
  247. package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
  248. package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -733
  249. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
  250. package/dist/Voicemail/UcmBackendConnector.js +0 -566
  251. package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
  252. package/dist/Voicemail/UcmBackendConnector.test.js +0 -628
  253. package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
  254. package/dist/Voicemail/Voicemail.js +0 -378
  255. package/dist/Voicemail/Voicemail.js.map +0 -1
  256. package/dist/Voicemail/Voicemail.test.js +0 -226
  257. package/dist/Voicemail/Voicemail.test.js.map +0 -1
  258. package/dist/Voicemail/WxCallBackendConnector.js +0 -540
  259. package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
  260. package/dist/Voicemail/WxCallBackendConnector.test.js +0 -942
  261. package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
  262. package/dist/Voicemail/constants.js +0 -66
  263. package/dist/Voicemail/constants.js.map +0 -1
  264. package/dist/Voicemail/types.js +0 -7
  265. package/dist/Voicemail/types.js.map +0 -1
  266. package/dist/Voicemail/voicemailFixture.js +0 -559
  267. package/dist/Voicemail/voicemailFixture.js.map +0 -1
  268. package/dist/api.js +0 -134
  269. package/dist/api.js.map +0 -1
  270. package/dist/common/Utils.js +0 -1264
  271. package/dist/common/Utils.js.map +0 -1
  272. package/dist/common/Utils.test.js +0 -1227
  273. package/dist/common/Utils.test.js.map +0 -1
  274. package/dist/common/constants.js +0 -90
  275. package/dist/common/constants.js.map +0 -1
  276. package/dist/common/index.js +0 -19
  277. package/dist/common/index.js.map +0 -1
  278. package/dist/common/testUtil.js +0 -968
  279. package/dist/common/testUtil.js.map +0 -1
  280. package/dist/common/types.js +0 -75
  281. package/dist/common/types.js.map +0 -1
  282. package/dist/index.js +0 -63
  283. package/dist/index.js.map +0 -1
@@ -1,725 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
- var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
8
- var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
9
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
10
- var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
11
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
14
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
15
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
16
- var _types = require("../common/types");
17
- var _testUtil = require("../common/testUtil");
18
- var _types2 = require("../Logger/types");
19
- var _ContactsClient = require("./ContactsClient");
20
- var _constants = require("../common/constants");
21
- var _Logger = _interopRequireDefault(require("../Logger"));
22
- var _constants2 = require("./constants");
23
- var utils = _interopRequireWildcard(require("../common/Utils"));
24
- var _contactFixtures = require("./contactFixtures");
25
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
- 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; }
28
- 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; }
29
- describe('ContactClient Tests', function () {
30
- var webex = (0, _testUtil.getTestUtilsWebex)();
31
- var contactClient;
32
-
33
- // eslint-disable-next-line no-underscore-dangle
34
- var contactServiceUrl = "".concat(webex.internal.services._serviceUrls.contactsService, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.CONTACT_FILTER);
35
- // eslint-disable-next-line no-underscore-dangle
36
- var contactServiceGroupUrl = "".concat(webex.internal.services._serviceUrls.contactsService, "/").concat(_constants2.ENCRYPT_FILTER, "/").concat(_constants2.USERS, "/").concat(_constants2.GROUP_FILTER);
37
- var serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
38
- var failureResponsePayload = {
39
- statusCode: 503,
40
- body: {}
41
- };
42
- var mockGroupResponse = _contactFixtures.mockContactResponseBodyOne.groups[0];
43
- beforeEach(function () {
44
- contactClient = (0, _ContactsClient.createContactsClient)(webex, {
45
- level: _types2.LOGGER.INFO
46
- });
47
- expect(contactClient).toBeTruthy();
48
- expect(contactClient.getSDKConnector().getWebex()).toBeTruthy();
49
- });
50
- afterEach(function () {
51
- webex.request.mockClear();
52
- jest.clearAllMocks();
53
- });
54
-
55
- /**
56
- * TestCase inputs
57
- * name: TestCase name
58
- * payloadData: Response body
59
- * inputStatusCode: Status code received in response
60
- * expectedData: Expected data field in ContactResponse after processing
61
- * expectedMessage: Expected message field in ContactResponse after processing
62
- * expectedStatusCode: Expected status code field in ContactResponse after processing
63
- * decryptTextList: Array of decrypted contact list.
64
- */
65
- var errorCodes = [{
66
- name: 'Success case 1: fetch contacts using get contacts api, custom and cloud contact present',
67
- payloadData: _contactFixtures.mockContactResponseBodyOne,
68
- inputStatusCode: 200,
69
- expectedData: {
70
- contacts: _contactFixtures.mockContactListOne,
71
- groups: _contactFixtures.mockContactGroupListOne
72
- },
73
- expectedMessage: _constants.SUCCESS_MESSAGE,
74
- expectedStatusCode: 200,
75
- decryptTextList: [_contactFixtures.mockCity, _contactFixtures.mockCountry, _contactFixtures.mockState, _contactFixtures.mockStreet, _contactFixtures.mockZipCode, _contactFixtures.mockAvatarURL, _contactFixtures.mockCompany, _contactFixtures.mockDisplayNameOne, _contactFixtures.mockEmail, _contactFixtures.mockFirstName, _contactFixtures.mockLastName, _contactFixtures.mockNumber1, _contactFixtures.mockNumber2, _contactFixtures.mockSipAddress, _contactFixtures.mockTitle, _contactFixtures.mockNumber2, _contactFixtures.mockSipAddress, _contactFixtures.mockGroupName]
76
- }, {
77
- name: 'Success case 2: fetch contacts using get contacts api, single custom contact with mandatory details present',
78
- payloadData: _contactFixtures.mockContactResponseBodyTwo,
79
- inputStatusCode: 200,
80
- expectedData: {
81
- contacts: _contactFixtures.mockContactListTwo,
82
- groups: _contactFixtures.mockContactGroupListTwo
83
- },
84
- expectedMessage: _constants.SUCCESS_MESSAGE,
85
- expectedStatusCode: 200,
86
- decryptTextList: [_contactFixtures.mockDisplayNameTwo, _contactFixtures.mockGroupName]
87
- }, {
88
- name: 'Success case 3: fetch contacts using get contacts api, no contacts returned',
89
- payloadData: _contactFixtures.mockContactResponseBodyThird,
90
- inputStatusCode: 200,
91
- expectedData: {
92
- contacts: [],
93
- groups: []
94
- },
95
- expectedMessage: _constants.SUCCESS_MESSAGE,
96
- expectedStatusCode: 200,
97
- decryptTextList: []
98
- }, {
99
- name: 'Failed case: 200 OK with no response body',
100
- payloadData: undefined,
101
- inputStatusCode: 200,
102
- expectedData: {
103
- error: '422 Exception has occurred'
104
- },
105
- expectedMessage: _constants.FAILURE_MESSAGE,
106
- expectedStatusCode: 422,
107
- decryptTextList: []
108
- }, {
109
- name: 'Failed case 403: fetch contacts using get contacts api',
110
- payloadData: {
111
- error: '403 Forbidden'
112
- },
113
- inputStatusCode: 403,
114
- expectedData: {
115
- error: 'User request is forbidden'
116
- },
117
- expectedMessage: _constants.FAILURE_MESSAGE,
118
- expectedStatusCode: 403,
119
- decryptTextList: []
120
- }, {
121
- name: 'Failed case 408: fetch contacts using get contacts api',
122
- payloadData: {
123
- error: '408 Request Timeout'
124
- },
125
- inputStatusCode: 408,
126
- expectedData: {
127
- error: 'Request to the server timedout'
128
- },
129
- expectedMessage: _constants.FAILURE_MESSAGE,
130
- expectedStatusCode: 408,
131
- decryptTextList: []
132
- }, {
133
- name: 'Failed case 500: fetch contacts using get contacts api',
134
- payloadData: {
135
- error: '500 Internal Server Error'
136
- },
137
- inputStatusCode: 500,
138
- expectedData: {
139
- error: 'Internal server error occurred'
140
- },
141
- expectedMessage: _constants.FAILURE_MESSAGE,
142
- expectedStatusCode: 500,
143
- decryptTextList: []
144
- }, {
145
- name: 'Failed case 503: fetch contacts using get contacts api',
146
- payloadData: {
147
- error: '503 Service Unavailable'
148
- },
149
- inputStatusCode: 503,
150
- expectedData: {
151
- error: 'Unable to establish a connection with the server'
152
- },
153
- expectedMessage: _constants.FAILURE_MESSAGE,
154
- expectedStatusCode: 503,
155
- decryptTextList: []
156
- }].map(function (stat) {
157
- return (0, _assign.default)(stat, {
158
- toString: function toString() {
159
- /* eslint-disable dot-notation */
160
- return this['name'];
161
- }
162
- });
163
- });
164
- it.each(errorCodes)('%s', /*#__PURE__*/function () {
165
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(codeObj) {
166
- var respPayload, contactsResponse;
167
- return _regenerator.default.wrap(function _callee$(_context) {
168
- while (1) switch (_context.prev = _context.next) {
169
- case 0:
170
- respPayload = {
171
- statusCode: codeObj.inputStatusCode
172
- };
173
- if (codeObj.inputStatusCode === 200) {
174
- respPayload['body'] = codeObj.payloadData;
175
- webex.request.mockResolvedValueOnce(respPayload);
176
- codeObj.decryptTextList.forEach(function (text) {
177
- webex.internal.encryption.decryptText.mockResolvedValueOnce(text);
178
- });
179
- webex.internal.dss.lookup.mockResolvedValueOnce(_contactFixtures.mockDSSResponse);
180
- } else {
181
- respPayload['message'] = _constants.FAILURE_MESSAGE;
182
- respPayload['data'] = codeObj.payloadData;
183
- webex.request.mockRejectedValueOnce(respPayload);
184
- }
185
- _context.next = 4;
186
- return contactClient.getContacts();
187
- case 4:
188
- contactsResponse = _context.sent;
189
- expect(webex.request).toBeCalledOnceWith({
190
- uri: contactServiceUrl,
191
- method: _types.HTTP_METHODS.GET
192
- });
193
- expect(contactsResponse).toEqual({
194
- data: codeObj.expectedData,
195
- message: codeObj.expectedMessage,
196
- statusCode: codeObj.expectedStatusCode
197
- });
198
- if (codeObj.expectedMessage === _constants.SUCCESS_MESSAGE) {
199
- expect(serviceErrorCodeHandlerSpy).not.toBeCalled();
200
- } else {
201
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(codeObj.payloadData ? respPayload : expect.any(Error), {
202
- file: _constants2.CONTACTS_FILE,
203
- method: 'getContacts'
204
- });
205
- }
206
- case 8:
207
- case "end":
208
- return _context.stop();
209
- }
210
- }, _callee);
211
- }));
212
- return function (_x) {
213
- return _ref.apply(this, arguments);
214
- };
215
- }());
216
- it('create a contact group without encryptionKey', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
217
- var _contactsResponse$dat;
218
- var successResponsePayload, contactsResponse;
219
- return _regenerator.default.wrap(function _callee2$(_context2) {
220
- while (1) switch (_context2.prev = _context2.next) {
221
- case 0:
222
- successResponsePayload = {
223
- statusCode: 201,
224
- body: mockGroupResponse
225
- };
226
- contactClient['groups'] = [];
227
- contactClient['encryptionKeyUrl'] = '';
228
- webex.request.mockResolvedValue(successResponsePayload);
229
- webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([_contactFixtures.mockKmsKey]);
230
- webex.internal.encryption.kms.createResource.mockResolvedValue(_contactFixtures.mockKmsKey);
231
- webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted Other').mockResolvedValueOnce('Encrypted Top');
232
- _context2.next = 9;
233
- return contactClient.createContactGroup('Top Contacts');
234
- case 9:
235
- contactsResponse = _context2.sent;
236
- expect(contactsResponse.statusCode).toEqual(201);
237
- expect((_contactsResponse$dat = contactsResponse.data.group) === null || _contactsResponse$dat === void 0 ? void 0 : _contactsResponse$dat.groupId).toBe(mockGroupResponse.groupId);
238
- expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({
239
- count: 1
240
- });
241
- expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({
242
- keyUris: [_contactFixtures.mockKmsKey.uri]
243
- });
244
- expect(webex.request).toBeCalledTimes(2);
245
- expect(webex.request).toHaveBeenNthCalledWith(1, {
246
- uri: contactServiceGroupUrl,
247
- method: 'POST',
248
- body: {
249
- displayName: 'Encrypted Other',
250
- encryptionKeyUrl: _contactFixtures.mockKmsKey.uri,
251
- groupType: 'NORMAL',
252
- schemas: 'urn:cisco:codev:identity:contact:core:1.0'
253
- }
254
- });
255
- expect(webex.request).toHaveBeenNthCalledWith(2, {
256
- uri: contactServiceGroupUrl,
257
- method: 'POST',
258
- body: {
259
- displayName: 'Encrypted Top',
260
- encryptionKeyUrl: _contactFixtures.mockKmsKey.uri,
261
- groupType: 'NORMAL',
262
- schemas: 'urn:cisco:codev:identity:contact:core:1.0'
263
- }
264
- });
265
- expect(contactClient['groups'].length).toEqual(2);
266
- expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');
267
- case 19:
268
- case "end":
269
- return _context2.stop();
270
- }
271
- }, _callee2);
272
- })));
273
- it('create a contact group with existing key info', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
274
- var _contactsResponse$dat2;
275
- var successResponsePayload, logInfoSpy, contactsResponse;
276
- return _regenerator.default.wrap(function _callee3$(_context3) {
277
- while (1) switch (_context3.prev = _context3.next) {
278
- case 0:
279
- successResponsePayload = {
280
- statusCode: 201,
281
- body: mockGroupResponse
282
- };
283
- contactClient['groups'] = _contactFixtures.mockContactGroupListOne;
284
- webex.request.mockResolvedValue(successResponsePayload);
285
- webex.internal.encryption.encryptText.mockResolvedValue('Encrypted Top Contacts');
286
- logInfoSpy = jest.spyOn(_Logger.default, 'info');
287
- _context3.next = 7;
288
- return contactClient.createContactGroup('Top Contacts');
289
- case 7:
290
- contactsResponse = _context3.sent;
291
- expect(contactsResponse.statusCode).toEqual(201);
292
- expect((_contactsResponse$dat2 = contactsResponse.data.group) === null || _contactsResponse$dat2 === void 0 ? void 0 : _contactsResponse$dat2.groupId).toBe(mockGroupResponse.groupId);
293
- expect(logInfoSpy).not.toBeCalledWith('Requesting kms for a new KRO and key', {
294
- file: _constants2.CONTACTS_FILE,
295
- method: 'createNewEncryptionKeyUrl'
296
- });
297
- expect(webex.request).toBeCalledOnceWith({
298
- uri: contactServiceGroupUrl,
299
- method: _types.HTTP_METHODS.POST,
300
- body: {
301
- displayName: 'Encrypted Top Contacts',
302
- encryptionKeyUrl: _contactFixtures.mockContactGroupListOne[0].encryptionKeyUrl,
303
- groupType: 'NORMAL',
304
- schemas: _constants2.CONTACTS_SCHEMA
305
- }
306
- });
307
- expect(contactClient['groups'].length).toEqual(2);
308
- expect(contactClient['groups'][1].displayName).toEqual('Top Contacts');
309
- case 14:
310
- case "end":
311
- return _context3.stop();
312
- }
313
- }, _callee3);
314
- })));
315
- it('create a contact group with same displayName', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
316
- var logSpy, contactsResponse;
317
- return _regenerator.default.wrap(function _callee4$(_context4) {
318
- while (1) switch (_context4.prev = _context4.next) {
319
- case 0:
320
- contactClient['groups'] = _contactFixtures.mockContactResponseBodyOne.groups;
321
- webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([_contactFixtures.mockKmsKey]);
322
- webex.internal.encryption.kms.createResource.mockResolvedValue(_contactFixtures.mockKmsKey);
323
- logSpy = jest.spyOn(_Logger.default, 'warn');
324
- _context4.next = 6;
325
- return contactClient.createContactGroup(mockGroupResponse.displayName);
326
- case 6:
327
- contactsResponse = _context4.sent;
328
- expect(webex.request).not.toBeCalled();
329
- expect(contactsResponse.statusCode).toBe(400);
330
- expect(logSpy).toBeCalledOnceWith("Group name ".concat(mockGroupResponse.displayName, " already exists."), {
331
- file: _constants2.CONTACTS_FILE,
332
- method: 'createContactGroup'
333
- });
334
- expect(contactClient['groups']).toEqual(_contactFixtures.mockContactResponseBodyOne.groups);
335
- case 11:
336
- case "end":
337
- return _context4.stop();
338
- }
339
- }, _callee4);
340
- })));
341
- it('create a contact group - service unavailable', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
342
- var loggerContext, warnSpy, contactsResponse;
343
- return _regenerator.default.wrap(function _callee5$(_context5) {
344
- while (1) switch (_context5.prev = _context5.next) {
345
- case 0:
346
- loggerContext = {
347
- file: _constants2.CONTACTS_FILE,
348
- method: 'createContactGroup'
349
- };
350
- contactClient['groups'] = _contactFixtures.mockContactGroupListOne;
351
- webex.request.mockRejectedValue(failureResponsePayload);
352
- webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([_contactFixtures.mockKmsKey]);
353
- webex.internal.encryption.kms.createResource.mockResolvedValue(_contactFixtures.mockKmsKey);
354
- webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');
355
- warnSpy = jest.spyOn(_Logger.default, 'warn');
356
- _context5.next = 9;
357
- return contactClient.createContactGroup('New group');
358
- case 9:
359
- contactsResponse = _context5.sent;
360
- expect(contactsResponse.statusCode).toBe(503);
361
- expect(webex.request).toBeCalledOnceWith({
362
- uri: contactServiceGroupUrl,
363
- method: _types.HTTP_METHODS.POST,
364
- body: {
365
- displayName: 'Encrypted group name',
366
- encryptionKeyUrl: 'kms://cisco.com/keys/dcf18f9d-155e-44ff-ad61-c8a69b7103ab',
367
- groupType: 'NORMAL',
368
- schemas: 'urn:cisco:codev:identity:contact:core:1.0'
369
- }
370
- });
371
- expect(warnSpy).toBeCalledTimes(2);
372
- expect(warnSpy).toHaveBeenNthCalledWith(1, 'Unable to create contact group.', loggerContext);
373
- expect(warnSpy).toHaveBeenNthCalledWith(2, '503 Unable to establish a connection with the server', loggerContext);
374
- expect(contactClient['groups']).toEqual(_contactFixtures.mockContactGroupListOne);
375
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);
376
- case 17:
377
- case "end":
378
- return _context5.stop();
379
- }
380
- }, _callee5);
381
- })));
382
- it('delete a contact group - service unavailable', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
383
- var loggerContext, warnSpy, contactsResponse;
384
- return _regenerator.default.wrap(function _callee6$(_context6) {
385
- while (1) switch (_context6.prev = _context6.next) {
386
- case 0:
387
- loggerContext = {
388
- file: _constants2.CONTACTS_FILE,
389
- method: 'deleteContactGroup'
390
- };
391
- contactClient['groups'] = _contactFixtures.mockContactGroupListOne;
392
- webex.request.mockRejectedValue(failureResponsePayload);
393
- webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([_contactFixtures.mockKmsKey]);
394
- webex.internal.encryption.kms.createResource.mockResolvedValue(_contactFixtures.mockKmsKey);
395
- warnSpy = jest.spyOn(_Logger.default, 'warn');
396
- _context6.next = 8;
397
- return contactClient.deleteContactGroup(mockGroupResponse.groupId);
398
- case 8:
399
- contactsResponse = _context6.sent;
400
- expect(contactsResponse.statusCode).toBe(503);
401
- expect(webex.request).toBeCalledOnceWith({
402
- method: _types.HTTP_METHODS.DELETE,
403
- uri: "".concat(contactServiceGroupUrl, "/").concat(mockGroupResponse.groupId)
404
- });
405
- expect(warnSpy).toBeCalledTimes(2);
406
- expect(warnSpy).toHaveBeenNthCalledWith(1, "Unable to delete contact group ".concat(mockGroupResponse.groupId), loggerContext);
407
- expect(warnSpy).toHaveBeenNthCalledWith(2, '503 Unable to establish a connection with the server', loggerContext);
408
- expect(contactClient['groups']).toEqual(_contactFixtures.mockContactGroupListOne);
409
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, loggerContext);
410
- case 16:
411
- case "end":
412
- return _context6.stop();
413
- }
414
- }, _callee6);
415
- })));
416
- it('successful deletion of contact group', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
417
- var successResponsePayload, response;
418
- return _regenerator.default.wrap(function _callee7$(_context7) {
419
- while (1) switch (_context7.prev = _context7.next) {
420
- case 0:
421
- successResponsePayload = {
422
- statusCode: 204
423
- };
424
- contactClient['groups'] = [_contactFixtures.mockContactGroupListOne[0]];
425
- webex.request.mockResolvedValue(successResponsePayload);
426
- _context7.next = 5;
427
- return contactClient.deleteContactGroup(_contactFixtures.mockContactGroupListOne[0].groupId);
428
- case 5:
429
- response = _context7.sent;
430
- expect(response.statusCode).toEqual(204);
431
- expect(webex.request).toBeCalledOnceWith({
432
- uri: "".concat(contactServiceGroupUrl, "/").concat(_contactFixtures.mockContactGroupListOne[0].groupId),
433
- method: _types.HTTP_METHODS.DELETE
434
- });
435
- expect(contactClient['groups']).toEqual([]);
436
- case 9:
437
- case "end":
438
- return _context7.stop();
439
- }
440
- }, _callee7);
441
- })));
442
- it('create a contact with an existing group', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
443
- var _res$data$contact, _result$data$contact;
444
- var mockContactResponse, successResponsePayload, logSpy, contact, res, result;
445
- return _regenerator.default.wrap(function _callee8$(_context8) {
446
- while (1) switch (_context8.prev = _context8.next) {
447
- case 0:
448
- mockContactResponse = _contactFixtures.mockContactResponseBodyTwo.contacts[0];
449
- successResponsePayload = {
450
- statusCode: 201,
451
- body: mockContactResponse
452
- };
453
- webex.request.mockResolvedValue(successResponsePayload);
454
- webex.internal.encryption.encryptText.mockResolvedValue('Encrypted contact name');
455
- logSpy = jest.spyOn(_Logger.default, 'info');
456
- contactClient['groups'] = _contactFixtures.mockContactGroupListOne;
457
- contactClient['encryptionKeyUrl'] = _contactFixtures.mockContactGroupListOne[0].encryptionKeyUrl;
458
- contact = _contactFixtures.mockContactListTwo.slice()[0];
459
- contact.groups = [];
460
- _context8.next = 11;
461
- return contactClient.createContact(contact);
462
- case 11:
463
- res = _context8.sent;
464
- expect(res.statusCode).toEqual(201);
465
- expect((_res$data$contact = res.data.contact) === null || _res$data$contact === void 0 ? void 0 : _res$data$contact.contactId).toBe(mockContactResponse.contactId);
466
- expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {
467
- file: _constants2.CONTACTS_FILE,
468
- method: 'createNewEncryptionKeyUrl'
469
- });
470
- expect(logSpy).not.toBeCalledWith('Created a KRO and encryptionKeyUrl', {
471
- file: _constants2.CONTACTS_FILE,
472
- method: 'createNewEncryptionKeyUrl'
473
- });
474
- expect(logSpy).not.toBeCalledWith("Creating a default group: ".concat(_constants2.DEFAULT_GROUP_NAME), {
475
- file: _constants2.CONTACTS_FILE,
476
- method: 'fetchEncryptionKeyUrl'
477
- });
478
- expect(webex.internal.encryption.encryptText).toBeCalledOnceWith(_contactFixtures.mockContactGroupListOne[0].encryptionKeyUrl, contact.displayName);
479
- expect(webex.request).toBeCalledOnceWith({
480
- body: _objectSpread(_objectSpread({}, contact), {}, {
481
- displayName: 'Encrypted contact name',
482
- groups: [_contactFixtures.mockContactGroupListOne[0].groupId],
483
- schemas: _constants2.CONTACTS_SCHEMA
484
- }),
485
- uri: contactServiceUrl,
486
- method: _types.HTTP_METHODS.POST
487
- });
488
- logSpy.mockClear();
489
-
490
- /* for coverage */
491
- _context8.next = 22;
492
- return contactClient.createContact(contact);
493
- case 22:
494
- result = _context8.sent;
495
- expect((_result$data$contact = result.data.contact) === null || _result$data$contact === void 0 ? void 0 : _result$data$contact.contactId).toBe(mockContactResponse.contactId);
496
- expect(logSpy).not.toBeCalledWith("Creating a default group: ".concat(_constants2.DEFAULT_GROUP_NAME), {
497
- file: _constants2.CONTACTS_FILE,
498
- method: 'fetchEncryptionKeyUrl'
499
- });
500
- case 25:
501
- case "end":
502
- return _context8.stop();
503
- }
504
- }, _callee8);
505
- })));
506
- it('create a contact without a group and encryptionKey', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
507
- var _res$data$contact2;
508
- var mockContactResponse, successContactGroupResponsePayload, successContactResponsePayload, contact, res;
509
- return _regenerator.default.wrap(function _callee9$(_context9) {
510
- while (1) switch (_context9.prev = _context9.next) {
511
- case 0:
512
- mockContactResponse = _contactFixtures.mockContactResponseBodyOne.contacts[1];
513
- contactClient['groups'] = [];
514
- contactClient['encryptionKey'] = '';
515
- contactClient['defaultGroupId'] = '';
516
- successContactGroupResponsePayload = {
517
- statusCode: 201,
518
- body: mockGroupResponse
519
- };
520
- successContactResponsePayload = {
521
- statusCode: 201,
522
- body: mockContactResponse
523
- };
524
- webex.request.mockResolvedValueOnce(successContactGroupResponsePayload).mockResolvedValueOnce(successContactResponsePayload);
525
- webex.internal.encryption.kms.createUnboundKeys.mockResolvedValue([_contactFixtures.mockKmsKey]);
526
- webex.internal.encryption.kms.createResource.mockResolvedValue(_contactFixtures.mockKmsKey);
527
- webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');
528
- contact = {
529
- contactType: 'CUSTOM'
530
- };
531
- _context9.next = 13;
532
- return contactClient.createContact(contact);
533
- case 13:
534
- res = _context9.sent;
535
- expect(res.statusCode).toEqual(201);
536
- expect(webex.request).toBeCalledTimes(2);
537
- expect(webex.request).toHaveBeenNthCalledWith(1, {
538
- body: {
539
- displayName: 'Encrypted group name',
540
- encryptionKeyUrl: _contactFixtures.mockKmsKey.uri,
541
- groupType: 'NORMAL',
542
- schemas: _constants2.CONTACTS_SCHEMA
543
- },
544
- uri: contactServiceGroupUrl,
545
- method: _types.HTTP_METHODS.POST
546
- });
547
- expect(webex.request).toHaveBeenNthCalledWith(2, {
548
- body: {
549
- contactType: 'CUSTOM',
550
- encryptionKeyUrl: _contactFixtures.mockKmsKey.uri,
551
- groups: ['1561977e-3443-4ccf-a591-69686275d7d2'],
552
- schemas: _constants2.CONTACTS_SCHEMA
553
- },
554
- method: _types.HTTP_METHODS.POST,
555
- uri: contactServiceUrl
556
- });
557
- expect(webex.internal.encryption.kms.createUnboundKeys).toBeCalledOnceWith({
558
- count: 1
559
- });
560
- expect(webex.internal.encryption.kms.createResource).toBeCalledOnceWith({
561
- keyUris: [_contactFixtures.mockKmsKey.uri]
562
- });
563
- expect((_res$data$contact2 = res.data.contact) === null || _res$data$contact2 === void 0 ? void 0 : _res$data$contact2.contactId).toBe(mockContactResponse.contactId);
564
- case 21:
565
- case "end":
566
- return _context9.stop();
567
- }
568
- }, _callee9);
569
- })));
570
- it('create a cloud contact with no existing groups', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
571
- var _res$data$contact3;
572
- var mockContactResponse, successResponsePayload, successResponsePayloadGroup, contact, res;
573
- return _regenerator.default.wrap(function _callee10$(_context10) {
574
- while (1) switch (_context10.prev = _context10.next) {
575
- case 0:
576
- mockContactResponse = _contactFixtures.mockContactResponseBodyOne.contacts[0];
577
- successResponsePayload = {
578
- statusCode: 201,
579
- body: mockContactResponse
580
- };
581
- successResponsePayloadGroup = {
582
- statusCode: 201,
583
- body: _contactFixtures.mockContactResponseBodyOne.groups[0]
584
- };
585
- webex.request.mockResolvedValueOnce(successResponsePayloadGroup).mockResolvedValueOnce(successResponsePayload);
586
- webex.internal.encryption.encryptText.mockResolvedValueOnce('Encrypted group name');
587
- contactClient['groups'] = [];
588
- contactClient['encryptionKeyUrl'] = _contactFixtures.mockContactResponseBodyOne.groups[0].encryptionKeyUrl;
589
- contact = {
590
- contactType: 'CLOUD'
591
- };
592
- contact.groups = [];
593
- _context10.next = 11;
594
- return contactClient.createContact(contact);
595
- case 11:
596
- res = _context10.sent;
597
- expect(res.statusCode).toEqual(400);
598
- expect(res.data.error).toEqual('contactId is required for contactType:CLOUD.');
599
- webex.internal.dss.lookup.mockResolvedValueOnce(_contactFixtures.mockDSSResponse);
600
- contact.contactId = mockContactResponse.contactId;
601
- _context10.next = 18;
602
- return contactClient.createContact(contact);
603
- case 18:
604
- res = _context10.sent;
605
- expect(res.statusCode).toEqual(201);
606
- expect((_res$data$contact3 = res.data.contact) === null || _res$data$contact3 === void 0 ? void 0 : _res$data$contact3.contactId).toBe(mockContactResponse.contactId);
607
- expect(webex.request).toBeCalledTimes(2);
608
- expect(webex.request).toHaveBeenNthCalledWith(1, {
609
- method: _types.HTTP_METHODS.POST,
610
- uri: contactServiceGroupUrl,
611
- body: {
612
- displayName: 'Encrypted group name',
613
- groupType: 'NORMAL',
614
- encryptionKeyUrl: _contactFixtures.mockContactResponseBodyOne.groups[0].encryptionKeyUrl,
615
- schemas: _constants2.CONTACTS_SCHEMA
616
- }
617
- });
618
- expect(webex.request).toHaveBeenNthCalledWith(2, {
619
- method: _types.HTTP_METHODS.POST,
620
- uri: contactServiceUrl,
621
- body: {
622
- contactId: mockContactResponse.contactId,
623
- contactType: 'CLOUD',
624
- encryptionKeyUrl: _contactFixtures.mockContactResponseBodyOne.groups[0].encryptionKeyUrl,
625
- schemas: _constants2.CONTACTS_SCHEMA,
626
- groups: ['1561977e-3443-4ccf-a591-69686275d7d2']
627
- }
628
- });
629
- case 24:
630
- case "end":
631
- return _context10.stop();
632
- }
633
- }, _callee10);
634
- })));
635
- it('create a contact - service unavailable', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
636
- var contact, res;
637
- return _regenerator.default.wrap(function _callee11$(_context11) {
638
- while (1) switch (_context11.prev = _context11.next) {
639
- case 0:
640
- webex.request.mockRejectedValue(failureResponsePayload);
641
- contactClient['groups'] = _contactFixtures.mockContactGroupListOne.slice();
642
- contactClient['encryptionKeyUrl'] = _contactFixtures.mockContactResponseBodyOne.groups[0].encryptionKeyUrl;
643
- contact = {
644
- contactType: 'CLOUD',
645
- contactId: '801bb994-343b-4f6b-97ae-d13c91d4b877'
646
- };
647
- _context11.next = 6;
648
- return contactClient.createContact(contact);
649
- case 6:
650
- res = _context11.sent;
651
- expect(webex.request).toBeCalledOnceWith({
652
- uri: contactServiceUrl,
653
- method: _types.HTTP_METHODS.POST,
654
- body: _objectSpread(_objectSpread({}, contact), {}, {
655
- encryptionKeyUrl: _contactFixtures.mockContactResponseBodyOne.groups[0].encryptionKeyUrl,
656
- groups: [_contactFixtures.mockContactGroupListOne[0].groupId],
657
- schemas: _constants2.CONTACTS_SCHEMA
658
- })
659
- });
660
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {
661
- file: _constants2.CONTACTS_FILE,
662
- method: 'createContact'
663
- });
664
- expect(res.statusCode).toEqual(503);
665
- case 10:
666
- case "end":
667
- return _context11.stop();
668
- }
669
- }, _callee11);
670
- })));
671
- it('successful deletion of contacts', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
672
- var successResponsePayload, response;
673
- return _regenerator.default.wrap(function _callee12$(_context12) {
674
- while (1) switch (_context12.prev = _context12.next) {
675
- case 0:
676
- successResponsePayload = {
677
- statusCode: 204
678
- };
679
- contactClient['contacts'] = [_contactFixtures.mockContactListOne[0]];
680
- webex.request.mockResolvedValue(successResponsePayload);
681
- _context12.next = 5;
682
- return contactClient.deleteContact(_contactFixtures.mockContactListOne[0].contactId);
683
- case 5:
684
- response = _context12.sent;
685
- expect(response.statusCode).toEqual(204);
686
- expect(webex.request).toBeCalledOnceWith({
687
- uri: "".concat(contactServiceUrl, "/").concat(_contactFixtures.mockContactListOne[0].contactId),
688
- method: _types.HTTP_METHODS.DELETE
689
- });
690
- expect(contactClient['contacts']).toEqual([]);
691
- case 9:
692
- case "end":
693
- return _context12.stop();
694
- }
695
- }, _callee12);
696
- })));
697
- it('delete a contact - service unavailable', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
698
- var response;
699
- return _regenerator.default.wrap(function _callee13$(_context13) {
700
- while (1) switch (_context13.prev = _context13.next) {
701
- case 0:
702
- contactClient['contacts'] = _contactFixtures.mockContactListOne;
703
- webex.request.mockRejectedValue(failureResponsePayload);
704
- _context13.next = 4;
705
- return contactClient.deleteContact(_contactFixtures.mockContactListOne[0].contactId);
706
- case 4:
707
- response = _context13.sent;
708
- expect(response.statusCode).toEqual(503);
709
- expect(webex.request).toBeCalledOnceWith({
710
- uri: "".concat(contactServiceUrl, "/").concat(_contactFixtures.mockContactListOne[0].contactId),
711
- method: _types.HTTP_METHODS.DELETE
712
- });
713
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(failureResponsePayload, {
714
- file: _constants2.CONTACTS_FILE,
715
- method: 'deleteContact'
716
- });
717
- expect(contactClient['contacts']).toEqual(_contactFixtures.mockContactListOne);
718
- case 9:
719
- case "end":
720
- return _context13.stop();
721
- }
722
- }, _callee13);
723
- })));
724
- });
725
- //# sourceMappingURL=ContactsClient.test.js.map