bandwidth-sdk 11.0.0.pre.beta.1.1 → 11.0.0.pre.beta.3.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 +9759 -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 +108249 -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 +12 -10
  101. data/lib/bandwidth-sdk/models/account_statistics.rb +14 -21
  102. data/lib/bandwidth-sdk/models/answer_callback.rb +16 -24
  103. data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +15 -22
  104. data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +15 -22
  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 +14 -21
  140. data/lib/bandwidth-sdk/models/call_state.rb +16 -23
  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 +29 -22
  144. data/lib/bandwidth-sdk/models/conference.rb +17 -24
  145. data/lib/bandwidth-sdk/models/conference_completed_callback.rb +15 -22
  146. data/lib/bandwidth-sdk/models/conference_created_callback.rb +15 -22
  147. data/lib/bandwidth-sdk/models/conference_member.rb +14 -21
  148. data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +15 -22
  149. data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +15 -22
  150. data/lib/bandwidth-sdk/models/conference_recording_available_callback.rb +15 -22
  151. data/lib/bandwidth-sdk/models/conference_recording_metadata.rb +14 -21
  152. data/lib/bandwidth-sdk/models/conference_redirect_callback.rb +15 -22
  153. data/lib/bandwidth-sdk/models/conference_state_enum.rb +3 -3
  154. data/lib/bandwidth-sdk/models/create_call.rb +34 -24
  155. data/lib/bandwidth-sdk/models/create_call_response.rb +36 -29
  156. data/lib/bandwidth-sdk/models/create_lookup_response.rb +14 -21
  157. data/lib/bandwidth-sdk/models/create_message_request_error.rb +18 -21
  158. data/lib/bandwidth-sdk/models/deferred_result.rb +14 -21
  159. data/lib/bandwidth-sdk/models/disconenct_callback.rb +1 -3
  160. data/lib/bandwidth-sdk/models/disconnect_callback.rb +15 -22
  161. data/lib/bandwidth-sdk/models/diversion.rb +14 -21
  162. data/lib/bandwidth-sdk/models/dtmf_callback.rb +15 -22
  163. data/lib/bandwidth-sdk/models/field_error.rb +14 -21
  164. data/lib/bandwidth-sdk/models/file_format_enum.rb +3 -3
  165. data/lib/bandwidth-sdk/models/gather_callback.rb +15 -22
  166. data/lib/bandwidth-sdk/models/inbound_message_callback.rb +24 -21
  167. data/lib/bandwidth-sdk/models/inbound_message_callback_message.rb +33 -21
  168. data/lib/bandwidth-sdk/models/initiate_callback.rb +15 -22
  169. data/lib/bandwidth-sdk/models/list_message_direction_enum.rb +3 -3
  170. data/lib/bandwidth-sdk/models/list_message_item.rb +31 -27
  171. data/lib/bandwidth-sdk/models/lookup_request.rb +16 -21
  172. data/lib/bandwidth-sdk/models/lookup_result.rb +14 -21
  173. data/lib/bandwidth-sdk/models/lookup_status.rb +14 -21
  174. data/lib/bandwidth-sdk/models/lookup_status_enum.rb +5 -5
  175. data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +16 -24
  176. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +14 -21
  177. data/lib/bandwidth-sdk/models/machine_detection_mode_enum.rb +3 -3
  178. data/lib/bandwidth-sdk/models/machine_detection_result.rb +224 -0
  179. data/lib/bandwidth-sdk/models/media.rb +14 -21
  180. data/lib/bandwidth-sdk/models/message.rb +23 -22
  181. data/lib/bandwidth-sdk/models/message_delivered_callback.rb +24 -21
  182. data/lib/bandwidth-sdk/models/message_delivered_callback_message.rb +35 -21
  183. data/lib/bandwidth-sdk/models/message_direction_enum.rb +3 -3
  184. data/lib/bandwidth-sdk/models/message_failed_callback.rb +26 -21
  185. data/lib/bandwidth-sdk/models/message_failed_callback_message.rb +37 -21
  186. data/lib/bandwidth-sdk/models/message_request.rb +26 -23
  187. data/lib/bandwidth-sdk/models/message_sending_callback.rb +24 -21
  188. data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +37 -21
  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 +15 -22
  192. data/lib/bandwidth-sdk/models/messaging_code_response.rb +14 -21
  193. data/lib/bandwidth-sdk/models/messaging_request_error.rb +18 -21
  194. data/lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb +14 -21
  195. data/lib/bandwidth-sdk/models/mfa_request_error.rb +14 -21
  196. data/lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb +14 -21
  197. data/lib/bandwidth-sdk/models/page_info.rb +14 -21
  198. data/lib/bandwidth-sdk/models/priority_enum.rb +3 -3
  199. data/lib/bandwidth-sdk/models/recording_available_callback.rb +15 -22
  200. data/lib/bandwidth-sdk/models/recording_complete_callback.rb +15 -22
  201. data/lib/bandwidth-sdk/models/recording_state_enum.rb +3 -3
  202. data/lib/bandwidth-sdk/models/redirect_callback.rb +15 -22
  203. data/lib/bandwidth-sdk/models/redirect_method_enum.rb +3 -3
  204. data/lib/bandwidth-sdk/models/stir_shaken.rb +14 -21
  205. data/lib/bandwidth-sdk/models/tag.rb +14 -21
  206. data/lib/bandwidth-sdk/models/tn_lookup_request_error.rb +14 -21
  207. data/lib/bandwidth-sdk/models/transcribe_recording.rb +32 -26
  208. data/lib/bandwidth-sdk/models/transcription.rb +14 -21
  209. data/lib/bandwidth-sdk/models/transcription_available_callback.rb +15 -22
  210. data/lib/bandwidth-sdk/models/transcription_list.rb +14 -21
  211. data/lib/bandwidth-sdk/models/transcription_metadata.rb +14 -21
  212. data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +15 -22
  213. data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +15 -22
  214. data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +15 -22
  215. data/lib/bandwidth-sdk/models/update_call.rb +24 -22
  216. data/lib/bandwidth-sdk/models/update_call_recording.rb +16 -21
  217. data/lib/bandwidth-sdk/models/update_conference.rb +15 -22
  218. data/lib/bandwidth-sdk/models/update_conference_member.rb +14 -21
  219. data/lib/bandwidth-sdk/models/verify_code_request.rb +20 -21
  220. data/lib/bandwidth-sdk/models/verify_code_response.rb +14 -21
  221. data/lib/bandwidth-sdk/models/voice_api_error.rb +14 -21
  222. data/lib/bandwidth-sdk/models/voice_code_response.rb +14 -21
  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 +190 -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 +168 -0
  281. data/spec/models/deferred_result_spec.rb +74 -0
  282. data/spec/models/message_spec.rb +138 -0
  283. data/spec/models/verify_code_request_spec.rb +126 -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
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: letstalk@bandwidth.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.4.0
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -55,7 +55,7 @@ module Bandwidth
55
55
  # @param [Hash] attributes Model attributes in the form of hash
