bandwidth-sdk 11.0.0.pre.beta.1.1 → 11.0.0.pre.beta.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +44 -20
  4. data/README.md +7 -3
  5. data/Rakefile +10 -2
  6. data/bandwidth-sdk.gemspec +12 -12
  7. data/bandwidth.yml +401 -352
  8. data/coverage/.last_run.json +5 -0
  9. data/coverage/.resultset.json +9792 -0
  10. data/coverage/.resultset.json.lock +0 -0
  11. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc.png +0 -0
  12. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  13. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_both.png +0 -0
  14. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc.png +0 -0
  15. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  16. data/coverage/assets/0.12.3/application.css +1 -0
  17. data/coverage/assets/0.12.3/application.js +7 -0
  18. data/coverage/assets/0.12.3/colorbox/border.png +0 -0
  19. data/coverage/assets/0.12.3/colorbox/controls.png +0 -0
  20. data/coverage/assets/0.12.3/colorbox/loading.gif +0 -0
  21. data/coverage/assets/0.12.3/colorbox/loading_background.png +0 -0
  22. data/coverage/assets/0.12.3/favicon_green.png +0 -0
  23. data/coverage/assets/0.12.3/favicon_red.png +0 -0
  24. data/coverage/assets/0.12.3/favicon_yellow.png +0 -0
  25. data/coverage/assets/0.12.3/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  26. data/coverage/assets/0.12.3/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  27. data/coverage/assets/0.12.3/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  28. data/coverage/assets/0.12.3/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  29. data/coverage/assets/0.12.3/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  30. data/coverage/assets/0.12.3/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  31. data/coverage/assets/0.12.3/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  32. data/coverage/assets/0.12.3/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  33. data/coverage/assets/0.12.3/images/ui-icons_222222_256x240.png +0 -0
  34. data/coverage/assets/0.12.3/images/ui-icons_2e83ff_256x240.png +0 -0
  35. data/coverage/assets/0.12.3/images/ui-icons_454545_256x240.png +0 -0
  36. data/coverage/assets/0.12.3/images/ui-icons_888888_256x240.png +0 -0
  37. data/coverage/assets/0.12.3/images/ui-icons_cd0a0a_256x240.png +0 -0
  38. data/coverage/assets/0.12.3/loading.gif +0 -0
  39. data/coverage/assets/0.12.3/magnify.png +0 -0
  40. data/coverage/index.html +108612 -0
  41. data/custom_templates/Gemfile.mustache +11 -0
  42. data/custom_templates/README.mustache +170 -0
  43. data/custom_templates/gem.mustache +99 -0
  44. data/custom_templates/gemspec.mustache +37 -0
  45. data/custom_templates/version.mustache +7 -0
  46. data/docs/AnswerCallback.md +3 -3
  47. data/docs/BridgeCompleteCallback.md +2 -2
  48. data/docs/BridgeTargetCompleteCallback.md +2 -2
  49. data/docs/CallState.md +2 -2
  50. data/docs/CallsApi.md +15 -15
  51. data/docs/Conference.md +4 -4
  52. data/docs/ConferenceCompletedCallback.md +2 -2
  53. data/docs/ConferenceCreatedCallback.md +2 -2
  54. data/docs/ConferenceMemberExitCallback.md +2 -2
  55. data/docs/ConferenceMemberJoinCallback.md +2 -2
  56. data/docs/ConferenceRecordingAvailableCallback.md +2 -2
  57. data/docs/ConferenceRedirectCallback.md +2 -2
  58. data/docs/ConferencesApi.md +42 -42
  59. data/docs/CreateCall.md +11 -11
  60. data/docs/CreateCallResponse.md +11 -11
  61. data/docs/DisconnectCallback.md +2 -2
  62. data/docs/DtmfCallback.md +2 -2
  63. data/docs/GatherCallback.md +2 -2
  64. data/docs/InitiateCallback.md +2 -2
  65. data/docs/ListMessageItem.md +5 -3
  66. data/docs/MFAApi.md +6 -6
  67. data/docs/MachineDetectionCompleteCallback.md +3 -3
  68. data/docs/MachineDetectionConfiguration.md +2 -2
  69. data/docs/MachineDetectionResult.md +20 -0
  70. data/docs/Message.md +2 -2
  71. data/docs/MessageDeliveredCallbackMessage.md +1 -1
  72. data/docs/MessageFailedCallbackMessage.md +1 -1
  73. data/docs/MessageRequest.md +1 -1
  74. data/docs/MessageSendingCallbackMessage.md +1 -1
  75. data/docs/MessagesApi.md +5 -1
  76. data/docs/MessagesList.md +1 -1
  77. data/docs/PhoneNumberLookupApi.md +4 -4
  78. data/docs/RecordingAvailableCallback.md +2 -2
  79. data/docs/RecordingCompleteCallback.md +2 -2
  80. data/docs/RecordingsApi.md +52 -52
  81. data/docs/RedirectCallback.md +2 -2
  82. data/docs/StatisticsApi.md +2 -2
  83. data/docs/TranscribeRecording.md +4 -2
  84. data/docs/TranscriptionAvailableCallback.md +2 -2
  85. data/docs/TransferAnswerCallback.md +2 -2
  86. data/docs/TransferCompleteCallback.md +2 -2
  87. data/docs/TransferDisconnectCallback.md +2 -2
  88. data/docs/UpdateCall.md +3 -3
  89. data/docs/UpdateConference.md +3 -3
  90. data/lib/bandwidth-sdk/api/calls_api.rb +18 -18
  91. data/lib/bandwidth-sdk/api/conferences_api.rb +46 -46
  92. data/lib/bandwidth-sdk/api/media_api.rb +2 -2
  93. data/lib/bandwidth-sdk/api/messages_api.rb +8 -2
  94. data/lib/bandwidth-sdk/api/mfa_api.rb +10 -10
  95. data/lib/bandwidth-sdk/api/phone_number_lookup_api.rb +6 -6
  96. data/lib/bandwidth-sdk/api/recordings_api.rb +55 -55
  97. data/lib/bandwidth-sdk/api/statistics_api.rb +3 -3
  98. data/lib/bandwidth-sdk/api_client.rb +1 -1
  99. data/lib/bandwidth-sdk/api_error.rb +2 -2
  100. data/lib/bandwidth-sdk/configuration.rb +3 -3
  101. data/lib/bandwidth-sdk/models/account_statistics.rb +2 -4
  102. data/lib/bandwidth-sdk/models/answer_callback.rb +4 -7
  103. data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +3 -5
  104. data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +3 -5
  105. data/lib/bandwidth-sdk/models/bxml/bxml.rb +2 -4
  106. data/lib/bandwidth-sdk/models/bxml/nestable_verb.rb +3 -7
  107. data/lib/bandwidth-sdk/models/bxml/response.rb +2 -4
  108. data/lib/bandwidth-sdk/models/bxml/root.rb +3 -3
  109. data/lib/bandwidth-sdk/models/bxml/verb.rb +4 -5
  110. data/lib/bandwidth-sdk/models/bxml/verbs/bridge.rb +2 -4
  111. data/lib/bandwidth-sdk/models/bxml/verbs/conference.rb +2 -5
  112. data/lib/bandwidth-sdk/models/bxml/verbs/custom_param.rb +16 -0
  113. data/lib/bandwidth-sdk/models/bxml/verbs/forward.rb +2 -4
  114. data/lib/bandwidth-sdk/models/bxml/verbs/gather.rb +3 -5
  115. data/lib/bandwidth-sdk/models/bxml/verbs/hangup.rb +2 -4
  116. data/lib/bandwidth-sdk/models/bxml/verbs/pause.rb +2 -4
  117. data/lib/bandwidth-sdk/models/bxml/verbs/pause_recording.rb +2 -4
  118. data/lib/bandwidth-sdk/models/bxml/verbs/phone_number.rb +2 -4
  119. data/lib/bandwidth-sdk/models/bxml/verbs/play_audio.rb +2 -4
  120. data/lib/bandwidth-sdk/models/bxml/verbs/record.rb +2 -4
  121. data/lib/bandwidth-sdk/models/bxml/verbs/redirect.rb +2 -4
  122. data/lib/bandwidth-sdk/models/bxml/verbs/resume_recording.rb +2 -4
  123. data/lib/bandwidth-sdk/models/bxml/verbs/ring.rb +2 -4
  124. data/lib/bandwidth-sdk/models/bxml/verbs/send_dtmf.rb +2 -4
  125. data/lib/bandwidth-sdk/models/bxml/verbs/sip_uri.rb +2 -4
  126. data/lib/bandwidth-sdk/models/bxml/verbs/speak_sentence.rb +3 -5
  127. data/lib/bandwidth-sdk/models/bxml/verbs/start_gather.rb +2 -4
  128. data/lib/bandwidth-sdk/models/bxml/verbs/start_recording.rb +2 -4
  129. data/lib/bandwidth-sdk/models/bxml/verbs/start_stream.rb +2 -4
  130. data/lib/bandwidth-sdk/models/bxml/verbs/start_transcription.rb +29 -0
  131. data/lib/bandwidth-sdk/models/bxml/verbs/stop_gather.rb +2 -4
  132. data/lib/bandwidth-sdk/models/bxml/verbs/stop_recording.rb +2 -4
  133. data/lib/bandwidth-sdk/models/bxml/verbs/stop_stream.rb +2 -4
  134. data/lib/bandwidth-sdk/models/bxml/verbs/stop_transcription.rb +15 -0
  135. data/lib/bandwidth-sdk/models/bxml/verbs/stream_param.rb +2 -4
  136. data/lib/bandwidth-sdk/models/bxml/verbs/tag.rb +2 -4
  137. data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +2 -4
  138. data/lib/bandwidth-sdk/models/call_direction_enum.rb +3 -3
  139. data/lib/bandwidth-sdk/models/call_recording_metadata.rb +2 -4
  140. data/lib/bandwidth-sdk/models/call_state.rb +4 -6
  141. data/lib/bandwidth-sdk/models/call_state_enum.rb +3 -3
  142. data/lib/bandwidth-sdk/models/callback_method_enum.rb +3 -3
  143. data/lib/bandwidth-sdk/models/code_request.rb +2 -4
  144. data/lib/bandwidth-sdk/models/conference.rb +5 -7
  145. data/lib/bandwidth-sdk/models/conference_completed_callback.rb +3 -5
  146. data/lib/bandwidth-sdk/models/conference_created_callback.rb +3 -5
  147. data/lib/bandwidth-sdk/models/conference_member.rb +2 -4
  148. data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +3 -5
  149. data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +3 -5
  150. data/lib/bandwidth-sdk/models/conference_recording_available_callback.rb +3 -5
  151. data/lib/bandwidth-sdk/models/conference_recording_metadata.rb +2 -4
  152. data/lib/bandwidth-sdk/models/conference_redirect_callback.rb +3 -5
  153. data/lib/bandwidth-sdk/models/conference_state_enum.rb +3 -3
  154. data/lib/bandwidth-sdk/models/create_call.rb +14 -7
  155. data/lib/bandwidth-sdk/models/create_call_response.rb +10 -12
  156. data/lib/bandwidth-sdk/models/create_lookup_response.rb +2 -4
  157. data/lib/bandwidth-sdk/models/create_message_request_error.rb +2 -4
  158. data/lib/bandwidth-sdk/models/deferred_result.rb +2 -4
  159. data/lib/bandwidth-sdk/models/disconenct_callback.rb +1 -3
  160. data/lib/bandwidth-sdk/models/disconnect_callback.rb +3 -5
  161. data/lib/bandwidth-sdk/models/diversion.rb +2 -4
  162. data/lib/bandwidth-sdk/models/dtmf_callback.rb +3 -5
  163. data/lib/bandwidth-sdk/models/field_error.rb +2 -4
  164. data/lib/bandwidth-sdk/models/file_format_enum.rb +3 -3
  165. data/lib/bandwidth-sdk/models/gather_callback.rb +3 -5
  166. data/lib/bandwidth-sdk/models/inbound_message_callback.rb +2 -4
  167. data/lib/bandwidth-sdk/models/inbound_message_callback_message.rb +3 -4
  168. data/lib/bandwidth-sdk/models/initiate_callback.rb +3 -5
  169. data/lib/bandwidth-sdk/models/list_message_direction_enum.rb +3 -3
  170. data/lib/bandwidth-sdk/models/list_message_item.rb +19 -10
  171. data/lib/bandwidth-sdk/models/lookup_request.rb +2 -4
  172. data/lib/bandwidth-sdk/models/lookup_result.rb +2 -4
  173. data/lib/bandwidth-sdk/models/lookup_status.rb +2 -4
  174. data/lib/bandwidth-sdk/models/lookup_status_enum.rb +5 -5
  175. data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +4 -7
  176. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +2 -4
  177. data/lib/bandwidth-sdk/models/machine_detection_mode_enum.rb +3 -3
  178. data/lib/bandwidth-sdk/models/machine_detection_result.rb +229 -0
  179. data/lib/bandwidth-sdk/models/media.rb +2 -4
  180. data/lib/bandwidth-sdk/models/message.rb +3 -5
  181. data/lib/bandwidth-sdk/models/message_delivered_callback.rb +2 -4
  182. data/lib/bandwidth-sdk/models/message_delivered_callback_message.rb +3 -4
  183. data/lib/bandwidth-sdk/models/message_direction_enum.rb +3 -3
  184. data/lib/bandwidth-sdk/models/message_failed_callback.rb +2 -4
  185. data/lib/bandwidth-sdk/models/message_failed_callback_message.rb +3 -4
  186. data/lib/bandwidth-sdk/models/message_request.rb +3 -5
  187. data/lib/bandwidth-sdk/models/message_sending_callback.rb +2 -4
  188. data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +3 -4
  189. data/lib/bandwidth-sdk/models/message_status_enum.rb +9 -9
  190. data/lib/bandwidth-sdk/models/message_type_enum.rb +3 -3
  191. data/lib/bandwidth-sdk/models/messages_list.rb +3 -5
  192. data/lib/bandwidth-sdk/models/messaging_code_response.rb +2 -4
  193. data/lib/bandwidth-sdk/models/messaging_request_error.rb +2 -4
  194. data/lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb +2 -4
  195. data/lib/bandwidth-sdk/models/mfa_request_error.rb +2 -4
  196. data/lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb +2 -4
  197. data/lib/bandwidth-sdk/models/page_info.rb +2 -4
  198. data/lib/bandwidth-sdk/models/priority_enum.rb +3 -3
  199. data/lib/bandwidth-sdk/models/recording_available_callback.rb +3 -5
  200. data/lib/bandwidth-sdk/models/recording_complete_callback.rb +3 -5
  201. data/lib/bandwidth-sdk/models/recording_state_enum.rb +3 -3
  202. data/lib/bandwidth-sdk/models/redirect_callback.rb +3 -5
  203. data/lib/bandwidth-sdk/models/redirect_method_enum.rb +3 -3
  204. data/lib/bandwidth-sdk/models/stir_shaken.rb +2 -4
  205. data/lib/bandwidth-sdk/models/tag.rb +2 -4
  206. data/lib/bandwidth-sdk/models/tn_lookup_request_error.rb +2 -4
  207. data/lib/bandwidth-sdk/models/transcribe_recording.rb +20 -9
  208. data/lib/bandwidth-sdk/models/transcription.rb +2 -4
  209. data/lib/bandwidth-sdk/models/transcription_available_callback.rb +3 -5
  210. data/lib/bandwidth-sdk/models/transcription_list.rb +2 -4
  211. data/lib/bandwidth-sdk/models/transcription_metadata.rb +2 -4
  212. data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +3 -5
  213. data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +3 -5
  214. data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +3 -5
  215. data/lib/bandwidth-sdk/models/update_call.rb +12 -5
  216. data/lib/bandwidth-sdk/models/update_call_recording.rb +2 -4
  217. data/lib/bandwidth-sdk/models/update_conference.rb +3 -5
  218. data/lib/bandwidth-sdk/models/update_conference_member.rb +2 -4
  219. data/lib/bandwidth-sdk/models/verify_code_request.rb +2 -4
  220. data/lib/bandwidth-sdk/models/verify_code_response.rb +2 -4
  221. data/lib/bandwidth-sdk/models/voice_api_error.rb +2 -4
  222. data/lib/bandwidth-sdk/models/voice_code_response.rb +2 -4
  223. data/lib/bandwidth-sdk/version.rb +2 -2
  224. data/lib/bandwidth-sdk.rb +5 -1
  225. data/openapi-config.yml +1 -0
  226. data/openapitools.json +7 -0
  227. data/spec/api/calls_api_spec.rb +228 -0
  228. data/spec/api/conferences_api_spec.rb +393 -0
  229. data/spec/api/media_api_spec.rb +129 -0
  230. data/spec/api/messages_api_spec.rb +193 -0
  231. data/spec/api/mfa_api_spec.rb +130 -0
  232. data/spec/api/phone_number_lookup_api_spec.rb +100 -0
  233. data/spec/api/recordings_api_spec.rb +395 -0
  234. data/spec/api/statistics_api_spec.rb +45 -0
  235. data/spec/api_client_spec.rb +377 -0
  236. data/spec/api_error_spec.rb +23 -0
  237. data/spec/call_utils.rb +28 -28
  238. data/spec/configuration_spec.rb +178 -0
  239. data/spec/integration/calls_api_integration_spec.rb +88 -69
  240. data/spec/integration/conferences_api_integration_spec.rb +74 -68
  241. data/spec/integration/media_api_integration_spec.rb +38 -32
  242. data/spec/integration/messages_api_integration_spec.rb +63 -50
  243. data/spec/integration/mfa_api_integration_spec.rb +41 -33
  244. data/spec/integration/phone_number_lookup_api_integration_spec.rb +26 -22
  245. data/spec/integration/recordings_api_integration_spec.rb +84 -77
  246. data/spec/integration/statistics_api_integration_spec.rb +15 -14
  247. data/spec/{unit/models → models}/bxml/bxml_spec.rb +0 -2
  248. data/spec/{unit/models → models}/bxml/nestable_verb_spec.rb +1 -3
  249. data/spec/{unit/models → models}/bxml/response_spec.rb +0 -2
  250. data/spec/{unit/models → models}/bxml/verb_spec.rb +1 -14
  251. data/spec/{unit/models → models}/bxml/verbs/bridge_spec.rb +0 -2
  252. data/spec/{unit/models → models}/bxml/verbs/conference_spec.rb +0 -2
  253. data/spec/models/bxml/verbs/custom_param_spec.rb +36 -0
  254. data/spec/{unit/models → models}/bxml/verbs/forward_spec.rb +0 -2
  255. data/spec/{unit/models → models}/bxml/verbs/gather_spec.rb +0 -2
  256. data/spec/{unit/models → models}/bxml/verbs/hangup_spec.rb +0 -2
  257. data/spec/{unit/models → models}/bxml/verbs/pause_recording_spec.rb +0 -2
  258. data/spec/{unit/models → models}/bxml/verbs/pause_spec.rb +0 -2
  259. data/spec/{unit/models → models}/bxml/verbs/phone_number_spec.rb +0 -2
  260. data/spec/{unit/models → models}/bxml/verbs/play_audio_spec.rb +0 -2
  261. data/spec/{unit/models → models}/bxml/verbs/record_spec.rb +0 -2
  262. data/spec/{unit/models → models}/bxml/verbs/redirect_spec.rb +0 -2
  263. data/spec/{unit/models → models}/bxml/verbs/resume_recording_spec.rb +0 -2
  264. data/spec/{unit/models → models}/bxml/verbs/ring_spec.rb +0 -2
  265. data/spec/{unit/models → models}/bxml/verbs/send_dtmf_spec.rb +0 -2
  266. data/spec/{unit/models → models}/bxml/verbs/sip_uri_spec.rb +0 -2
  267. data/spec/{unit/models → models}/bxml/verbs/speak_sentence_spec.rb +0 -2
  268. data/spec/{unit/models → models}/bxml/verbs/start_gather_spec.rb +0 -2
  269. data/spec/{unit/models → models}/bxml/verbs/start_recording_spec.rb +0 -2
  270. data/spec/{unit/models → models}/bxml/verbs/start_stream_spec.rb +2 -4
  271. data/spec/models/bxml/verbs/start_transcription_spec.rb +74 -0
  272. data/spec/{unit/models → models}/bxml/verbs/stop_gather_spec.rb +0 -2
  273. data/spec/{unit/models → models}/bxml/verbs/stop_recording_spec.rb +0 -2
  274. data/spec/{unit/models → models}/bxml/verbs/stop_stream_spec.rb +0 -2
  275. data/spec/models/bxml/verbs/stop_transcription_spec.rb +34 -0
  276. data/spec/{unit/models → models}/bxml/verbs/stream_param_spec.rb +0 -2
  277. data/spec/{unit/models → models}/bxml/verbs/tag_spec.rb +0 -2
  278. data/spec/{unit/models → models}/bxml/verbs/transfer_spec.rb +0 -2
  279. data/spec/models/call_state_enum_spec.rb +16 -0
  280. data/spec/models/call_state_spec.rb +181 -0
  281. data/spec/models/deferred_result_spec.rb +87 -0
  282. data/spec/models/message_spec.rb +145 -0
  283. data/spec/models/verify_code_request_spec.rb +134 -0
  284. data/spec/spec_helper.rb +48 -31
  285. metadata +148 -256
  286. data/spec/unit/api/calls_api_spec.rb +0 -89
  287. data/spec/unit/api/conferences_api_spec.rb +0 -163
  288. data/spec/unit/api/media_api_spec.rb +0 -90
  289. data/spec/unit/api/messages_api_spec.rb +0 -73
  290. data/spec/unit/api/mfa_api_spec.rb +0 -74
  291. data/spec/unit/api/phone_number_lookup_api_spec.rb +0 -61
  292. data/spec/unit/api/recordings_api_spec.rb +0 -177
  293. data/spec/unit/api/statistics_api_spec.rb +0 -47
  294. data/spec/unit/models/account_statistics_spec.rb +0 -40
  295. data/spec/unit/models/answer_callback_spec.rb +0 -112
  296. data/spec/unit/models/bridge_complete_callback_spec.rb +0 -124
  297. data/spec/unit/models/bridge_target_complete_callback_spec.rb +0 -106
  298. data/spec/unit/models/call_direction_enum_spec.rb +0 -28
  299. data/spec/unit/models/call_recording_metadata_spec.rb +0 -136
  300. data/spec/unit/models/call_state_enum_spec.rb +0 -28
  301. data/spec/unit/models/call_state_spec.rb +0 -136
  302. data/spec/unit/models/callback_method_enum_spec.rb +0 -28
  303. data/spec/unit/models/code_request_spec.rb +0 -64
  304. data/spec/unit/models/conference_completed_callback_spec.rb +0 -58
  305. data/spec/unit/models/conference_created_callback_spec.rb +0 -58
  306. data/spec/unit/models/conference_member_exit_callback_spec.rb +0 -76
  307. data/spec/unit/models/conference_member_join_callback_spec.rb +0 -76
  308. data/spec/unit/models/conference_member_spec.rb +0 -64
  309. data/spec/unit/models/conference_recording_available_callback_spec.rb +0 -112
  310. data/spec/unit/models/conference_recording_metadata_spec.rb +0 -94
  311. data/spec/unit/models/conference_redirect_callback_spec.rb +0 -58
  312. data/spec/unit/models/conference_spec.rb +0 -76
  313. data/spec/unit/models/conference_state_enum_spec.rb +0 -28
  314. data/spec/unit/models/create_call_response_spec.rb +0 -154
  315. data/spec/unit/models/create_call_spec.rb +0 -142
  316. data/spec/unit/models/create_lookup_response_spec.rb +0 -40
  317. data/spec/unit/models/create_message_request_error_spec.rb +0 -46
  318. data/spec/unit/models/deferred_result_spec.rb +0 -40
  319. data/spec/unit/models/disconnect_callback_spec.rb +0 -130
  320. data/spec/unit/models/diversion_spec.rb +0 -70
  321. data/spec/unit/models/dtmf_callback_spec.rb +0 -130
  322. data/spec/unit/models/field_error_spec.rb +0 -40
  323. data/spec/unit/models/file_format_enum_spec.rb +0 -28
  324. data/spec/unit/models/gather_callback_spec.rb +0 -136
  325. data/spec/unit/models/inbound_message_callback_message_spec.rb +0 -100
  326. data/spec/unit/models/inbound_message_callback_spec.rb +0 -58
  327. data/spec/unit/models/initiate_callback_spec.rb +0 -100
  328. data/spec/unit/models/list_message_direction_enum_spec.rb +0 -28
  329. data/spec/unit/models/list_message_item_spec.rb +0 -124
  330. data/spec/unit/models/lookup_request_spec.rb +0 -34
  331. data/spec/unit/models/lookup_result_spec.rb +0 -82
  332. data/spec/unit/models/lookup_status_enum_spec.rb +0 -28
  333. data/spec/unit/models/lookup_status_spec.rb +0 -52
  334. data/spec/unit/models/machine_detection_complete_callback_spec.rb +0 -112
  335. data/spec/unit/models/machine_detection_configuration_spec.rb +0 -118
  336. data/spec/unit/models/machine_detection_mode_enum_spec.rb +0 -28
  337. data/spec/unit/models/media_spec.rb +0 -46
  338. data/spec/unit/models/message_delivered_callback_message_spec.rb +0 -100
  339. data/spec/unit/models/message_delivered_callback_spec.rb +0 -58
  340. data/spec/unit/models/message_direction_enum_spec.rb +0 -28
  341. data/spec/unit/models/message_failed_callback_message_spec.rb +0 -100
  342. data/spec/unit/models/message_failed_callback_spec.rb +0 -64
  343. data/spec/unit/models/message_request_spec.rb +0 -76
  344. data/spec/unit/models/message_sending_callback_message_spec.rb +0 -100
  345. data/spec/unit/models/message_sending_callback_spec.rb +0 -58
  346. data/spec/unit/models/message_spec.rb +0 -106
  347. data/spec/unit/models/message_status_enum_spec.rb +0 -28
  348. data/spec/unit/models/message_type_enum_spec.rb +0 -28
  349. data/spec/unit/models/messages_list_spec.rb +0 -46
  350. data/spec/unit/models/messaging_code_response_spec.rb +0 -34
  351. data/spec/unit/models/messaging_request_error_spec.rb +0 -40
  352. data/spec/unit/models/mfa_forbidden_request_error_spec.rb +0 -34
  353. data/spec/unit/models/mfa_request_error_spec.rb +0 -40
  354. data/spec/unit/models/mfa_unauthorized_request_error_spec.rb +0 -34
  355. data/spec/unit/models/page_info_spec.rb +0 -52
  356. data/spec/unit/models/priority_enum_spec.rb +0 -28
  357. data/spec/unit/models/recording_available_callback_spec.rb +0 -160
  358. data/spec/unit/models/recording_complete_callback_spec.rb +0 -160
  359. data/spec/unit/models/recording_state_enum_spec.rb +0 -28
  360. data/spec/unit/models/redirect_callback_spec.rb +0 -124
  361. data/spec/unit/models/redirect_method_enum_spec.rb +0 -28
  362. data/spec/unit/models/stir_shaken_spec.rb +0 -46
  363. data/spec/unit/models/tag_spec.rb +0 -40
  364. data/spec/unit/models/tn_lookup_request_error_spec.rb +0 -34
  365. data/spec/unit/models/transcribe_recording_spec.rb +0 -64
  366. data/spec/unit/models/transcription_available_callback_spec.rb +0 -154
  367. data/spec/unit/models/transcription_list_spec.rb +0 -34
  368. data/spec/unit/models/transcription_metadata_spec.rb +0 -52
  369. data/spec/unit/models/transcription_spec.rb +0 -40
  370. data/spec/unit/models/transfer_answer_callback_spec.rb +0 -118
  371. data/spec/unit/models/transfer_complete_callback_spec.rb +0 -136
  372. data/spec/unit/models/transfer_disconnect_callback_spec.rb +0 -148
  373. data/spec/unit/models/update_call_recording_spec.rb +0 -34
  374. data/spec/unit/models/update_call_spec.rb +0 -88
  375. data/spec/unit/models/update_conference_member_spec.rb +0 -46
  376. data/spec/unit/models/update_conference_spec.rb +0 -82
  377. data/spec/unit/models/verify_code_request_spec.rb +0 -52
  378. data/spec/unit/models/verify_code_response_spec.rb +0 -34
  379. data/spec/unit/models/voice_api_error_spec.rb +0 -46
  380. data/spec/unit/models/voice_code_response_spec.rb +0 -34
