@webex/plugin-meetings 2.59.2 → 2.59.3-next.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.
Files changed (418) hide show
  1. package/.eslintrc.js +6 -6
  2. package/LICENSE +1 -1
  3. package/README.md +1204 -1204
  4. package/UPGRADING.md +287 -287
  5. package/babel.config.js +3 -3
  6. package/browsers.js +108 -108
  7. package/dist/common/browser-detection.d.ts +9 -9
  8. package/dist/common/browser-detection.js.map +1 -1
  9. package/dist/common/collection.d.ts +48 -48
  10. package/dist/common/collection.js +43 -43
  11. package/dist/common/collection.js.map +1 -1
  12. package/dist/common/config.d.ts +2 -2
  13. package/dist/common/config.js.map +1 -1
  14. package/dist/common/errors/captcha-error.d.ts +15 -15
  15. package/dist/common/errors/captcha-error.js +7 -7
  16. package/dist/common/errors/captcha-error.js.map +1 -1
  17. package/dist/common/errors/intent-to-join.d.ts +16 -16
  18. package/dist/common/errors/intent-to-join.js +7 -7
  19. package/dist/common/errors/intent-to-join.js.map +1 -1
  20. package/dist/common/errors/join-meeting.d.ts +17 -17
  21. package/dist/common/errors/join-meeting.js +8 -8
  22. package/dist/common/errors/join-meeting.js.map +1 -1
  23. package/dist/common/errors/media.d.ts +15 -15
  24. package/dist/common/errors/media.js +7 -7
  25. package/dist/common/errors/media.js.map +1 -1
  26. package/dist/common/errors/parameter.d.ts +15 -15
  27. package/dist/common/errors/parameter.js +7 -7
  28. package/dist/common/errors/parameter.js.map +1 -1
  29. package/dist/common/errors/password-error.d.ts +15 -15
  30. package/dist/common/errors/password-error.js +7 -7
  31. package/dist/common/errors/password-error.js.map +1 -1
  32. package/dist/common/errors/permission.d.ts +14 -14
  33. package/dist/common/errors/permission.js +6 -6
  34. package/dist/common/errors/permission.js.map +1 -1
  35. package/dist/common/errors/reconnection-in-progress.d.ts +9 -9
  36. package/dist/common/errors/reconnection-in-progress.js +6 -6
  37. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  38. package/dist/common/errors/reconnection.d.ts +15 -15
  39. package/dist/common/errors/reconnection.js +7 -7
  40. package/dist/common/errors/reconnection.js.map +1 -1
  41. package/dist/common/errors/stats.d.ts +15 -15
  42. package/dist/common/errors/stats.js +7 -7
  43. package/dist/common/errors/stats.js.map +1 -1
  44. package/dist/common/errors/webex-errors.d.ts +81 -81
  45. package/dist/common/errors/webex-errors.js +42 -42
  46. package/dist/common/errors/webex-errors.js.map +1 -1
  47. package/dist/common/errors/webex-meetings-error.d.ts +20 -20
  48. package/dist/common/errors/webex-meetings-error.js +12 -12
  49. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  50. package/dist/common/events/events-scope.d.ts +17 -17
  51. package/dist/common/events/events-scope.js +10 -10
  52. package/dist/common/events/events-scope.js.map +1 -1
  53. package/dist/common/events/events.d.ts +12 -12
  54. package/dist/common/events/events.js +4 -4
  55. package/dist/common/events/events.js.map +1 -1
  56. package/dist/common/events/trigger-proxy.d.ts +2 -2
  57. package/dist/common/events/trigger-proxy.js.map +1 -1
  58. package/dist/common/events/util.d.ts +2 -2
  59. package/dist/common/events/util.js.map +1 -1
  60. package/dist/common/logs/logger-config.d.ts +2 -2
  61. package/dist/common/logs/logger-config.js.map +1 -1
  62. package/dist/common/logs/logger-proxy.d.ts +2 -2
  63. package/dist/common/logs/logger-proxy.js.map +1 -1
  64. package/dist/common/logs/request.d.ts +34 -34
  65. package/dist/common/logs/request.js +18 -18
  66. package/dist/common/logs/request.js.map +1 -1
  67. package/dist/common/queue.d.ts +32 -32
  68. package/dist/common/queue.js +18 -18
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.d.ts +73 -73
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.d.ts +924 -924
  73. package/dist/constants.js +9 -9
  74. package/dist/constants.js.map +1 -1
  75. package/dist/controls-options-manager/constants.d.ts +4 -4
  76. package/dist/controls-options-manager/constants.js.map +1 -1
  77. package/dist/controls-options-manager/enums.d.ts +5 -5
  78. package/dist/controls-options-manager/enums.js.map +1 -1
  79. package/dist/controls-options-manager/index.d.ts +120 -120
  80. package/dist/controls-options-manager/index.js +81 -81
  81. package/dist/controls-options-manager/index.js.map +1 -1
  82. package/dist/controls-options-manager/util.d.ts +7 -7
  83. package/dist/controls-options-manager/util.js.map +1 -1
  84. package/dist/index.d.ts +4 -4
  85. package/dist/index.js.map +1 -1
  86. package/dist/locus-info/controlsUtils.d.ts +2 -2
  87. package/dist/locus-info/controlsUtils.js +21 -21
  88. package/dist/locus-info/controlsUtils.js.map +1 -1
  89. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -2
  90. package/dist/locus-info/embeddedAppsUtils.js +14 -14
  91. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  92. package/dist/locus-info/fullState.d.ts +2 -2
  93. package/dist/locus-info/fullState.js.map +1 -1
  94. package/dist/locus-info/hostUtils.d.ts +2 -2
  95. package/dist/locus-info/hostUtils.js +19 -19
  96. package/dist/locus-info/hostUtils.js.map +1 -1
  97. package/dist/locus-info/index.d.ts +269 -269
  98. package/dist/locus-info/index.js +180 -180
  99. package/dist/locus-info/index.js.map +1 -1
  100. package/dist/locus-info/infoUtils.d.ts +2 -2
  101. package/dist/locus-info/infoUtils.js.map +1 -1
  102. package/dist/locus-info/mediaSharesUtils.d.ts +2 -2
  103. package/dist/locus-info/mediaSharesUtils.js +50 -50
  104. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  105. package/dist/locus-info/parser.d.ts +212 -212
  106. package/dist/locus-info/parser.js +136 -136
  107. package/dist/locus-info/parser.js.map +1 -1
  108. package/dist/locus-info/selfUtils.d.ts +2 -2
  109. package/dist/locus-info/selfUtils.js +52 -52
  110. package/dist/locus-info/selfUtils.js.map +1 -1
  111. package/dist/media/index.d.ts +32 -32
  112. package/dist/media/index.js +145 -145
  113. package/dist/media/index.js.map +1 -1
  114. package/dist/media/properties.d.ts +108 -108
  115. package/dist/media/properties.js +49 -49
  116. package/dist/media/properties.js.map +1 -1
  117. package/dist/media/util.d.ts +2 -2
  118. package/dist/media/util.js.map +1 -1
  119. package/dist/mediaQualityMetrics/config.d.ts +233 -233
  120. package/dist/mediaQualityMetrics/config.js.map +1 -1
  121. package/dist/meeting/effectsState.d.ts +42 -42
  122. package/dist/meeting/effectsState.js +24 -24
  123. package/dist/meeting/effectsState.js.map +1 -1
  124. package/dist/meeting/in-meeting-actions.d.ts +79 -79
  125. package/dist/meeting/in-meeting-actions.js +11 -11
  126. package/dist/meeting/in-meeting-actions.js.map +1 -1
  127. package/dist/meeting/index.d.ts +1621 -1621
  128. package/dist/meeting/index.js +1502 -1505
  129. package/dist/meeting/index.js.map +1 -1
  130. package/dist/meeting/muteState.d.ts +116 -116
  131. package/dist/meeting/muteState.js +85 -85
  132. package/dist/meeting/muteState.js.map +1 -1
  133. package/dist/meeting/request.d.ts +255 -255
  134. package/dist/meeting/request.js +141 -141
  135. package/dist/meeting/request.js.map +1 -1
  136. package/dist/meeting/state.d.ts +9 -9
  137. package/dist/meeting/state.js +30 -30
  138. package/dist/meeting/state.js.map +1 -1
  139. package/dist/meeting/util.d.ts +2 -2
  140. package/dist/meeting/util.js.map +1 -1
  141. package/dist/meeting-info/collection.d.ts +20 -20
  142. package/dist/meeting-info/collection.js +11 -11
  143. package/dist/meeting-info/collection.js.map +1 -1
  144. package/dist/meeting-info/index.d.ts +57 -57
  145. package/dist/meeting-info/index.js +50 -50
  146. package/dist/meeting-info/index.js.map +1 -1
  147. package/dist/meeting-info/meeting-info-v2.d.ts +93 -93
  148. package/dist/meeting-info/meeting-info-v2.js +52 -52
  149. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  150. package/dist/meeting-info/request.d.ts +22 -22
  151. package/dist/meeting-info/request.js +14 -14
  152. package/dist/meeting-info/request.js.map +1 -1
  153. package/dist/meeting-info/util.d.ts +2 -2
  154. package/dist/meeting-info/util.js +9 -9
  155. package/dist/meeting-info/util.js.map +1 -1
  156. package/dist/meeting-info/utilv2.d.ts +2 -2
  157. package/dist/meeting-info/utilv2.js +20 -20
  158. package/dist/meeting-info/utilv2.js.map +1 -1
  159. package/dist/meetings/collection.d.ts +23 -23
  160. package/dist/meetings/collection.js +14 -14
  161. package/dist/meetings/collection.js.map +1 -1
  162. package/dist/meetings/index.d.ts +296 -296
  163. package/dist/meetings/index.js +259 -259
  164. package/dist/meetings/index.js.map +1 -1
  165. package/dist/meetings/request.d.ts +27 -27
  166. package/dist/meetings/request.js +15 -15
  167. package/dist/meetings/request.js.map +1 -1
  168. package/dist/meetings/util.d.ts +18 -18
  169. package/dist/meetings/util.js +29 -29
  170. package/dist/meetings/util.js.map +1 -1
  171. package/dist/member/index.d.ts +147 -147
  172. package/dist/member/index.js +214 -214
  173. package/dist/member/index.js.map +1 -1
  174. package/dist/member/member.types.d.ts +11 -11
  175. package/dist/member/member.types.js.map +1 -1
  176. package/dist/member/util.d.ts +2 -2
  177. package/dist/member/util.js +60 -60
  178. package/dist/member/util.js.map +1 -1
  179. package/dist/members/collection.d.ts +24 -24
  180. package/dist/members/collection.js +11 -11
  181. package/dist/members/collection.js.map +1 -1
  182. package/dist/members/index.d.ts +298 -298
  183. package/dist/members/index.js +275 -275
  184. package/dist/members/index.js.map +1 -1
  185. package/dist/members/request.d.ts +50 -50
  186. package/dist/members/request.js +27 -27
  187. package/dist/members/request.js.map +1 -1
  188. package/dist/members/util.d.ts +2 -2
  189. package/dist/members/util.js +21 -21
  190. package/dist/members/util.js.map +1 -1
  191. package/dist/metrics/config.d.ts +169 -169
  192. package/dist/metrics/config.js.map +1 -1
  193. package/dist/metrics/constants.d.ts +57 -57
  194. package/dist/metrics/constants.js.map +1 -1
  195. package/dist/metrics/index.d.ts +152 -152
  196. package/dist/metrics/index.js +90 -90
  197. package/dist/metrics/index.js.map +1 -1
  198. package/dist/networkQualityMonitor/index.d.ts +70 -70
  199. package/dist/networkQualityMonitor/index.js +65 -65
  200. package/dist/networkQualityMonitor/index.js.map +1 -1
  201. package/dist/peer-connection-manager/index.d.ts +6 -6
  202. package/dist/peer-connection-manager/index.js +87 -87
  203. package/dist/peer-connection-manager/index.js.map +1 -1
  204. package/dist/peer-connection-manager/util.d.ts +6 -6
  205. package/dist/peer-connection-manager/util.js +9 -9
  206. package/dist/peer-connection-manager/util.js.map +1 -1
  207. package/dist/personal-meeting-room/index.d.ts +47 -47
  208. package/dist/personal-meeting-room/index.js +67 -67
  209. package/dist/personal-meeting-room/index.js.map +1 -1
  210. package/dist/personal-meeting-room/request.d.ts +14 -14
  211. package/dist/personal-meeting-room/request.js +7 -7
  212. package/dist/personal-meeting-room/request.js.map +1 -1
  213. package/dist/personal-meeting-room/util.d.ts +2 -2
  214. package/dist/personal-meeting-room/util.js.map +1 -1
  215. package/dist/reachability/index.d.ts +139 -139
  216. package/dist/reachability/index.js +110 -110
  217. package/dist/reachability/index.js.map +1 -1
  218. package/dist/reachability/request.d.ts +35 -35
  219. package/dist/reachability/request.js +15 -15
  220. package/dist/reachability/request.js.map +1 -1
  221. package/dist/reactions/reactions.d.ts +4 -4
  222. package/dist/reactions/reactions.js.map +1 -1
  223. package/dist/reactions/reactions.type.d.ts +32 -32
  224. package/dist/reactions/reactions.type.js.map +1 -1
  225. package/dist/reconnection-manager/index.d.ts +112 -112
  226. package/dist/reconnection-manager/index.js +112 -112
  227. package/dist/reconnection-manager/index.js.map +1 -1
  228. package/dist/recording-controller/enums.d.ts +7 -7
  229. package/dist/recording-controller/enums.js.map +1 -1
  230. package/dist/recording-controller/index.d.ts +193 -193
  231. package/dist/recording-controller/index.js +127 -127
  232. package/dist/recording-controller/index.js.map +1 -1
  233. package/dist/recording-controller/util.d.ts +13 -13
  234. package/dist/recording-controller/util.js.map +1 -1
  235. package/dist/roap/collection.d.ts +10 -10
  236. package/dist/roap/collection.js.map +1 -1
  237. package/dist/roap/handler.d.ts +47 -47
  238. package/dist/roap/handler.js +27 -27
  239. package/dist/roap/handler.js.map +1 -1
  240. package/dist/roap/index.d.ts +116 -116
  241. package/dist/roap/index.js +111 -111
  242. package/dist/roap/index.js.map +1 -1
  243. package/dist/roap/request.d.ts +35 -35
  244. package/dist/roap/request.js +17 -17
  245. package/dist/roap/request.js.map +1 -1
  246. package/dist/roap/state.d.ts +9 -9
  247. package/dist/roap/state.js +14 -14
  248. package/dist/roap/state.js.map +1 -1
  249. package/dist/roap/turnDiscovery.d.ts +67 -67
  250. package/dist/roap/turnDiscovery.js +46 -46
  251. package/dist/roap/turnDiscovery.js.map +1 -1
  252. package/dist/roap/util.d.ts +2 -2
  253. package/dist/roap/util.js.map +1 -1
  254. package/dist/statsAnalyzer/global.d.ts +126 -116
  255. package/dist/statsAnalyzer/global.js +10 -0
  256. package/dist/statsAnalyzer/global.js.map +1 -1
  257. package/dist/statsAnalyzer/index.d.ts +190 -191
  258. package/dist/statsAnalyzer/index.js +137 -139
  259. package/dist/statsAnalyzer/index.js.map +1 -1
  260. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -22
  261. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  262. package/dist/transcription/index.d.ts +64 -64
  263. package/dist/transcription/index.js +42 -42
  264. package/dist/transcription/index.js.map +1 -1
  265. package/internal-README.md +172 -172
  266. package/jest.config.js +3 -3
  267. package/package.json +22 -21
  268. package/process +1 -1
  269. package/src/common/browser-detection.ts +39 -39
  270. package/src/common/collection.ts +94 -94
  271. package/src/common/config.ts +9 -9
  272. package/src/common/errors/captcha-error.ts +25 -25
  273. package/src/common/errors/intent-to-join.ts +27 -27
  274. package/src/common/errors/join-meeting.ts +32 -32
  275. package/src/common/errors/media.ts +25 -25
  276. package/src/common/errors/parameter.ts +33 -33
  277. package/src/common/errors/password-error.ts +25 -25
  278. package/src/common/errors/permission.ts +24 -24
  279. package/src/common/errors/reconnection-in-progress.ts +8 -8
  280. package/src/common/errors/reconnection.ts +25 -25
  281. package/src/common/errors/stats.ts +25 -25
  282. package/src/common/errors/webex-errors.ts +140 -140
  283. package/src/common/errors/webex-meetings-error.ts +35 -35
  284. package/src/common/events/events-scope.ts +30 -30
  285. package/src/common/events/events.ts +25 -25
  286. package/src/common/events/trigger-proxy.ts +25 -25
  287. package/src/common/events/util.ts +39 -39
  288. package/src/common/logs/logger-config.ts +8 -8
  289. package/src/common/logs/logger-proxy.ts +44 -44
  290. package/src/common/logs/request.ts +65 -65
  291. package/src/common/queue.ts +50 -50
  292. package/src/config.ts +96 -96
  293. package/src/constants.ts +1121 -1121
  294. package/src/controls-options-manager/constants.ts +5 -5
  295. package/src/controls-options-manager/enums.ts +6 -6
  296. package/src/controls-options-manager/index.ts +183 -183
  297. package/src/controls-options-manager/util.ts +20 -20
  298. package/src/index.js +15 -15
  299. package/src/locus-info/controlsUtils.ts +112 -112
  300. package/src/locus-info/embeddedAppsUtils.ts +57 -57
  301. package/src/locus-info/fullState.ts +69 -69
  302. package/src/locus-info/hostUtils.ts +60 -60
  303. package/src/locus-info/index.ts +1303 -1303
  304. package/src/locus-info/infoUtils.ts +101 -101
  305. package/src/locus-info/mediaSharesUtils.ts +173 -173
  306. package/src/locus-info/parser.ts +680 -680
  307. package/src/locus-info/selfUtils.ts +428 -428
  308. package/src/media/index.ts +675 -675
  309. package/src/media/properties.ts +313 -313
  310. package/src/media/util.ts +37 -37
  311. package/src/mediaQualityMetrics/config.ts +382 -382
  312. package/src/meeting/effectsState.ts +209 -209
  313. package/src/meeting/in-meeting-actions.ts +153 -153
  314. package/src/meeting/index.ts +6537 -6543
  315. package/src/meeting/muteState.ts +365 -365
  316. package/src/meeting/request.ts +810 -810
  317. package/src/meeting/state.ts +194 -194
  318. package/src/meeting/util.ts +530 -530
  319. package/src/meeting-info/collection.ts +41 -41
  320. package/src/meeting-info/index.ts +137 -137
  321. package/src/meeting-info/meeting-info-v2.ts +273 -273
  322. package/src/meeting-info/request.ts +46 -46
  323. package/src/meeting-info/util.ts +314 -314
  324. package/src/meeting-info/utilv2.ts +324 -324
  325. package/src/meetings/collection.ts +43 -43
  326. package/src/meetings/index.ts +1128 -1128
  327. package/src/meetings/request.ts +81 -81
  328. package/src/meetings/util.ts +181 -181
  329. package/src/member/index.ts +446 -446
  330. package/src/member/member.types.ts +13 -13
  331. package/src/member/util.ts +286 -286
  332. package/src/members/collection.ts +40 -40
  333. package/src/members/index.ts +900 -900
  334. package/src/members/request.ts +175 -175
  335. package/src/members/util.ts +260 -260
  336. package/src/metrics/config.ts +485 -485
  337. package/src/metrics/constants.ts +61 -61
  338. package/src/metrics/index.ts +543 -543
  339. package/src/networkQualityMonitor/index.ts +211 -211
  340. package/src/peer-connection-manager/index.ts +847 -847
  341. package/src/peer-connection-manager/util.ts +119 -119
  342. package/src/personal-meeting-room/index.ts +157 -157
  343. package/src/personal-meeting-room/request.ts +48 -48
  344. package/src/personal-meeting-room/util.ts +49 -49
  345. package/src/reachability/index.ts +478 -478
  346. package/src/reachability/request.ts +81 -81
  347. package/src/reactions/reactions.ts +104 -104
  348. package/src/reactions/reactions.type.ts +36 -36
  349. package/src/reconnection-manager/index.ts +622 -622
  350. package/src/recording-controller/enums.ts +8 -8
  351. package/src/recording-controller/index.ts +315 -315
  352. package/src/recording-controller/util.ts +58 -58
  353. package/src/roap/collection.ts +62 -62
  354. package/src/roap/handler.ts +294 -294
  355. package/src/roap/index.ts +413 -413
  356. package/src/roap/request.ts +229 -229
  357. package/src/roap/state.ts +156 -156
  358. package/src/roap/turnDiscovery.ts +283 -283
  359. package/src/roap/util.ts +100 -100
  360. package/src/statsAnalyzer/global.ts +128 -118
  361. package/src/statsAnalyzer/index.ts +1266 -1265
  362. package/src/statsAnalyzer/mqaUtil.ts +290 -290
  363. package/src/transcription/index.ts +154 -154
  364. package/test/integration/spec/journey.js +941 -941
  365. package/test/integration/spec/space-meeting.js +457 -457
  366. package/test/integration/spec/transcription.js +55 -55
  367. package/test/unit/spec/common/browser-detection.js +119 -119
  368. package/test/unit/spec/common/queue.js +69 -69
  369. package/test/unit/spec/controls-options-manager/index.js +123 -123
  370. package/test/unit/spec/controls-options-manager/util.js +65 -65
  371. package/test/unit/spec/fixture/locus.js +406 -406
  372. package/test/unit/spec/locus-info/controlsUtils.js +82 -82
  373. package/test/unit/spec/locus-info/embeddedAppsUtils.js +104 -104
  374. package/test/unit/spec/locus-info/index.js +1272 -1272
  375. package/test/unit/spec/locus-info/infoUtils.js +138 -138
  376. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +975 -975
  377. package/test/unit/spec/locus-info/lib/SeqCmp.json +522 -522
  378. package/test/unit/spec/locus-info/lib/selfConstant.js +286 -286
  379. package/test/unit/spec/locus-info/parser.js +298 -298
  380. package/test/unit/spec/locus-info/selfUtils.js +185 -185
  381. package/test/unit/spec/media/properties.ts +305 -305
  382. package/test/unit/spec/meeting/effectsState.js +281 -281
  383. package/test/unit/spec/meeting/in-meeting-actions.ts +90 -90
  384. package/test/unit/spec/meeting/index.js +5227 -5227
  385. package/test/unit/spec/meeting/muteState.js +430 -430
  386. package/test/unit/spec/meeting/request.js +317 -317
  387. package/test/unit/spec/meeting/utils.js +319 -319
  388. package/test/unit/spec/meeting-info/meetinginfov2.js +376 -376
  389. package/test/unit/spec/meeting-info/request.js +64 -64
  390. package/test/unit/spec/meeting-info/util.js +37 -37
  391. package/test/unit/spec/meeting-info/utilv2.js +330 -330
  392. package/test/unit/spec/meetings/collection.js +52 -52
  393. package/test/unit/spec/meetings/index.js +1375 -1375
  394. package/test/unit/spec/meetings/utils.js +66 -66
  395. package/test/unit/spec/member/index.js +47 -47
  396. package/test/unit/spec/member/util.js +80 -80
  397. package/test/unit/spec/members/index.js +364 -364
  398. package/test/unit/spec/members/request.js +200 -200
  399. package/test/unit/spec/members/utils.js +42 -42
  400. package/test/unit/spec/metrics/index.js +111 -111
  401. package/test/unit/spec/networkQualityMonitor/index.js +99 -99
  402. package/test/unit/spec/peerconnection-manager/index.js +218 -218
  403. package/test/unit/spec/peerconnection-manager/utils.js +49 -49
  404. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -388
  405. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +29 -29
  406. package/test/unit/spec/reachability/index.ts +50 -50
  407. package/test/unit/spec/reconnection-manager/index.js +206 -206
  408. package/test/unit/spec/recording-controller/index.js +230 -230
  409. package/test/unit/spec/recording-controller/util.js +101 -101
  410. package/test/unit/spec/roap/index.ts +128 -128
  411. package/test/unit/spec/roap/turnDiscovery.ts +372 -372
  412. package/test/unit/spec/roap/util.js +30 -30
  413. package/test/unit/spec/stats-analyzer/index.js +287 -355
  414. package/test/utils/cmr.js +104 -104
  415. package/test/utils/testUtils.js +287 -287
  416. package/test/utils/webex-config.js +77 -77
  417. package/test/utils/webex-test-users.js +82 -82
  418. package/tsconfig.json +5 -5