56
56
  def initialize(attributes = {})
57
57
  if (!attributes.is_a?(Hash))
58
- fail ArgumentError, "The input argument (attributes) must be a hash in `Bandwidth::VoiceApiError` initialize method"
58
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::VoiceApiError` initialize method'
59
59
  end
60
60
 
61
61
  # check to see if the attribute exists and convert string to symbol for hash key
@@ -82,6 +82,7 @@ module Bandwidth
82
82
  # Show invalid properties with the reasons. Usually used together with valid?
83
83
  # @return Array for valid properties with the reasons
84
84
  def list_invalid_properties
85
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
85
86
  invalid_properties = Array.new
86
87
  invalid_properties
87
88
  end
@@ -89,6 +90,7 @@ module Bandwidth
89
90
  # Check to see if the all the properties in the model are valid
90
91
  # @return true if the model is valid
91
92
  def valid?
93
+ warn '[DEPRECATED] the `valid?` method is obsolete'
92
94
  true
93
95
  end
94
96
 
@@ -118,37 +120,30 @@ module Bandwidth
118
120
  # @param [Hash] attributes Model attributes in the form of hash
119
121
  # @return [Object] Returns the model itself
120
122
  def self.build_from_hash(attributes)
121
- new.build_from_hash(attributes)
122
- end
123
-
124
- # Builds the object from hash
125
- # @param [Hash] attributes Model attributes in the form of hash
126
- # @return [Object] Returns the model itself
127
- def build_from_hash(attributes)
128
123
  return nil unless attributes.is_a?(Hash)
129
124
  attributes = attributes.transform_keys(&:to_sym)
130
- self.class.openapi_types.each_pair do |key, type|
131
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
132
- self.send("#{key}=", nil)
125
+ transformed_hash = {}
126
+ openapi_types.each_pair do |key, type|
127
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = nil
133
129
  elsif type =~ /\AArray<(.*)>/i
134
130
  # check to ensure the input is an array given that the attribute
135
131
  # is documented as an array but the input is not
136
- if attributes[self.class.attribute_map[key]].is_a?(Array)
137
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
132
+ if attributes[attribute_map[key]].is_a?(Array)
133
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
138
134
  end
139
- elsif !attributes[self.class.attribute_map[key]].nil?
140
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
135
+ elsif !attributes[attribute_map[key]].nil?
136
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
141
137
  end
142
138
  end
143
-
144
- self
139
+ new(transformed_hash)
145
140
  end
146
141
 
147
142
  # Deserializes the data based on type
148
143
  # @param string type Data type
149
144
  # @param string value Value to be deserialized
150
145
  # @return [Object] Deserialized data
151
- def _deserialize(type, value)
146
+ def self._deserialize(type, value)
152
147
  case type.to_sym
153
148
  when :Time
154
149
  Time.parse(value)
@@ -232,7 +227,5 @@ module Bandwidth
232
227
  value
233
228
  end
234
229
  end
235
-
236
230
  end
237
-
238
231
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: letstalk@bandwidth.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.4.0
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -47,7 +47,7 @@ module Bandwidth
47
47
  # @param [Hash] attributes Model attributes in the form of hash
48
48
  def initialize(attributes = {})
49
49
  if (!attributes.is_a?(Hash))
50
- fail ArgumentError, "The input argument (attributes) must be a hash in `Bandwidth::VoiceCodeResponse` initialize method"
50
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Bandwidth::VoiceCodeResponse` initialize method'
51
51
  end