@@ -0,0 +1,393 @@
1
+ # Unit tests for Bandwidth::ConferencesApi
2
+ describe 'ConferencesApi' do
3
+ # conference info
4
+ let(:test_id) { 'ruby-3.1.3_macOS_conference_1687791527' }
5
+ let(:conference_id) { 'conf-3f758f24-6711b6d2-0d44-495d-afc8-2555c3ce5f4f' }
6
+ let(:created_time) { '2023-06-26T14:58:49.471Z' }
7
+ let(:conference_event_url) { 'https://amazonaws.com/prod/conferenceEvents' }
8
+ let(:conference_event_method) { 'POST' }
9
+ let(:call_id) { 'c-3f758f24-cd77b08f-97c2-4311-965a-a1ac8ed8f340' }
10
+ let(:recording_id) { 'r-fbe05094-7bf4b314-91fe-4bdd-a39b-500cdc873d3a' }
11
+ let(:start_time) { '2023-06-26T14:58:51.195Z' }
12
+ let(:end_time) { '2023-06-26T14:58:57.502Z' }
13
+ let(:duration) { 'PT6.3S' }
14
+ let(:channels) { 1 }
15
+ let(:file_format) { Bandwidth::FileFormatEnum::WAV }
16
+ let(:status) { 'complete' }
17
+ let(:member_url) { "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/members/#{call_id}" }
18
+ let(:media_url) { "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/recordings/#{recording_id}/media" }
19
+ let(:active_members) { "[{\"callId\":\"#{call_id}\",\"conferenceId\":\"#{conference_id}\",\"memberUrl\":\"#{member_url}\",\"mute\":false,\"hold\":false,\"callIdsToCoach\":[]}]" }
20
+
21
+ # stubs
22
+ let(:list_conferences_headers_stub) { { 'content-type' => 'application/json' } }
23
+ let(:list_conferences_body_stub) { "[{\"id\":\"#{conference_id}\",\"name\":\"#{test_id}\",\"createdTime\":\"#{created_time}\",\"conferenceEventUrl\":\"#{conference_event_url}\",\"conferenceEventMethod\":\"#{conference_event_method}\",\"tag\":\"#{test_id}\"}]" }
24
+ let(:get_conference_headers_stub) { { 'content-type' => 'application/json' } }
25
+ let(:get_conference_body_stub) { "{\"id\":\"#{conference_id}\",\"name\":\"#{test_id}\",\"createdTime\":\"#{created_time}\",\"conferenceEventUrl\":\"#{conference_event_url}\",\"conferenceEventMethod\":\"#{conference_event_method}\",\"tag\":\"#{test_id}\",\"activeMembers\":#{active_members}}" }
26
+ let(:get_conference_member_headers_stub) { { 'content-type' => 'application/json' } }
27
+ let(:get_conference_member_body_stub) { "{\"callId\":\"#{call_id}\",\"conferenceId\":\"#{conference_id}\",\"memberUrl\":\"#{member_url}\",\"mute\":false,\"hold\":false,\"callIdsToCoach\":[]}" }
28
+ let(:list_conference_recordings_headers_stub) { { 'content-type' => 'application/json' } }
29
+ let(:list_conference_recordings_body_stub) { "[{\"accountId\":\"#{BW_ACCOUNT_ID}\",\"conferenceId\":\"#{conference_id}\",\"name\":\"#{test_id}\",\"recordingId\":\"#{recording_id}\",\"duration\":\"#{duration}\",\"channels\":#{channels},\"startTime\":\"#{start_time}\",\"endTime\":\"#{end_time}\",\"fileFormat\":\"#{file_format}\",\"status\":\"#{status}\",\"mediaUrl\":\"#{media_url}\"}]" }
30
+ let(:get_conference_recording_headers_stub) { { 'content-type' => 'application/json' } }
31
+ let(:get_conference_recording_body_stub) { "{\"accountId\":\"#{BW_ACCOUNT_ID}\",\"conferenceId\":\"#{conference_id}\",\"name\":\"#{test_id}\",\"recordingId\":\"#{recording_id}\",\"duration\":\"#{duration}\",\"channels\":#{channels},\"startTime\":\"#{start_time}\",\"endTime\":\"#{end_time}\",\"fileFormat\":\"#{file_format}\",\"status\":\"#{status}\",\"mediaUrl\":\"#{media_url}\"}" }
32
+ let(:download_conference_recording_body_stub) { 'RIFFWAVEfmtLISTINFOISFTLavf58.45.100data' }
33
+ let(:download_conference_recording_headers_stub) { { 'content-type' => 'audio/vnd.wave', 'content-length' => "#{download_conference_recording_body_stub.length}" } }
34
+
35
+ before(:all) do
36
+ Bandwidth.configure do |config|
37
+ config.return_binary_data = true
38
+ config.debugging = true
39
+ end
40
+ @conferences_api_instance = Bandwidth::ConferencesApi.new
41
+ end
42
+
43
+ describe 'test an instance of ConferencesApi' do
44
+ it 'should create an instance of ConferencesApi' do
45
+ expect(@conferences_api_instance).to be_instance_of(Bandwidth::ConferencesApi)
46
+ end
47
+ end
48
+
49
+ # Download Conference Recording
50
+ describe 'download_conference_recording test' do
51
+ it 'should work' do
52
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/recordings/#{recording_id}/media").
53
+ to_return(status: 200, headers: download_conference_recording_headers_stub, body: download_conference_recording_body_stub)
54
+
55
+ data, status_code, headers = @conferences_api_instance.download_conference_recording_with_http_info(BW_ACCOUNT_ID, conference_id, recording_id)
56
+
57
+ expect(status_code).to eq(200)
58
+ expect(headers).to eq(download_conference_recording_headers_stub)
59
+ expect(data).to eq(download_conference_recording_body_stub)
60
+ end
61
+
62
+ it 'causes an ArgumentError for a missing account_id' do
63
+ expect {
64
+ resp = @conferences_api_instance.download_conference_recording(nil, '', '')
65
+ }.to raise_error(ArgumentError)
66
+ end
67
+
68
+ it 'causes an ArgumentError for a missing conference_id' do
69
+ expect {
70
+ @conferences_api_instance.download_conference_recording(BW_ACCOUNT_ID, nil, '')
71
+ }.to raise_error(ArgumentError)
72
+ end
73
+
74
+ it 'causes an ArgumentError for a missing recording_id' do
75
+ expect {
76
+ @conferences_api_instance.download_conference_recording(BW_ACCOUNT_ID, '', nil)
77
+ }.to raise_error(ArgumentError)
78
+ end
79
+ end
80
+
81
+ # Get Conference Information
82
+ describe 'get_conference' do
83
+ it 'get a conference by id' do
84
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}").
85
+ to_return(status: 200, headers: get_conference_headers_stub, body: get_conference_body_stub)
86
+
87
+ data, status_code, headers = @conferences_api_instance.get_conference_with_http_info(BW_ACCOUNT_ID, conference_id)
88
+
89
+ expect(status_code).to eq(200)
90
+ expect(headers).to eq(get_conference_headers_stub)
91
+ expect(data).to be_instance_of(Bandwidth::Conference)
92
+ expect(data.id).to eq(conference_id)
93
+ expect(data.name).to eq(test_id)
94
+ expect(data.tag).to eq(test_id)
95
+ expect(data.created_time).to eq(Time.parse(created_time))
96
+ expect(data.conference_event_url).to eq(conference_event_url)
97
+ expect(data.conference_event_method).to eq(conference_event_method)
98
+ expect(data.active_members).to be_instance_of(Array)
99
+ expect(data.active_members[0]).to be_instance_of(Bandwidth::ConferenceMember)
100
+ expect(data.active_members[0].call_id).to eq(call_id)
101
+ expect(data.active_members[0].conference_id).to eq(conference_id)
102
+ expect(data.active_members[0].member_url).to eq(member_url)
103
+ expect(data.active_members[0].mute).to be false
104
+ expect(data.active_members[0].hold).to be false
105
+ expect(data.active_members[0].call_ids_to_coach).to eq([])
106
+ end
107
+
108
+ it 'causes an ArgumentError for a missing account_id' do
109
+ expect {
110
+ resp = @conferences_api_instance.get_conference(nil, '')
111
+ }.to raise_error(ArgumentError)
112
+ end
113
+
114
+ it 'causes an ArgumentError for a missing conference_id' do
115
+ expect {
116
+ @conferences_api_instance.get_conference(BW_ACCOUNT_ID, nil)
117
+ }.to raise_error(ArgumentError)
118
+ end
119
+ end
120
+
121
+ # Get Conference Member
122
+ describe 'get_conference_member' do
123
+ it 'gets a conference member by call id' do
124
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/members/#{call_id}").
125
+ to_return(status: 200, headers: get_conference_member_headers_stub, body: get_conference_member_body_stub)
126
+
127
+ data, status_code, headers = @conferences_api_instance.get_conference_member_with_http_info(BW_ACCOUNT_ID, conference_id, call_id)
128
+
129
+ expect(status_code).to eq(200)
130
+ expect(headers).to eq(get_conference_member_headers_stub)
131
+ expect(data).to be_instance_of(Bandwidth::ConferenceMember)
132
+ expect(data.conference_id).to eq(conference_id)
133
+ expect(data.call_id).to eq(call_id)
134
+ expect(data.member_url).to eq(member_url)
135
+ expect(data.mute).to be false
136
+ expect(data.hold).to be false
137
+ expect(data.call_ids_to_coach).to eq([])
138
+ end
139
+
140
+ it 'causes an ArgumentError for a missing account_id' do
141
+ expect {
142
+ resp = @conferences_api_instance.get_conference_member(nil, '', '')
143
+ }.to raise_error(ArgumentError)
144
+ end
145
+
146
+ it 'causes an ArgumentError for a missing conference_id' do
147
+ expect {
148
+ @conferences_api_instance.get_conference_member(BW_ACCOUNT_ID, nil, '')
149
+ }.to raise_error(ArgumentError)
150
+ end
151
+
152
+ it 'causes an ArgumentError for a missing member_id' do
153
+ expect {
154
+ @conferences_api_instance.get_conference_member(BW_ACCOUNT_ID, '', nil)
155
+ }.to raise_error(ArgumentError)
156
+ end
157
+ end
158
+
159
+ # Get Conference Recording Information
160
+ describe 'get_conference_recording' do
161
+ it 'gets a conference recording by id' do
162
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/recordings/#{recording_id}").
163
+ to_return(status: 200, headers: get_conference_recording_headers_stub, body: get_conference_recording_body_stub)
164
+
165
+ data, status_code, headers = @conferences_api_instance.get_conference_recording_with_http_info(BW_ACCOUNT_ID, conference_id, recording_id)
166
+
167
+ expect(status_code).to eq(200)
168
+ expect(headers).to eq(get_conference_recording_headers_stub)
169
+ expect(data).to be_instance_of(Bandwidth::ConferenceRecordingMetadata)
170
+ expect(data.account_id).to eq(BW_ACCOUNT_ID)
171
+ expect(data.conference_id).to eq(conference_id)
172
+ expect(data.name).to eq(test_id)
173
+ expect(data.recording_id).to eq(recording_id)
174
+ expect(data.duration).to eq(duration)
175
+ expect(data.channels).to eq(channels)
176
+ expect(data.start_time).to eq(Time.parse(start_time))
177
+ expect(data.end_time).to eq(Time.parse(end_time))
178
+ expect(data.file_format).to eq(Bandwidth::FileFormatEnum::WAV)
179
+ expect(data.status).to eq('complete')
180
+ expect(data.media_url).to eq(media_url)
181
+ end
182
+
183
+ it 'causes an ArgumentError for a missing account_id' do
184
+ expect {
185
+ resp = @conferences_api_instance.get_conference_recording(nil, '', '')
186
+ }.to raise_error(ArgumentError)
187
+ end
188
+
189
+ it 'causes an ArgumentError for a missing conference_id' do
190
+ expect {
191
+ @conferences_api_instance.get_conference_recording(BW_ACCOUNT_ID, nil, '')
192
+ }.to raise_error(ArgumentError)
193
+ end
194
+
195
+ it 'causes an ArgumentError for a missing recording_id' do
196
+ expect {
197
+ @conferences_api_instance.get_conference_recording(BW_ACCOUNT_ID, '', nil)
198
+ }.to raise_error(ArgumentError)
199
+ end
200
+ end
201
+
202
+ # Get Conference Recordings
203
+ describe 'list_conference_recordings' do
204
+ it 'lists recordings for a conference' do
205
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/recordings").
206
+ to_return(status: 200, headers: list_conference_recordings_headers_stub, body: list_conference_recordings_body_stub)
207
+
208
+ data, status_code, headers = @conferences_api_instance.list_conference_recordings_with_http_info(BW_ACCOUNT_ID, conference_id)
209
+
210
+ expect(status_code).to eq(200)
211
+ expect(headers).to eq(list_conference_recordings_headers_stub)
212
+ expect(data).to be_instance_of(Array)
213
+ expect(data[0]).to be_instance_of(Bandwidth::ConferenceRecordingMetadata)
214
+ expect(data[0].account_id).to eq(BW_ACCOUNT_ID)
215
+ expect(data[0].conference_id).to eq(conference_id)
216
+ expect(data[0].name).to eq(test_id)
217
+ expect(data[0].recording_id).to eq(recording_id)
218
+ expect(data[0].duration).to eq(duration)
219
+ expect(data[0].channels).to eq(channels)
220
+ expect(data[0].start_time).to eq(Time.parse(start_time))
221
+ expect(data[0].end_time).to eq(Time.parse(end_time))
222
+ expect(data[0].file_format).to eq(Bandwidth::FileFormatEnum::WAV)
223
+ expect(data[0].status).to eq('complete')
224
+ expect(data[0].media_url).to eq(media_url)
225
+ end
226
+
227
+ it 'causes an ArgumentError for a missing account_id' do
228
+ expect {
229
+ resp = @conferences_api_instance.list_conference_recordings(nil, '')
230
+ }.to raise_error(ArgumentError)
231
+ end
232
+
233
+ it 'causes an ArgumentError for a missing conference_id' do
234
+ expect {
235
+ @conferences_api_instance.list_conference_recordings(BW_ACCOUNT_ID, nil)
236
+ }.to raise_error(ArgumentError)
237
+ end
238
+ end
239
+
240
+ # Get Conferences
241
+ describe 'list_conferences' do
242
+ it 'list all conferences' do
243
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences?name=#{test_id}").
244
+ to_return(status: 200, headers: list_conferences_headers_stub, body: list_conferences_body_stub)
245
+
246
+ conference_opts = {
247
+ name: test_id
248
+ }
249
+
250
+ data, status_code, headers = @conferences_api_instance.list_conferences_with_http_info(BW_ACCOUNT_ID, conference_opts)
251
+
252
+ expect(status_code).to eq(200)
253
+ expect(headers).to eq(list_conferences_headers_stub)
254
+ expect(data).to be_instance_of(Array)
255
+ expect(data[0]).to be_instance_of(Bandwidth::Conference)
256
+ expect(data[0].id).to eq(conference_id)
257
+ expect(data[0].name).to eq(test_id)
258
+ expect(data[0].tag).to eq(test_id)
259
+ expect(data[0].created_time).to eq(Time.parse(created_time))
260
+ expect(data[0].conference_event_url).to eq(conference_event_url)
261
+ expect(data[0].conference_event_method).to eq(conference_event_method)
262
+ end
263
+
264
+ it 'causes an ArgumentError for a missing account_id' do
265
+ expect {
266
+ resp = @conferences_api_instance.list_conferences(nil, {})
267
+ }.to raise_error(ArgumentError)
268
+ end
269
+
270
+ it 'causes an ArgumentError for an invalid page_size' do
271
+ expect {
272
+ @conferences_api_instance.list_conferences(BW_ACCOUNT_ID, { page_size: 1001 })
273
+ }.to raise_error(ArgumentError)
274
+ end
275
+
276
+ it 'causes an ArgumentError for an invalid page_size' do
277
+ expect {
278
+ @conferences_api_instance.list_conferences(BW_ACCOUNT_ID, { page_size: 0 })
279
+ }.to raise_error(ArgumentError)
280
+ end
281
+ end
282
+
283
+ # Update Conference
284
+ describe 'update_conference' do
285
+ it 'updates a conference' do
286
+ stub_request(:post, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}").
287
+ to_return(status: 204)
288
+
289
+ update_conference_body = Bandwidth::UpdateConference.new(
290
+ status: Bandwidth::ConferenceStateEnum::ACTIVE,
291
+ redirect_url: BASE_CALLBACK_URL + '/bxml/pause',
292
+ redirect_method: Bandwidth::RedirectMethodEnum::POST,
293
+ username: 'username',
294
+ password: 'password',
295
+ redirect_fallback_url: BASE_CALLBACK_URL + '/bxml/pause',
296
+ redirect_fallback_method: Bandwidth::RedirectMethodEnum::POST,
297
+ fallback_username: 'username',
298
+ fallback_password: 'password'
299
+ )
300
+
301
+ data, status_code, headers = @conferences_api_instance.update_conference_with_http_info(BW_ACCOUNT_ID, conference_id, update_conference_body)
302
+ expect(status_code).to eq(204)
303
+ end
304
+
305
+ it 'causes an ArgumentError for a missing account_id' do
306
+ expect {
307
+ resp = @conferences_api_instance.update_conference(nil, '', '')
308
+ }.to raise_error(ArgumentError)
309
+ end
310
+
311
+ it 'causes an ArgumentError for a missing conference_id' do
312
+ expect {
313
+ @conferences_api_instance.update_conference(BW_ACCOUNT_ID, nil, '')
314
+ }.to raise_error(ArgumentError)
315
+ end
316
+
317
+ it 'causes an ArgumentError for a missing update_conference' do
318
+ expect {
319
+ @conferences_api_instance.update_conference(BW_ACCOUNT_ID, '', nil)
320
+ }.to raise_error(ArgumentError)
321
+ end
322
+ end
323
+
324
+ # Update Conference BXML
325
+ describe 'update_conference_bxml' do
326
+ it 'updates a conference using bxml' do
327
+ stub_request(:put, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/bxml").
328
+ to_return(status: 204)
329
+
330
+ update_bxml = '<?xml version="1.0" encoding="UTF-8"?><Bxml><StartRecording/><SpeakSentence locale="en_US" gender="female" voice="susan">This should be a conference recording.</SpeakSentence><StopRecording/></Bxml>'
331
+
332
+ data, status_code, headers = @conferences_api_instance.update_conference_bxml_with_http_info(BW_ACCOUNT_ID, conference_id, update_bxml)
333
+ expect(status_code).to eq(204)
334
+ end
335
+
336
+ it 'causes an ArgumentError for a missing account_id' do
337
+ expect {
338
+ resp = @conferences_api_instance.update_conference_bxml(nil, '', '')
339
+ }.to raise_error(ArgumentError)
340
+ end
341
+
342
+ it 'causes an ArgumentError for a missing conference_id' do
343
+ expect {
344
+ @conferences_api_instance.update_conference_bxml(BW_ACCOUNT_ID, nil, '')
345
+ }.to raise_error(ArgumentError)
346
+ end
347
+
348
+ it 'causes an ArgumentError for a missing body' do
349
+ expect {
350
+ @conferences_api_instance.update_conference_bxml(BW_ACCOUNT_ID, '', nil)
351
+ }.to raise_error(ArgumentError)
352
+ end
353
+ end
354
+
355
+ # Update Conference Member
356
+ describe 'update_conference_member' do
357
+ it 'updates a conference member by call id' do
358
+ stub_request(:put, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/conferences/#{conference_id}/members/#{call_id}").
359
+ to_return(status: 204)
360
+
361
+ update_conference_member = Bandwidth::UpdateConferenceMember.new(
362
+ mute: false
363
+ )
364
+
365
+ data, status_code, headers = @conferences_api_instance.update_conference_member_with_http_info(BW_ACCOUNT_ID, conference_id, call_id, update_conference_member)
366
+ expect(status_code).to eq(204)
367
+ end
368
+
369
+ it 'causes an ArgumentError for a missing account_id' do
370
+ expect {
371
+ resp = @conferences_api_instance.update_conference_member(nil, '', '', {})
372
+ }.to raise_error(ArgumentError)
373
+ end
374
+
375
+ it 'causes an ArgumentError for a missing conference_id' do
376
+ expect {
377
+ @conferences_api_instance.update_conference_member(BW_ACCOUNT_ID, nil, '', {})
378
+ }.to raise_error(ArgumentError)
379
+ end
380
+
381
+ it 'causes an ArgumentError for a missing member_id' do
382
+ expect {
383
+ @conferences_api_instance.update_conference_member(BW_ACCOUNT_ID, '', nil, {})
384
+ }.to raise_error(ArgumentError)
385
+ end
386
+
387
+ it 'causes an ArgumentError for a missing update_conference_member' do
388
+ expect {
389
+ @conferences_api_instance.update_conference_member(BW_ACCOUNT_ID, '', '', nil)
390
+ }.to raise_error(ArgumentError)
391
+ end
392
+ end
393
+ end
@@ -0,0 +1,129 @@
1
+ # Unit tests for Bandwidth::MediaApi
2
+ describe 'MediaApi' do
3
+ # media info
4
+ let(:media_name) { 'ruby_binary_media' + SecureRandom.uuid }
5
+ let(:media_data) { '123456' }
6
+ let(:content_url) { "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/media/#{media_name}" }
7
+
8
+ # stubs
9
+ let(:get_media_headers_stub) { { 'content-type' => 'application/json' } }
10
+ let(:list_media_body_stub) { "[{\"contentLength\":#{media_data.length},\"mediaName\":\"#{media_name}\",\"content\":\"#{content_url}\"}]" }
11
+ let(:list_media_headers_stub) { { 'content-type' => 'application/json' } }
12
+
13
+ before(:all) do
14
+ Bandwidth.configure do |config|
15
+ config.return_binary_data = true
16
+ config.debugging = true
17
+ end
18
+ @media_api_instance = Bandwidth::MediaApi.new
19
+ end
20
+
21
+ describe 'test an instance of MediaApi' do
22
+ it 'should create an instance of MediaApi' do
23
+ expect(@media_api_instance).to be_instance_of(Bandwidth::MediaApi)
24
+ end
25
+ end
26
+
27
+ # Delete Media
28
+ describe 'delete_media' do
29
+ it 'deletes the binary media' do
30
+ stub_request(:delete, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/media/#{media_name}").
31
+ to_return(status: 204)
32
+
33
+ data, status_code, headers = @media_api_instance.delete_media_with_http_info(BW_ACCOUNT_ID, media_name)
34
+
35
+ expect(status_code).to eq(204)
36
+ end
37
+
38
+ it 'causes an ArgumentError for a missing account_id' do
39
+ expect {
40
+ resp = @media_api_instance.delete_media(nil, '')
41
+ }.to raise_error(ArgumentError)
42
+ end
43
+
44
+ it 'causes an ArgumentError for a missing media_id' do
45
+ expect {
46
+ @media_api_instance.delete_media(BW_ACCOUNT_ID, nil)
47
+ }.to raise_error(ArgumentError)
48
+ end
49
+ end
50
+
51
+ # Get Media
52
+ describe 'get_media' do
53
+ it 'gets uploaded binary media' do
54
+ stub_request(:get, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/media/#{media_name}").
55
+ to_return(status: 200, headers: get_media_headers_stub, body: media_data)
56
+
57
+ data, status_code, headers = @media_api_instance.get_media_with_http_info(BW_ACCOUNT_ID, media_name)
58
+
59
+ expect(status_code).to eq(200)
60
+ expect(headers).to eq(get_media_headers_stub)
61
+ expect(data).to eq(media_data)
62
+ end
63
+
64
+ it 'causes an ArgumentError for a missing account_id' do
65
+ expect {
66
+ resp = @media_api_instance.get_media(nil, '')
67
+ }.to raise_error(ArgumentError)
68
+ end
69
+
70
+ it 'causes an ArgumentError for a missing media_id' do
71
+ expect {
72
+ @media_api_instance.get_media(BW_ACCOUNT_ID, nil)
73
+ }.to raise_error(ArgumentError)
74
+ end
75
+ end
76
+
77
+ # List Media
78
+ describe 'list_media' do
79
+ it 'lists media' do
80
+ stub_request(:get, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/media").
81
+ to_return(status: 200, headers: list_media_headers_stub, body: list_media_body_stub)
82
+
83
+ data, status_code, headers = @media_api_instance.list_media_with_http_info(BW_ACCOUNT_ID)
84
+
85
+ expect(status_code).to eq(200)
86
+ expect(headers).to eq(list_media_headers_stub)
87
+ expect(data).to be_instance_of(Array)
88
+ expect(data[0]).to be_instance_of(Bandwidth::Media)
89
+ expect(data[0].content_length).to eq(media_data.length)
90
+ expect(data[0].media_name).to eq(media_name)
91
+ expect(data[0].content).to eq(content_url)
92
+ end
93
+
94
+ it 'causes an ArgumentError for a missing account_id' do
95
+ expect {
96
+ resp = @media_api_instance.list_media(nil)
97
+ }.to raise_error(ArgumentError)
98
+ end
99
+ end
100
+
101
+ # Upload Media
102
+ describe 'upload_media' do
103
+ it 'uploads binary media' do
104
+ stub_request(:put, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/media/#{media_name}").
105
+ to_return(status: 204)
106
+
107
+ data, status_code, headers = @media_api_instance.upload_media_with_http_info(BW_ACCOUNT_ID, media_name, media_data)
108
+ expect(status_code).to eq(204)
109
+ end
110
+
111
+ it 'causes an ArgumentError for a missing account_id' do
112
+ expect {
113
+ resp = @media_api_instance.upload_media(nil, '', '')
114
+ }.to raise_error(ArgumentError)
115
+ end
116
+
117
+ it 'causes an ArgumentError for a missing media_id' do
118
+ expect {
119
+ @media_api_instance.upload_media(BW_ACCOUNT_ID, nil, '')
120
+ }.to raise_error(ArgumentError)
121
+ end
122
+
123
+ it 'causes an ArgumentError for a missing body' do
124
+ expect {
125
+ @media_api_instance.upload_media(BW_ACCOUNT_ID, '', nil)
126
+ }.to raise_error(ArgumentError)
127
+ end
128
+ end
129
+ end