@@ -1,330 +1,330 @@
1
- /*!
2
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- import {assert, expect} from '@webex/test-helper-chai';
6
- import sinon from 'sinon';
7
- import {
8
- _MEETING_ID_,
9
- _SIP_URI_,
10
- _CONVERSATION_URL_,
11
- _MEETING_LINK_,
12
- _PERSONAL_ROOM_,
13
- _LOCUS_ID_,
14
- _MEETING_UUID_,
15
- } from '@webex/plugin-meetings/src/constants';
16
- import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
17
- import LoggerProxy from '@webex/plugin-meetings/src/common/logs/logger-proxy';
18
- import LoggerConfig from '@webex/plugin-meetings/src/common/logs/logger-config';
19
-
20
- describe('plugin-meetings', () => {
21
- const logger = {
22
- log: () => {},
23
- error: () => {},
24
- warn: () => {},
25
- trace: () => {},
26
- debug: () => {},
27
- };
28
-
29
- beforeEach(() => {
30
- LoggerConfig.set({verboseEvents: true, enable: false});
31
- LoggerProxy.set(logger);
32
- });
33
-
34
- describe('Meeting Info Utils V2', () => {
35
- beforeEach(() => {
36
- MeetingInfoUtil.getHydraId = sinon.stub().returns(false);
37
- });
38
-
39
- describe('#getDestinationType', () => {
40
- it('For destination with type', async () => {
41
- const res = await MeetingInfoUtil.getDestinationType({
42
- type: _MEETING_ID_,
43
- destination: '1234323',
44
- });
45
-
46
- assert.equal(res.type, _MEETING_ID_);
47
- assert.equal(res.destination, '1234323');
48
- });
49
-
50
- it('for meeting link', async () => {
51
- const res = await MeetingInfoUtil.getDestinationType({
52
- destination: 'https://cisco.webex.com/meet/arungane',
53
- });
54
-
55
- assert.equal(res.type, _MEETING_LINK_);
56
- assert.equal(res.destination, 'https://cisco.webex.com/meet/arungane');
57
- });
58
-
59
- it('for sip url', async () => {
60
- const res = await MeetingInfoUtil.getDestinationType({
61
- destination: 'testing@webex.com',
62
- });
63
-
64
- assert.equal(res.type, _SIP_URI_);
65
- assert.equal(res.destination, 'testing@webex.com');
66
- });
67
-
68
- it('for phone number', async () => {
69
- const res = await MeetingInfoUtil.getDestinationType({
70
- destination: '+14252086070',
71
- });
72
-
73
- assert.equal(res.type, _SIP_URI_);
74
- assert.equal(res.destination, '+14252086070');
75
- });
76
-
77
- it('for conversation url ', async () => {
78
- MeetingInfoUtil.isConversationUrl = sinon.stub().returns(true);
79
- const res = await MeetingInfoUtil.getDestinationType({
80
- destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
81
- });
82
-
83
- assert.equal(res.type, _CONVERSATION_URL_);
84
- assert.equal(
85
- res.destination,
86
- 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280'
87
- );
88
- });
89
-
90
- describe('PMR', () => {
91
- const mockedListReturn = {
92
- userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
93
- orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
94
- };
95
- const mockedList = {
96
- items: [
97
- {
98
- id: 'Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wMTgyNGI5Yi1hZGVmLTRiMTAtYjVjMS04YTJmZTJmYjdjMGU',
99
- orgId:
100
- 'Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY',
101
- },
102
- ],
103
- };
104
-
105
- it('should return a userID and orgID without passing a destination', async () => {
106
- const res = await MeetingInfoUtil.getDestinationType({
107
- type: _PERSONAL_ROOM_,
108
- webex: {
109
- internal: {
110
- device: {
111
- userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
112
- orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
113
- },
114
- },
115
- },
116
- });
117
-
118
- expect(res.destination.userId).to.equal('01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e');
119
- expect(res.destination.orgId).to.equal('1eb65fdf-9643-417f-9974-ad72cae0e10f');
120
- });
121
-
122
- it('should return a userID and orgID when passing an email', async () => {
123
- const res = await MeetingInfoUtil.getDestinationType({
124
- type: _PERSONAL_ROOM_,
125
- destination: 'amritesi@cisco.com',
126
- webex: {
127
- people: {list: sinon.stub().returns(mockedList)},
128
- },
129
- });
130
- const {orgId, userId} = res.destination;
131
-
132
- expect(userId).to.equal(mockedListReturn.userId);
133
- expect(orgId).to.equal(mockedListReturn.orgId);
134
- });
135
-
136
- it('should return a userID and orgID when passing an id', async () => {
137
- const res = await MeetingInfoUtil.getDestinationType({
138
- type: _PERSONAL_ROOM_,
139
- destination: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
140
- webex: {
141
- people: {list: sinon.stub().returns(mockedList)},
142
- },
143
- });
144
- const {orgId, userId} = res.destination;
145
-
146
- expect(userId).to.equal(mockedListReturn.userId);
147
- expect(orgId).to.equal(mockedListReturn.orgId);
148
- });
149
- });
150
- });
151
-
152
- describe('#getRequestBody', () => {
153
- it('for _PERSONAL_ROOM_', () => {
154
- const res = MeetingInfoUtil.getRequestBody({
155
- type: _PERSONAL_ROOM_,
156
- destination: {
157
- userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
158
- orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
159
- },
160
- });
161
-
162
- assert.equal(res.orgId, '1eb65fdf-9643-417f-9974-ad72cae0e10f');
163
- assert.equal(res.userId, '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e');
164
- });
165
-
166
- it('for _MEETING_ID_', () => {
167
- const res = MeetingInfoUtil.getRequestBody({
168
- type: _MEETING_ID_,
169
- destination: '1234323',
170
- });
171
-
172
- assert.equal(res.meetingKey, '1234323');
173
- });
174
-
175
- it('for _MEETING_LINK_', () => {
176
- const res = MeetingInfoUtil.getRequestBody({
177
- type: _MEETING_LINK_,
178
- destination: 'https://cisco.webex.com/meet/arungane',
179
- });
180
-
181
- assert.equal(res.meetingUrl, 'https://cisco.webex.com/meet/arungane');
182
- });
183
-
184
- it('for _SIP_URI_', () => {
185
- const res = MeetingInfoUtil.getRequestBody({
186
- type: _SIP_URI_,
187
- destination: 'testing@webex.com',
188
- });
189
-
190
- assert.equal(res.sipUrl, 'testing@webex.com');
191
- });
192
-
193
- it('for _MEETING_UUID_', () => {
194
- const res = MeetingInfoUtil.getRequestBody({
195
- type: _MEETING_UUID_,
196
- destination: 'xsddsdsdsdssdsdsdsdsd',
197
- });
198
-
199
- assert.equal(res.meetingUUID, 'xsddsdsdsdssdsdsdsdsd');
200
- });
201
-
202
- it('for _LOCUS_ID_', () => {
203
- const res = MeetingInfoUtil.getRequestBody({
204
- type: _LOCUS_ID_,
205
- destination: {info: {webExMeetingId: '123456'}},
206
- });
207
-
208
- assert.equal(res.meetingKey, '123456');
209
- });
210
-
211
- it('for _CONVERSATION_URL_', () => {
212
- const res = MeetingInfoUtil.getRequestBody({
213
- type: _CONVERSATION_URL_,
214
- destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
215
- });
216
-
217
- assert.equal(
218
- res.conversationUrl,
219
- 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280'
220
- );
221
- });
222
- });
223
-
224
- describe('#getWebexSite', () => {
225
- it('SIP meeting address', () => {
226
- assert.equal(
227
- MeetingInfoUtil.getWebexSite('10019857020@convergedats.webex.com'),
228
- 'convergedats.webex.com'
229
- );
230
- });
231
- it('SIP meeting address from excepted domain', () => {
232
- assert.equal(MeetingInfoUtil.getWebexSite('10019857020@meet.webex.com'), null);
233
- });
234
- it('invalid domain', () => {
235
- assert.equal(MeetingInfoUtil.getWebexSite('invaliddomain'), null);
236
- });
237
- });
238
-
239
- describe('#getDirectMeetingInfoURI', () => {
240
- it('for _SIP_URI_', () => {
241
- assert.equal(
242
- MeetingInfoUtil.getDirectMeetingInfoURI({
243
- type: _SIP_URI_,
244
- destination: 'testing@convergedats.webex.com',
245
- }),
246
- 'https://convergedats.webex.com/wbxappapi/v1/meetingInfo'
247
- );
248
- });
249
-
250
- it('for _LOCUS_ID_ with webExSite', () => {
251
- assert.equal(
252
- MeetingInfoUtil.getDirectMeetingInfoURI({
253
- type: _LOCUS_ID_,
254
- destination: {
255
- info: {
256
- webExMeetingId: '123456',
257
- webExSite: 'convergedats.webex.com',
258
- },
259
- },
260
- }),
261
- 'https://convergedats.webex.com/wbxappapi/v1/meetingInfo'
262
- );
263
- });
264
-
265
- // null means fall back to default meeting info URI
266
- it('for _PERSONAL_ROOM_', () => {
267
- assert.equal(
268
- MeetingInfoUtil.getDirectMeetingInfoURI({
269
- type: _PERSONAL_ROOM_,
270
- destination: {
271
- userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
272
- orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
273
- },
274
- }),
275
- null
276
- );
277
- });
278
-
279
- it('for _MEETING_ID_', () => {
280
- assert.equal(
281
- MeetingInfoUtil.getDirectMeetingInfoURI({
282
- type: _MEETING_ID_,
283
- destination: '1234323',
284
- }),
285
- null
286
- );
287
- });
288
-
289
- it('for _MEETING_UUID_', () => {
290
- assert.equal(
291
- MeetingInfoUtil.getDirectMeetingInfoURI({
292
- type: _MEETING_UUID_,
293
- destination: 'xsddsdsdsdssdsdsdsdsd',
294
- }),
295
- null
296
- );
297
- });
298
-
299
- it('for _LOCUS_ID_ with sipUri with excepted domain', () => {
300
- assert.equal(
301
- MeetingInfoUtil.getDirectMeetingInfoURI({
302
- type: _LOCUS_ID_,
303
- destination: {info: {webExMeetingId: '123456', sipUri: 'testing@meetup.webex.com'}},
304
- }),
305
- null
306
- );
307
- });
308
-
309
- it('for _CONVERSATION_URL_', () => {
310
- assert.equal(
311
- MeetingInfoUtil.getDirectMeetingInfoURI({
312
- type: _CONVERSATION_URL_,
313
- destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
314
- }),
315
- null
316
- );
317
- });
318
-
319
- it('for _SIP_URI_ with an email address', () => {
320
- assert.equal(
321
- MeetingInfoUtil.getDirectMeetingInfoURI({
322
- type: _SIP_URI_,
323
- destination: 'testing@email.com',
324
- }),
325
- null
326
- );
327
- });
328
- });
329
- });
330
- });
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+
5
+ import {assert, expect} from '@webex/test-helper-chai';
6
+ import sinon from 'sinon';
7
+ import {
8
+ _MEETING_ID_,
9
+ _SIP_URI_,
10
+ _CONVERSATION_URL_,
11
+ _MEETING_LINK_,
12
+ _PERSONAL_ROOM_,
13
+ _LOCUS_ID_,
14
+ _MEETING_UUID_,
15
+ } from '@webex/plugin-meetings/src/constants';
16
+ import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
17
+ import LoggerProxy from '@webex/plugin-meetings/src/common/logs/logger-proxy';
18
+ import LoggerConfig from '@webex/plugin-meetings/src/common/logs/logger-config';
19
+
20
+ describe('plugin-meetings', () => {
21
+ const logger = {
22
+ log: () => {},
23
+ error: () => {},
24
+ warn: () => {},
25
+ trace: () => {},
26
+ debug: () => {},
27
+ };
28
+
29
+ beforeEach(() => {
30
+ LoggerConfig.set({verboseEvents: true, enable: false});
31
+ LoggerProxy.set(logger);
32
+ });
33
+
34
+ describe('Meeting Info Utils V2', () => {
35
+ beforeEach(() => {
36
+ MeetingInfoUtil.getHydraId = sinon.stub().returns(false);
37
+ });
38
+
39
+ describe('#getDestinationType', () => {
40
+ it('For destination with type', async () => {
41
+ const res = await MeetingInfoUtil.getDestinationType({
42
+ type: _MEETING_ID_,
43
+ destination: '1234323',
44
+ });
45
+
46
+ assert.equal(res.type, _MEETING_ID_);
47
+ assert.equal(res.destination, '1234323');
48
+ });
49
+
50
+ it('for meeting link', async () => {
51
+ const res = await MeetingInfoUtil.getDestinationType({
52
+ destination: 'https://cisco.webex.com/meet/arungane',
53
+ });
54
+
55
+ assert.equal(res.type, _MEETING_LINK_);
56
+ assert.equal(res.destination, 'https://cisco.webex.com/meet/arungane');
57
+ });
58
+
59
+ it('for sip url', async () => {
60
+ const res = await MeetingInfoUtil.getDestinationType({
61
+ destination: 'testing@webex.com',
62
+ });
63
+
64
+ assert.equal(res.type, _SIP_URI_);
65
+ assert.equal(res.destination, 'testing@webex.com');
66
+ });
67
+
68
+ it('for phone number', async () => {
69
+ const res = await MeetingInfoUtil.getDestinationType({
70
+ destination: '+14252086070',
71
+ });
72
+
73
+ assert.equal(res.type, _SIP_URI_);
74
+ assert.equal(res.destination, '+14252086070');
75
+ });
76
+
77
+ it('for conversation url ', async () => {
78
+ MeetingInfoUtil.isConversationUrl = sinon.stub().returns(true);
79
+ const res = await MeetingInfoUtil.getDestinationType({
80
+ destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
81
+ });
82
+
83
+ assert.equal(res.type, _CONVERSATION_URL_);
84
+ assert.equal(
85
+ res.destination,
86
+ 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280'
87
+ );
88
+ });
89
+
90
+ describe('PMR', () => {
91
+ const mockedListReturn = {
92
+ userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
93
+ orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
94
+ };
95
+ const mockedList = {
96
+ items: [
97
+ {
98
+ id: 'Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wMTgyNGI5Yi1hZGVmLTRiMTAtYjVjMS04YTJmZTJmYjdjMGU',
99
+ orgId:
100
+ 'Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY',
101
+ },
102
+ ],
103
+ };
104
+
105
+ it('should return a userID and orgID without passing a destination', async () => {
106
+ const res = await MeetingInfoUtil.getDestinationType({
107
+ type: _PERSONAL_ROOM_,
108
+ webex: {
109
+ internal: {
110
+ device: {
111
+ userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
112
+ orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
113
+ },
114
+ },
115
+ },
116
+ });
117
+
118
+ expect(res.destination.userId).to.equal('01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e');
119
+ expect(res.destination.orgId).to.equal('1eb65fdf-9643-417f-9974-ad72cae0e10f');
120
+ });
121
+
122
+ it('should return a userID and orgID when passing an email', async () => {
123
+ const res = await MeetingInfoUtil.getDestinationType({
124
+ type: _PERSONAL_ROOM_,
125
+ destination: 'amritesi@cisco.com',
126
+ webex: {
127
+ people: {list: sinon.stub().returns(mockedList)},
128
+ },
129
+ });
130
+ const {orgId, userId} = res.destination;
131
+
132
+ expect(userId).to.equal(mockedListReturn.userId);
133
+ expect(orgId).to.equal(mockedListReturn.orgId);
134
+ });
135
+
136
+ it('should return a userID and orgID when passing an id', async () => {
137
+ const res = await MeetingInfoUtil.getDestinationType({
138
+ type: _PERSONAL_ROOM_,
139
+ destination: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
140
+ webex: {
141
+ people: {list: sinon.stub().returns(mockedList)},
142
+ },
143
+ });
144
+ const {orgId, userId} = res.destination;
145
+
146
+ expect(userId).to.equal(mockedListReturn.userId);
147
+ expect(orgId).to.equal(mockedListReturn.orgId);
148
+ });
149
+ });
150
+ });
151
+
152
+ describe('#getRequestBody', () => {
153
+ it('for _PERSONAL_ROOM_', () => {
154
+ const res = MeetingInfoUtil.getRequestBody({
155
+ type: _PERSONAL_ROOM_,
156
+ destination: {
157
+ userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
158
+ orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
159
+ },
160
+ });
161
+
162
+ assert.equal(res.orgId, '1eb65fdf-9643-417f-9974-ad72cae0e10f');
163
+ assert.equal(res.userId, '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e');
164
+ });
165
+
166
+ it('for _MEETING_ID_', () => {
167
+ const res = MeetingInfoUtil.getRequestBody({
168
+ type: _MEETING_ID_,
169
+ destination: '1234323',
170
+ });
171
+
172
+ assert.equal(res.meetingKey, '1234323');
173
+ });
174
+
175
+ it('for _MEETING_LINK_', () => {
176
+ const res = MeetingInfoUtil.getRequestBody({
177
+ type: _MEETING_LINK_,
178
+ destination: 'https://cisco.webex.com/meet/arungane',
179
+ });
180
+
181
+ assert.equal(res.meetingUrl, 'https://cisco.webex.com/meet/arungane');
182
+ });
183
+
184
+ it('for _SIP_URI_', () => {
185
+ const res = MeetingInfoUtil.getRequestBody({
186
+ type: _SIP_URI_,
187
+ destination: 'testing@webex.com',
188
+ });
189
+
190
+ assert.equal(res.sipUrl, 'testing@webex.com');
191
+ });
192
+
193
+ it('for _MEETING_UUID_', () => {
194
+ const res = MeetingInfoUtil.getRequestBody({
195
+ type: _MEETING_UUID_,
196
+ destination: 'xsddsdsdsdssdsdsdsdsd',
197
+ });
198
+
199
+ assert.equal(res.meetingUUID, 'xsddsdsdsdssdsdsdsdsd');
200
+ });
201
+
202
+ it('for _LOCUS_ID_', () => {
203
+ const res = MeetingInfoUtil.getRequestBody({
204
+ type: _LOCUS_ID_,
205
+ destination: {info: {webExMeetingId: '123456'}},
206
+ });
207
+
208
+ assert.equal(res.meetingKey, '123456');
209
+ });
210
+
211
+ it('for _CONVERSATION_URL_', () => {
212
+ const res = MeetingInfoUtil.getRequestBody({
213
+ type: _CONVERSATION_URL_,
214
+ destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
215
+ });
216
+
217
+ assert.equal(
218
+ res.conversationUrl,
219
+ 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280'
220
+ );
221
+ });
222
+ });
223
+
224
+ describe('#getWebexSite', () => {
225
+ it('SIP meeting address', () => {
226
+ assert.equal(
227
+ MeetingInfoUtil.getWebexSite('10019857020@convergedats.webex.com'),
228
+ 'convergedats.webex.com'
229
+ );
230
+ });
231
+ it('SIP meeting address from excepted domain', () => {
232
+ assert.equal(MeetingInfoUtil.getWebexSite('10019857020@meet.webex.com'), null);
233
+ });
234
+ it('invalid domain', () => {
235
+ assert.equal(MeetingInfoUtil.getWebexSite('invaliddomain'), null);
236
+ });
237
+ });
238
+
239
+ describe('#getDirectMeetingInfoURI', () => {
240
+ it('for _SIP_URI_', () => {
241
+ assert.equal(
242
+ MeetingInfoUtil.getDirectMeetingInfoURI({
243
+ type: _SIP_URI_,
244
+ destination: 'testing@convergedats.webex.com',
245
+ }),
246
+ 'https://convergedats.webex.com/wbxappapi/v1/meetingInfo'
247
+ );
248
+ });
249
+
250
+ it('for _LOCUS_ID_ with webExSite', () => {
251
+ assert.equal(
252
+ MeetingInfoUtil.getDirectMeetingInfoURI({
253
+ type: _LOCUS_ID_,
254
+ destination: {
255
+ info: {
256
+ webExMeetingId: '123456',
257
+ webExSite: 'convergedats.webex.com',
258
+ },
259
+ },
260
+ }),
261
+ 'https://convergedats.webex.com/wbxappapi/v1/meetingInfo'
262
+ );
263
+ });
264
+
265
+ // null means fall back to default meeting info URI
266
+ it('for _PERSONAL_ROOM_', () => {
267
+ assert.equal(
268
+ MeetingInfoUtil.getDirectMeetingInfoURI({
269
+ type: _PERSONAL_ROOM_,
270
+ destination: {
271
+ userId: '01824b9b-adef-4b10-b5c1-8a2fe2fb7c0e',
272
+ orgId: '1eb65fdf-9643-417f-9974-ad72cae0e10f',
273
+ },
274
+ }),
275
+ null
276
+ );
277
+ });
278
+
279
+ it('for _MEETING_ID_', () => {
280
+ assert.equal(
281
+ MeetingInfoUtil.getDirectMeetingInfoURI({
282
+ type: _MEETING_ID_,
283
+ destination: '1234323',
284
+ }),
285
+ null
286
+ );
287
+ });
288
+
289
+ it('for _MEETING_UUID_', () => {
290
+ assert.equal(
291
+ MeetingInfoUtil.getDirectMeetingInfoURI({
292
+ type: _MEETING_UUID_,
293
+ destination: 'xsddsdsdsdssdsdsdsdsd',
294
+ }),
295
+ null
296
+ );
297
+ });
298
+
299
+ it('for _LOCUS_ID_ with sipUri with excepted domain', () => {
300
+ assert.equal(
301
+ MeetingInfoUtil.getDirectMeetingInfoURI({
302
+ type: _LOCUS_ID_,
303
+ destination: {info: {webExMeetingId: '123456', sipUri: 'testing@meetup.webex.com'}},
304
+ }),
305
+ null
306
+ );
307
+ });
308
+
309
+ it('for _CONVERSATION_URL_', () => {
310
+ assert.equal(
311
+ MeetingInfoUtil.getDirectMeetingInfoURI({
312
+ type: _CONVERSATION_URL_,
313
+ destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49280',
314
+ }),
315
+ null
316
+ );
317
+ });
318
+
319
+ it('for _SIP_URI_ with an email address', () => {
320
+ assert.equal(
321
+ MeetingInfoUtil.getDirectMeetingInfoURI({
322
+ type: _SIP_URI_,
323
+ destination: 'testing@email.com',
324
+ }),
325
+ null
326
+ );
327
+ });
328
+ });
329
+ });
330
+ });