52
52
 
53
53
  # check to see if the attribute exists and convert string to symbol for hash key
@@ -66,6 +66,7 @@ module Bandwidth
66
66
  # Show invalid properties with the reasons. Usually used together with valid?
67
67
  # @return Array for valid properties with the reasons
68
68
  def list_invalid_properties
69
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
69
70
  invalid_properties = Array.new
70
71
  invalid_properties
71
72
  end
@@ -73,6 +74,7 @@ module Bandwidth
73
74
  # Check to see if the all the properties in the model are valid
74
75
  # @return true if the model is valid
75
76
  def valid?
77
+ warn '[DEPRECATED] the `valid?` method is obsolete'
76
78
  true
77
79
  end
78
80
 
@@ -100,37 +102,30 @@ module Bandwidth
100
102
  # @param [Hash] attributes Model attributes in the form of hash
101
103
  # @return [Object] Returns the model itself
102
104
  def self.build_from_hash(attributes)
103
- new.build_from_hash(attributes)
104
- end
105
-
106
- # Builds the object from hash
107
- # @param [Hash] attributes Model attributes in the form of hash
108
- # @return [Object] Returns the model itself
109
- def build_from_hash(attributes)
110
105
  return nil unless attributes.is_a?(Hash)
111
106
  attributes = attributes.transform_keys(&:to_sym)
112
- self.class.openapi_types.each_pair do |key, type|
113
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
- self.send("#{key}=", nil)
107
+ transformed_hash = {}
108
+ openapi_types.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash["#{key}"] = nil
115
111
  elsif type =~ /\AArray<(.*)>/i
116
112
  # check to ensure the input is an array given that the attribute
117
113
  # is documented as an array but the input is not
118
- if attributes[self.class.attribute_map[key]].is_a?(Array)
119
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
120
116
  end
121
- elsif !attributes[self.class.attribute_map[key]].nil?
122
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ elsif !attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
123
119
  end
124
120
  end
125
-
126
- self
121
+ new(transformed_hash)
127
122
  end
128
123
 
129
124
  # Deserializes the data based on type
130
125
  # @param string type Data type
131
126
  # @param string value Value to be deserialized
132
127
  # @return [Object] Deserialized data
133
- def _deserialize(type, value)
128
+ def self._deserialize(type, value)
134
129
  case type.to_sym
135
130
  when :Time
136
131
  Time.parse(value)
@@ -214,7 +209,5 @@ module Bandwidth
214
209
  value
215
210
  end
216
211
  end
217
-
218
212
  end
219
-
220
213
  end
@@ -6,10 +6,10 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: letstalk@bandwidth.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.4.0
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
13
13
  module Bandwidth
14
- VERSION = '11.0.0.pre.beta.1.1'
14
+ VERSION = ENV.fetch('GEM_VERSION')
15
15
  end
data/lib/bandwidth-sdk.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: letstalk@bandwidth.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.4.0
9
+ OpenAPI Generator version: 7.0.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -60,6 +60,7 @@ require 'bandwidth-sdk/models/lookup_status_enum'
60
60
  require 'bandwidth-sdk/models/machine_detection_complete_callback'
61
61
  require 'bandwidth-sdk/models/machine_detection_configuration'
62
62
  require 'bandwidth-sdk/models/machine_detection_mode_enum'
63
+ require 'bandwidth-sdk/models/machine_detection_result'
63
64
  require 'bandwidth-sdk/models/media'
64
65
  require 'bandwidth-sdk/models/message'
65
66
  require 'bandwidth-sdk/models/message_delivered_callback'
@@ -113,6 +114,7 @@ require 'bandwidth-sdk/models/bxml/verb'
113
114
  require 'bandwidth-sdk/models/bxml/nestable_verb'
114
115
  require 'bandwidth-sdk/models/bxml/verbs/bridge'
115
116
  require 'bandwidth-sdk/models/bxml/verbs/conference'
117
+ require 'bandwidth-sdk/models/bxml/verbs/custom_param'
116
118
  require 'bandwidth-sdk/models/bxml/verbs/forward'
117
119
  require 'bandwidth-sdk/models/bxml/verbs/gather'
118
120
  require 'bandwidth-sdk/models/bxml/verbs/hangup'
@@ -130,9 +132,11 @@ require 'bandwidth-sdk/models/bxml/verbs/speak_sentence'
130
132
  require 'bandwidth-sdk/models/bxml/verbs/start_gather'
131
133
  require 'bandwidth-sdk/models/bxml/verbs/start_recording'
132
134
  require 'bandwidth-sdk/models/bxml/verbs/start_stream'
135
+ require 'bandwidth-sdk/models/bxml/verbs/start_transcription'
133
136
  require 'bandwidth-sdk/models/bxml/verbs/stop_gather'
134
137
  require 'bandwidth-sdk/models/bxml/verbs/stop_recording'
135
138
  require 'bandwidth-sdk/models/bxml/verbs/stop_stream'
139
+ require 'bandwidth-sdk/models/bxml/verbs/stop_transcription'
136
140
  require 'bandwidth-sdk/models/bxml/verbs/stream_param'
137
141
  require 'bandwidth-sdk/models/bxml/verbs/tag'
138
142
  require 'bandwidth-sdk/models/bxml/verbs/transfer'
data/openapi-config.yml CHANGED
@@ -9,3 +9,4 @@ gemSummary: Bandwidth Ruby SDK
9
9
  gemVersion: 11.0.0
10
10
  library: faraday
11
11
  moduleName: Bandwidth
12
+ templateDir: custom_templates
data/openapitools.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
3
+ "spaces": 2,
4
+ "generator-cli": {
5
+ "version": "6.5.0"
6
+ }
7
+ }
@@ -0,0 +1,228 @@
1
+ # Unit tests for Bandwidth::CallsApi
2
+ describe 'CallsApi' do
3
+ # call info
4
+ let(:call_id) { 'c-15ac29a2-006c67ad-060f-4b98-b148-b753d6e5e2ce' }
5
+ let(:enqueued_time) { '2023-06-23T18:43:51.248Z' }
6
+ let(:call_url) { "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/calls/#{call_id}" }
7
+ let(:call_timeout) { 30.0 }
8
+ let(:callback_timeout) { 15.0 }
9
+ let(:answer_method) { Bandwidth::CallbackMethodEnum::POST }
10
+ let(:answer_url) { BASE_CALLBACK_URL + '/callbacks/answer' }
11
+ let(:answer_fallback_url) { BASE_CALLBACK_URL + '/callbacks/answer' }
12
+ let(:answer_fallback_method) { Bandwidth::CallbackMethodEnum::POST }
13
+ let(:disconnect_method) { Bandwidth::CallbackMethodEnum::GET }
14
+ let(:disconnect_url) { BASE_CALLBACK_URL + '/callbacks/disconnect' }
15
+ let(:priority) { 5 }
16
+ let(:direction) { Bandwidth::CallDirectionEnum::OUTBOUND }
17
+ let(:state) { 'disconnected' }
18
+ let(:stir_shaken) { {} }
19
+ let(:start_time) { '2023-06-23T19:11:06.049Z' }
20
+ let(:end_time) { '2023-06-23T19:11:06.175Z' }
21
+ let(:disconnect_cause) { 'rejected' }
22
+ let(:error_message) { 'Destination not found' }
23
+ let(:error_id) { '779941c4-6482-461d-b370-177b4ad0b5a7' }
24
+ let(:last_update) { '2023-06-23T19:11:06.175Z' }
25
+ let(:tag) { 'test tag' }
26
+
27
+ # stubs
28
+ let(:create_call_headers_stub) { { 'content-type' => 'application/json' } }
29
+ let(:create_call_body_stub) { "{\"applicationId\":\"#{BW_VOICE_APPLICATION_ID}\",\"accountId\":\"#{BW_ACCOUNT_ID}\",\"callId\":\"#{call_id}\",\"to\":\"#{USER_NUMBER}\",\"from\":\"#{BW_NUMBER}\",\"enqueuedTime\":\"#{enqueued_time}\",\"callUrl\":\"#{call_url}\",\"callTimeout\":#{call_timeout},\"callbackTimeout\":#{callback_timeout},\"tag\":\"#{tag}\",\"answerMethod\":\"#{answer_method}\",\"answerUrl\":\"#{answer_url}\",\"answerFallbackUrl\":\"#{answer_fallback_url}\",\"answerFallbackMethod\":\"#{answer_fallback_method}\",\"disconnectMethod\":\"#{disconnect_method}\",\"disconnectUrl\":\"#{disconnect_url}\",\"priority\":#{priority}}" }
30
+ let(:create_call_bad_request_stub) { '{"type":"validation","description":"Invalid to: must be a valid SIP URI or an E164 TN"}' }
31
+ let(:get_call_state_headers_stub) { { 'content-type' => 'application/json' } }
32
+ let(:get_call_state_body_stub) { "{\"applicationId\":\"#{BW_VOICE_APPLICATION_ID}\",\"accountId\":\"#{BW_ACCOUNT_ID}\",\"callId\":\"#{call_id}\",\"to\":\"#{USER_NUMBER}\",\"from\":\"#{BW_NUMBER}\",\"direction\":\"#{direction}\",\"state\":\"#{state}\",\"stirShaken\":#{stir_shaken},\"enqueuedTime\":\"#{enqueued_time}\",\"startTime\":\"#{start_time}\",\"endTime\":\"#{end_time}\",\"disconnectCause\":\"#{disconnect_cause}\",\"errorMessage\":\"#{error_message}\",\"errorId\":\"#{error_id}\",\"lastUpdate\":\"#{last_update}\"}" }
33
+ let(:get_call_state_not_found_stub) { '{"type":"validation","description":"Call does-not-exist was not found."}' }
34
+ let(:get_call_state_unauthorized_stub) { '{"type":"authentication-error","description":"The credentials provided were invalid"}' }
35
+ let(:get_call_state_forbidden_stub) { '{"type":"authorization-error","description":"Access is denied"}' }
36
+ let(:update_call_headers_stub) { { 'content-length' => '0' } }
37
+
38
+ before(:all) do
39
+ Bandwidth.configure do |config|
40
+ config.debugging = true
41
+ end
42
+ @calls_api_instance = Bandwidth::CallsApi.new
43
+ end
44
+
45
+ describe 'test an instance of CallsApi' do
46
+ it 'should create an instance of CallsApi' do
47
+ expect(@calls_api_instance).to be_instance_of(Bandwidth::CallsApi)
48
+ end
49
+ end
50
+
51
+ # Create Call
52
+ describe '#create_call' do
53
+ it 'creates a call with amd' do
54
+ stub_request(:post, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/calls").
55
+ to_return(status: 201, headers: create_call_headers_stub, body: create_call_body_stub)
56
+
57
+ amd_config = Bandwidth::MachineDetectionConfiguration.new(
58
+ mode: 'async',
59
+ detection_timeout: 5.0,
60
+ silence_timeout: 5.0,
61
+ speech_threshold: 5.0,
62
+ speech_end_threshold: 5.0,
63
+ delay_result: true,
64
+ callback_url: BASE_CALLBACK_URL + '/machineDetection',
65
+ callback_method: Bandwidth::CallbackMethodEnum::POST
66
+ )
67
+
68
+ call_body = Bandwidth::CreateCall.new(
69
+ application_id: BW_VOICE_APPLICATION_ID,
70
+ to: USER_NUMBER,
71
+ from: BW_NUMBER,
72
+ answer_url: answer_url,
73
+ answer_fallback_url: answer_fallback_url,
74
+ answer_method: answer_method,
75
+ disconnect_url: disconnect_url,
76
+ disconnect_method: disconnect_method,
77
+ machine_detection: amd_config,
78
+ call_timeout: call_timeout,
79
+ callback_timeout: callback_timeout,
80
+ tag: tag
81
+ )
82
+
83
+ data, status_code, headers = @calls_api_instance.create_call_with_http_info(BW_ACCOUNT_ID, call_body)
84
+
85
+ expect(status_code).to eq(201)
86
+ expect(headers).to eq(create_call_headers_stub)
87
+ expect(data).to be_instance_of(Bandwidth::CreateCallResponse)
88
+ expect(data.application_id).to eq(BW_VOICE_APPLICATION_ID)
89
+ expect(data.account_id).to eq(BW_ACCOUNT_ID)
90
+ expect(data.call_id).to eq(call_id)
91
+ expect(data.to).to eq(USER_NUMBER)
92
+ expect(data.from).to eq(BW_NUMBER)
93
+ expect(data.enqueued_time).to eq(Time.parse(enqueued_time))
94
+ expect(data.call_url).to eq(call_url)
95
+ expect(data.call_timeout).to eq(call_timeout)
96
+ expect(data.callback_timeout).to eq(callback_timeout)
97
+ expect(data.tag).to eq(tag)
98
+ expect(data.answer_method).to eq(answer_method)
99
+ expect(data.answer_url).to eq(answer_url)
100
+ expect(data.answer_fallback_method).to eq(answer_fallback_method)
101
+ expect(data.answer_fallback_url).to eq(answer_fallback_url)
102
+ expect(data.disconnect_method).to eq(disconnect_method)
103
+ expect(data.disconnect_url).to eq(disconnect_url)
104
+ expect(data.priority).to eq(priority)
105
+ end
106
+
107
+ it 'causes an ArgumentError for a missing account_id' do
108
+ expect {
109
+ @calls_api_instance.create_call(nil, {})
110
+ }.to raise_error(ArgumentError)
111
+ end
112
+
113
+ it 'causes an ArgumentError for a missing create_call' do
114
+ expect {
115
+ @calls_api_instance.create_call(BW_ACCOUNT_ID, nil)
116
+ }.to raise_error(ArgumentError)
117
+ end
118
+ end
119
+
120
+ # Get Call State Information
121
+ describe '#get_call_state' do
122
+ it 'gets the call state' do
123
+ stub_request(:get, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/calls/#{call_id}").
124
+ to_return(status: 200, headers: get_call_state_headers_stub, body: get_call_state_body_stub)
125
+
126
+ data, status_code, headers = @calls_api_instance.get_call_state_with_http_info(BW_ACCOUNT_ID, call_id)
127
+
128
+ expect(status_code).to eq(200)
129
+ expect(headers).to eq(get_call_state_headers_stub)
130
+ expect(data).to be_instance_of(Bandwidth::CallState)
131
+ expect(data.application_id).to eq(BW_VOICE_APPLICATION_ID)
132
+ expect(data.account_id).to eq(BW_ACCOUNT_ID)
133
+ expect(data.call_id).to eq(call_id)
134
+ expect(data.to).to eq(USER_NUMBER)
135
+ expect(data.from).to eq(BW_NUMBER)
136
+ expect(data.direction).to eq(direction)
137
+ expect(data.stir_shaken).to eq(stir_shaken)
138
+ expect(data.state).to eq(state)
139
+ expect(data.enqueued_time).to eq(Time.parse(enqueued_time))
140
+ expect(data.start_time).to eq(Time.parse(start_time))
141
+ expect(data.end_time).to eq(Time.parse(end_time))
142
+ expect(data.disconnect_cause).to eq(disconnect_cause)
143
+ expect(data.error_message).to eq(error_message)
144
+ expect(data.error_id).to eq(error_id)
145
+ expect(data.last_update).to eq(Time.parse(last_update))
146
+ end
147
+
148
+ it 'causes an ArgumentError for a missing account_id' do
149
+ expect {
150
+ resp = @calls_api_instance.get_call_state(nil, '')
151
+ }.to raise_error(ArgumentError)
152
+ end
153
+
154
+ it 'causes an ArgumentError for a missing call_id' do
155
+ expect {
156
+ @calls_api_instance.get_call_state(BW_ACCOUNT_ID, nil)
157
+ }.to raise_error(ArgumentError)
158
+ end
159
+ end
160
+
161
+ # Update Call
162
+ describe '#update_call' do
163
+ it 'creates and updates a call' do
164
+ stub_request(:post, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/calls/#{call_id}").
165
+ to_return(status: 200, headers: update_call_headers_stub)
166
+
167
+ update_call_body = Bandwidth::UpdateCall.new(
168
+ state: Bandwidth::CallStateEnum::ACTIVE,
169
+ redirect_url: MANTECA_BASE_URL + '/bxml/pause'
170
+ )
171
+
172
+ data, status_code, headers = @calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, update_call_body)
173
+
174
+ expect(status_code).to eq(200)
175
+ expect(headers).to eq(update_call_headers_stub)
176
+ end
177
+
178
+ it 'causes an ArgumentError for a missing account_id' do
179
+ expect {
180
+ resp = @calls_api_instance.update_call(nil, '', {})
181
+ }.to raise_error(ArgumentError)
182
+ end
183
+
184
+ it 'causes an ArgumentError for a missing call_id' do
185
+ expect {
186
+ @calls_api_instance.update_call(BW_ACCOUNT_ID, nil, {})
187
+ }.to raise_error(ArgumentError)
188
+ end
189
+
190
+ it 'causes an ArgumentError for a missing update_call' do
191
+ expect {
192
+ @calls_api_instance.update_call(BW_ACCOUNT_ID, '', nil)
193
+ }.to raise_error(ArgumentError)
194
+ end
195
+ end
196
+
197
+ # Update Call BXML
198
+ describe '#update_call_bxml' do
199
+ it 'updates a call using bxml' do
200
+ stub_request(:put, "https://voice.bandwidth.com/api/v2/accounts/#{BW_ACCOUNT_ID}/calls/#{call_id}/bxml").
201
+ to_return(status: 204)
202
+
203
+ update_bxml = '<?xml version="1.0" encoding="UTF-8"?><Bxml><SpeakSentence locale="en_US" gender="female" voice="susan">This is a test bxml response</SpeakSentence><Pause duration="3"/></Bxml>'
204
+
205
+ data, status_code, headers = @calls_api_instance.update_call_bxml_with_http_info(BW_ACCOUNT_ID, call_id, update_bxml)
206
+
207
+ expect(status_code).to eq(204)
208
+ end
209
+
210
+ it 'causes an ArgumentError for a missing account_id' do
211
+ expect {
212
+ @calls_api_instance.update_call_bxml(nil, '', {})
213
+ }.to raise_error(ArgumentError)
214
+ end
215
+
216
+ it 'causes an ArgumentError for a missing call_id' do
217
+ expect {
218
+ @calls_api_instance.update_call_bxml(BW_ACCOUNT_ID, nil, {})
219
+ }.to raise_error(ArgumentError)
220
+ end
221
+
222
+ it 'causes an ArgumentError for a missing body' do
223
+ expect {
224
+ @calls_api_instance.update_call_bxml(BW_ACCOUNT_ID, '', nil)
225
+ }.to raise_error(ArgumentError)
226
+ end
227
+ end
228
+ end