bandwidth-sdk 11.0.0.pre.beta.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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +46 -23
  4. data/README.md +7 -3
  5. data/Rakefile +10 -2
  6. data/bandwidth-sdk.gemspec +12 -12
  7. data/bandwidth.yml +409 -353
  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 +5 -3
  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 +17 -9
  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 +4 -6
  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/ruby-notes.md +11 -60
  228. data/spec/api/calls_api_spec.rb +228 -0
  229. data/spec/api/conferences_api_spec.rb +393 -0
  230. data/spec/api/media_api_spec.rb +129 -0
  231. data/spec/api/messages_api_spec.rb +193 -0
  232. data/spec/api/mfa_api_spec.rb +130 -0
  233. data/spec/api/phone_number_lookup_api_spec.rb +100 -0
  234. data/spec/api/recordings_api_spec.rb +395 -0
  235. data/spec/api/statistics_api_spec.rb +45 -0
  236. data/spec/api_client_spec.rb +377 -0
  237. data/spec/api_error_spec.rb +23 -0
  238. data/spec/call_utils.rb +28 -28
  239. data/spec/configuration_spec.rb +178 -0
  240. data/spec/integration/calls_api_integration_spec.rb +88 -69
  241. data/spec/integration/conferences_api_integration_spec.rb +74 -68
  242. data/spec/integration/media_api_integration_spec.rb +38 -32
  243. data/spec/integration/messages_api_integration_spec.rb +79 -38
  244. data/spec/integration/mfa_api_integration_spec.rb +41 -33
  245. data/spec/integration/phone_number_lookup_api_integration_spec.rb +26 -22
  246. data/spec/integration/recordings_api_integration_spec.rb +84 -77
  247. data/spec/integration/statistics_api_integration_spec.rb +15 -14
  248. data/spec/{unit/models → models}/bxml/bxml_spec.rb +0 -2
  249. data/spec/{unit/models → models}/bxml/nestable_verb_spec.rb +1 -3
  250. data/spec/{unit/models → models}/bxml/response_spec.rb +0 -2
  251. data/spec/{unit/models → models}/bxml/verb_spec.rb +1 -14
  252. data/spec/{unit/models → models}/bxml/verbs/bridge_spec.rb +0 -2
  253. data/spec/{unit/models → models}/bxml/verbs/conference_spec.rb +0 -2
  254. data/spec/models/bxml/verbs/custom_param_spec.rb +36 -0
  255. data/spec/{unit/models → models}/bxml/verbs/forward_spec.rb +0 -2
  256. data/spec/{unit/models → models}/bxml/verbs/gather_spec.rb +0 -2
  257. data/spec/{unit/models → models}/bxml/verbs/hangup_spec.rb +0 -2
  258. data/spec/{unit/models → models}/bxml/verbs/pause_recording_spec.rb +0 -2
  259. data/spec/{unit/models → models}/bxml/verbs/pause_spec.rb +0 -2
  260. data/spec/{unit/models → models}/bxml/verbs/phone_number_spec.rb +0 -2
  261. data/spec/{unit/models → models}/bxml/verbs/play_audio_spec.rb +0 -2
  262. data/spec/{unit/models → models}/bxml/verbs/record_spec.rb +0 -2
  263. data/spec/{unit/models → models}/bxml/verbs/redirect_spec.rb +0 -2
  264. data/spec/{unit/models → models}/bxml/verbs/resume_recording_spec.rb +0 -2
  265. data/spec/{unit/models → models}/bxml/verbs/ring_spec.rb +0 -2
  266. data/spec/{unit/models → models}/bxml/verbs/send_dtmf_spec.rb +0 -2
  267. data/spec/{unit/models → models}/bxml/verbs/sip_uri_spec.rb +0 -2
  268. data/spec/{unit/models → models}/bxml/verbs/speak_sentence_spec.rb +0 -2
  269. data/spec/{unit/models → models}/bxml/verbs/start_gather_spec.rb +0 -2
  270. data/spec/{unit/models → models}/bxml/verbs/start_recording_spec.rb +0 -2
  271. data/spec/{unit/models → models}/bxml/verbs/start_stream_spec.rb +2 -4
  272. data/spec/models/bxml/verbs/start_transcription_spec.rb +74 -0
  273. data/spec/{unit/models → models}/bxml/verbs/stop_gather_spec.rb +0 -2
  274. data/spec/{unit/models → models}/bxml/verbs/stop_recording_spec.rb +0 -2
  275. data/spec/{unit/models → models}/bxml/verbs/stop_stream_spec.rb +0 -2
  276. data/spec/models/bxml/verbs/stop_transcription_spec.rb +34 -0
  277. data/spec/{unit/models → models}/bxml/verbs/stream_param_spec.rb +0 -2
  278. data/spec/{unit/models → models}/bxml/verbs/tag_spec.rb +0 -2
  279. data/spec/{unit/models → models}/bxml/verbs/transfer_spec.rb +0 -2
  280. data/spec/models/call_state_enum_spec.rb +16 -0
  281. data/spec/models/call_state_spec.rb +181 -0
  282. data/spec/models/deferred_result_spec.rb +87 -0
  283. data/spec/models/message_spec.rb +145 -0
  284. data/spec/models/verify_code_request_spec.rb +134 -0
  285. data/spec/spec_helper.rb +48 -31
  286. metadata +146 -254
  287. data/spec/unit/api/calls_api_spec.rb +0 -89
  288. data/spec/unit/api/conferences_api_spec.rb +0 -163
  289. data/spec/unit/api/media_api_spec.rb +0 -90
  290. data/spec/unit/api/messages_api_spec.rb +0 -73
  291. data/spec/unit/api/mfa_api_spec.rb +0 -74
  292. data/spec/unit/api/phone_number_lookup_api_spec.rb +0 -61
  293. data/spec/unit/api/recordings_api_spec.rb +0 -177
  294. data/spec/unit/api/statistics_api_spec.rb +0 -47
  295. data/spec/unit/models/account_statistics_spec.rb +0 -40
  296. data/spec/unit/models/answer_callback_spec.rb +0 -112
  297. data/spec/unit/models/bridge_complete_callback_spec.rb +0 -124
  298. data/spec/unit/models/bridge_target_complete_callback_spec.rb +0 -106
  299. data/spec/unit/models/call_direction_enum_spec.rb +0 -28
  300. data/spec/unit/models/call_recording_metadata_spec.rb +0 -136
  301. data/spec/unit/models/call_state_enum_spec.rb +0 -28
  302. data/spec/unit/models/call_state_spec.rb +0 -136
  303. data/spec/unit/models/callback_method_enum_spec.rb +0 -28
  304. data/spec/unit/models/code_request_spec.rb +0 -64
  305. data/spec/unit/models/conference_completed_callback_spec.rb +0 -58
  306. data/spec/unit/models/conference_created_callback_spec.rb +0 -58
  307. data/spec/unit/models/conference_member_exit_callback_spec.rb +0 -76
  308. data/spec/unit/models/conference_member_join_callback_spec.rb +0 -76
  309. data/spec/unit/models/conference_member_spec.rb +0 -64
  310. data/spec/unit/models/conference_recording_available_callback_spec.rb +0 -112
  311. data/spec/unit/models/conference_recording_metadata_spec.rb +0 -94
  312. data/spec/unit/models/conference_redirect_callback_spec.rb +0 -58
  313. data/spec/unit/models/conference_spec.rb +0 -76
  314. data/spec/unit/models/conference_state_enum_spec.rb +0 -28
  315. data/spec/unit/models/create_call_response_spec.rb +0 -154
  316. data/spec/unit/models/create_call_spec.rb +0 -142
  317. data/spec/unit/models/create_lookup_response_spec.rb +0 -40
  318. data/spec/unit/models/create_message_request_error_spec.rb +0 -46
  319. data/spec/unit/models/deferred_result_spec.rb +0 -40
  320. data/spec/unit/models/disconnect_callback_spec.rb +0 -130
  321. data/spec/unit/models/diversion_spec.rb +0 -70
  322. data/spec/unit/models/dtmf_callback_spec.rb +0 -130
  323. data/spec/unit/models/field_error_spec.rb +0 -40
  324. data/spec/unit/models/file_format_enum_spec.rb +0 -28
  325. data/spec/unit/models/gather_callback_spec.rb +0 -136
  326. data/spec/unit/models/inbound_message_callback_message_spec.rb +0 -100
  327. data/spec/unit/models/inbound_message_callback_spec.rb +0 -58
  328. data/spec/unit/models/initiate_callback_spec.rb +0 -100
  329. data/spec/unit/models/list_message_direction_enum_spec.rb +0 -28
  330. data/spec/unit/models/list_message_item_spec.rb +0 -124
  331. data/spec/unit/models/lookup_request_spec.rb +0 -34
  332. data/spec/unit/models/lookup_result_spec.rb +0 -82
  333. data/spec/unit/models/lookup_status_enum_spec.rb +0 -28
  334. data/spec/unit/models/lookup_status_spec.rb +0 -52
  335. data/spec/unit/models/machine_detection_complete_callback_spec.rb +0 -112
  336. data/spec/unit/models/machine_detection_configuration_spec.rb +0 -118
  337. data/spec/unit/models/machine_detection_mode_enum_spec.rb +0 -28
  338. data/spec/unit/models/media_spec.rb +0 -46
  339. data/spec/unit/models/message_delivered_callback_message_spec.rb +0 -100
  340. data/spec/unit/models/message_delivered_callback_spec.rb +0 -58
  341. data/spec/unit/models/message_direction_enum_spec.rb +0 -28
  342. data/spec/unit/models/message_failed_callback_message_spec.rb +0 -100
  343. data/spec/unit/models/message_failed_callback_spec.rb +0 -64
  344. data/spec/unit/models/message_request_spec.rb +0 -76
  345. data/spec/unit/models/message_sending_callback_message_spec.rb +0 -100
  346. data/spec/unit/models/message_sending_callback_spec.rb +0 -58
  347. data/spec/unit/models/message_spec.rb +0 -100
  348. data/spec/unit/models/message_status_enum_spec.rb +0 -28
  349. data/spec/unit/models/message_type_enum_spec.rb +0 -28
  350. data/spec/unit/models/messages_list_spec.rb +0 -46
  351. data/spec/unit/models/messaging_code_response_spec.rb +0 -34
  352. data/spec/unit/models/messaging_request_error_spec.rb +0 -40
  353. data/spec/unit/models/mfa_forbidden_request_error_spec.rb +0 -34
  354. data/spec/unit/models/mfa_request_error_spec.rb +0 -40
  355. data/spec/unit/models/mfa_unauthorized_request_error_spec.rb +0 -34
  356. data/spec/unit/models/page_info_spec.rb +0 -52
  357. data/spec/unit/models/priority_enum_spec.rb +0 -28
  358. data/spec/unit/models/recording_available_callback_spec.rb +0 -160
  359. data/spec/unit/models/recording_complete_callback_spec.rb +0 -160
  360. data/spec/unit/models/recording_state_enum_spec.rb +0 -28
  361. data/spec/unit/models/redirect_callback_spec.rb +0 -124
  362. data/spec/unit/models/redirect_method_enum_spec.rb +0 -28
  363. data/spec/unit/models/stir_shaken_spec.rb +0 -46
  364. data/spec/unit/models/tag_spec.rb +0 -40
  365. data/spec/unit/models/tn_lookup_request_error_spec.rb +0 -34
  366. data/spec/unit/models/transcribe_recording_spec.rb +0 -64
  367. data/spec/unit/models/transcription_available_callback_spec.rb +0 -154
  368. data/spec/unit/models/transcription_list_spec.rb +0 -34
  369. data/spec/unit/models/transcription_metadata_spec.rb +0 -52
  370. data/spec/unit/models/transcription_spec.rb +0 -40
  371. data/spec/unit/models/transfer_answer_callback_spec.rb +0 -118
  372. data/spec/unit/models/transfer_complete_callback_spec.rb +0 -136
  373. data/spec/unit/models/transfer_disconnect_callback_spec.rb +0 -148
  374. data/spec/unit/models/update_call_recording_spec.rb +0 -34
  375. data/spec/unit/models/update_call_spec.rb +0 -88
  376. data/spec/unit/models/update_conference_member_spec.rb +0 -46
  377. data/spec/unit/models/update_conference_spec.rb +0 -82
  378. data/spec/unit/models/verify_code_request_spec.rb +0 -52
  379. data/spec/unit/models/verify_code_response_spec.rb +0 -34
  380. data/spec/unit/models/voice_api_error_spec.rb +0 -46
  381. data/spec/unit/models/voice_code_response_spec.rb +0 -34
@@ -0,0 +1,193 @@
1
+ # Unit tests for Bandwidth::MessagesApi
2
+ describe 'MessagesApi' do
3
+ # message info
4
+ let(:mms_id) { '1687899647358cu2t57tczmbzcu2s' }
5
+ let(:sms_id) { '1687899647634s46mhdt7ifq5hnjl' }
6
+ let(:time) { '2023-06-27T21:00:47.358063Z' }
7
+ let(:segment_count) { 1 }
8
+ let(:direction) { Bandwidth::MessageDirectionEnum::OUT }
9
+ let(:text) { 'test text' }
10
+ let(:media_url) { 'https://cdn2.thecatapi.com/images/MTY3ODIyMQ.jpg' }
11
+ let(:tag) { 'test tag' }
12
+ let(:priority) { Bandwidth::PriorityEnum::HIGH }
13
+ let(:expiration_time) { (Time.now + 60).round.to_datetime.rfc3339 }
14
+ let(:total_count) { 2 }
15
+ let(:next_page_token) { 'YWZ0ZXI9MTAwJmxpbWl0PTEwMA' }
16
+ let(:list_message_direction) { Bandwidth::ListMessageDirectionEnum::OUTBOUND }
17
+ let(:list_message_status) { Bandwidth::MessageStatusEnum::SENT }
18
+ let(:list_message_type_mms) { Bandwidth::MessageTypeEnum::MMS }
19
+ let(:list_message_type_sms) { Bandwidth::MessageTypeEnum::SMS }
20
+ let(:mms_length) { 45151 }
21
+ let(:attachment_count) { 1 }
22
+ let(:recipient_count) { 1 }
23
+ let(:mms_error_code) { 0 }
24
+ let(:sms_error_code) { 4720 }
25
+ let(:carrier_name) { 'Other' }
26
+ let(:next_page_url) { "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/messages?messageDirection=#{list_message_direction}&sourceTn=%2B#{BW_NUMBER[1..-1]}&pageToken=#{next_page_token}" }
27
+
28
+ # stubs
29
+ let(:create_message_mms_headers_stub) { { 'content-type' => 'application/json' } }
30
+ let(:create_message_mms_body_stub) { "{\"id\":\"#{mms_id}\",\"owner\":\"#{BW_NUMBER}\",\"applicationId\":\"#{BW_MESSAGING_APPLICATION_ID}\",\"time\":\"#{time}\",\"segmentCount\":#{segment_count},\"direction\":\"#{direction}\",\"to\":[\"#{USER_NUMBER}\"],\"from\":\"#{BW_NUMBER}\",\"text\":\"#{text}\",\"media\":[\"#{media_url}\"],\"tag\":\"#{tag}\"}" }
31
+ let(:create_message_sms_headers_stub) { { 'content-type' => 'application/json' } }
32
+ let(:create_message_sms_body_stub) { "{\"id\":\"#{sms_id}\",\"owner\":\"#{BW_NUMBER}\",\"applicationId\":\"#{BW_MESSAGING_APPLICATION_ID}\",\"time\":\"#{time}\",\"segmentCount\":#{segment_count},\"direction\":\"#{direction}\",\"to\":[\"#{USER_NUMBER}\"],\"from\":\"#{BW_NUMBER}\",\"text\":\"#{text}\",\"tag\":\"#{tag}\",\"priority\":\"#{priority}\",\"expiration\":\"#{expiration_time}\"}" }
33
+ let(:list_messages_body_stub) { "{\"totalCount\":#{total_count},\"pageInfo\":{\"nextPage\":\"#{next_page_url}\",\"nextPageToken\":\"#{next_page_token}\"},\"messages\":[{\"messageId\":\"#{mms_id}\",\"accountId\":\"#{BW_ACCOUNT_ID}\",\"sourceTn\":\"#{BW_NUMBER}\",\"destinationTn\":\"#{USER_NUMBER}\",\"messageStatus\":\"#{list_message_status}\",\"messageDirection\":\"#{list_message_direction}\",\"messageType\":\"#{list_message_type_mms}\",\"segmentCount\":#{segment_count},\"messageLength\":#{mms_length},\"messageSize\":#{mms_length},\"attachmentCount\":#{attachment_count},\"recipientCount\":#{recipient_count},\"errorCode\":#{mms_error_code},\"carrierName\":null,\"campaignClass\":null,\"campaignId\":null,\"receiveTime\":\"#{time}\"},{\"messageId\":\"#{sms_id}\",\"accountId\":\"#{BW_ACCOUNT_ID}\",\"sourceTn\":\"#{BW_NUMBER}\",\"destinationTn\":\"#{USER_NUMBER}\",\"messageStatus\":\"#{list_message_status}\",\"messageDirection\":\"#{list_message_direction}\",\"messageType\":\"#{list_message_type_sms}\",\"segmentCount\":#{segment_count},\"messageLength\":#{text.length},\"messageSize\":null,\"attachmentCount\":null,\"recipientCount\":null,\"errorCode\":#{sms_error_code},\"carrierName\":\"#{carrier_name}\",\"campaignClass\":null,\"campaignId\":null,\"receiveTime\":\"#{time}\"}]}" }
34
+ let(:list_messages_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{list_messages_body_stub.length}" } }
35
+
36
+ before(:all) do
37
+ Bandwidth.configure do |config|
38
+ config.debugging = true
39
+ end
40
+ @messaging_api_instance = Bandwidth::MessagesApi.new
41
+ end
42
+
43
+ describe 'test an instance of MessagesApi' do
44
+ it 'should create an instance of MessagesApi' do
45
+ expect(@messaging_api_instance).to be_instance_of(Bandwidth::MessagesApi)
46
+ end
47
+ end
48
+
49
+ # Create Message
50
+ describe 'create_message' do
51
+ it 'creates an mms message' do
52
+ stub_request(:post, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/messages").
53
+ to_return(status: 202, headers: create_message_mms_headers_stub, body: create_message_mms_body_stub)
54
+
55
+ message_request = Bandwidth::MessageRequest.new(
56
+ application_id: BW_MESSAGING_APPLICATION_ID,
57
+ to: [USER_NUMBER],
58
+ from: BW_NUMBER,
59
+ text: text,
60
+ media: [media_url],
61
+ tag: tag
62
+ )
63
+
64
+ data, status_code, headers = @messaging_api_instance.create_message_with_http_info(BW_ACCOUNT_ID, message_request)
65
+
66
+ expect(status_code).to eq(202)
67
+ expect(headers).to eq(create_message_mms_headers_stub)
68
+ expect(data).to be_instance_of(Bandwidth::Message)
69
+ expect(data.id).to eq(mms_id)
70
+ expect(data.owner).to eq(BW_NUMBER)
71
+ expect(data.application_id).to eq(BW_MESSAGING_APPLICATION_ID)
72
+ expect(data.time).to eq(Time.parse(time))
73
+ expect(data.segment_count).to eq(segment_count)
74
+ expect(data.direction).to eq(direction)
75
+ expect(data.to).to eq([USER_NUMBER])
76
+ expect(data.from).to eq(BW_NUMBER)
77
+ expect(data.text).to eq(text)
78
+ expect(data.media).to eq([media_url])
79
+ expect(data.tag).to eq(tag)
80
+ end
81
+
82
+ it 'creates an sms message' do
83
+ stub_request(:post, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/messages").
84
+ to_return(status: 202, headers: create_message_sms_headers_stub, body: create_message_sms_body_stub)
85
+
86
+ message_request = Bandwidth::MessageRequest.new(
87
+ application_id: BW_MESSAGING_APPLICATION_ID,
88
+ to: [USER_NUMBER],
89
+ from: BW_NUMBER,
90
+ text: text,
91
+ tag: tag,
92
+ priority: priority,
93
+ expiration: expiration_time
94
+ )
95
+
96
+ data, status_code, headers = @messaging_api_instance.create_message_with_http_info(BW_ACCOUNT_ID, message_request)
97
+
98
+ expect(status_code).to eq(202)
99
+ expect(headers).to eq(create_message_sms_headers_stub)
100
+ expect(data).to be_instance_of(Bandwidth::Message)
101
+ expect(data.id).to eq(sms_id)
102
+ expect(data.owner).to eq(BW_NUMBER)
103
+ expect(data.application_id).to eq(BW_MESSAGING_APPLICATION_ID)
104
+ expect(data.time).to eq(Time.parse(time))
105
+ expect(data.segment_count).to eq(segment_count)
106
+ expect(data.direction).to eq(direction)
107
+ expect(data.to).to eq([USER_NUMBER])
108
+ expect(data.from).to eq(BW_NUMBER)
109
+ expect(data.text).to eq(text)
110
+ expect(data.tag).to eq(tag)
111
+ expect(data.priority).to eq(priority)
112
+ expect(data.expiration).to eq(Time.parse(expiration_time))
113
+ end
114
+
115
+ it 'causes an ArgumentError for a missing account_id' do
116
+ expect {
117
+ resp = @messaging_api_instance.create_message(nil, {})
118
+ }.to raise_error(ArgumentError)
119
+ end
120
+
121
+ it 'causes an ArgumentError for a missing message_request' do
122
+ expect {
123
+ @messaging_api_instance.create_message(BW_ACCOUNT_ID, nil)
124
+ }.to raise_error(ArgumentError)
125
+ end
126
+ end
127
+
128
+ # List Messages
129
+ describe 'list_messages' do
130
+ it 'lists messages' do
131
+ stub_request(:get, "https://messaging.bandwidth.com/api/v2/users/#{BW_ACCOUNT_ID}/messages?messageDirection=#{list_message_direction}&sourceTn=%2B#{BW_NUMBER[1..-1]}").
132
+ to_return(status: 200, headers: list_messages_headers_stub, body: list_messages_body_stub)
133
+
134
+ get_opts = {
135
+ :source_tn => BW_NUMBER,
136
+ :message_direction => list_message_direction
137
+ }
138
+
139
+ data, status_code, headers = @messaging_api_instance.list_messages_with_http_info(BW_ACCOUNT_ID, get_opts)
140
+
141
+ expect(status_code).to eq(200)
142
+ expect(headers).to eq(list_messages_headers_stub)
143
+ expect(data).to be_instance_of(Bandwidth::MessagesList)
144
+ expect(data.total_count).to eq(total_count)
145
+ expect(data.page_info.next_page).to eq(next_page_url)
146
+ expect(data.page_info.next_page_token).to eq(next_page_token)
147
+ expect(data.messages.length).to eq(total_count)
148
+ expect(data.messages).to be_instance_of(Array)
149
+ expect(data.messages[0]).to be_instance_of(Bandwidth::ListMessageItem)
150
+ expect(data.messages[0].message_id).to eq(mms_id)
151
+ expect(data.messages[0].account_id).to eq(BW_ACCOUNT_ID)
152
+ expect(data.messages[0].source_tn).to eq(BW_NUMBER)
153
+ expect(data.messages[0].destination_tn).to eq(USER_NUMBER)
154
+ expect(data.messages[0].message_status).to eq(list_message_status)
155
+ expect(data.messages[0].message_direction).to eq(list_message_direction)
156
+ expect(data.messages[0].message_type).to eq(list_message_type_mms)
157
+ expect(data.messages[0].segment_count).to eq(segment_count)
158
+ expect(data.messages[0].error_code).to eq(mms_error_code)
159
+ expect(data.messages[0].receive_time).to eq(Time.parse(time))
160
+ expect(data.messages[0].carrier_name).to eq(nil)
161
+ expect(data.messages[0].message_size).to eq(mms_length)
162
+ expect(data.messages[0].message_length).to eq(mms_length)
163
+ expect(data.messages[0].attachment_count).to eq(attachment_count)
164
+ expect(data.messages[0].recipient_count).to eq(recipient_count)
165
+ expect(data.messages[0].campaign_class).to eq(nil)
166
+ expect(data.messages[0].campaign_id).to eq(nil)
167
+ expect(data.messages[1]).to be_instance_of(Bandwidth::ListMessageItem)
168
+ expect(data.messages[1].message_id).to eq(sms_id)
169
+ expect(data.messages[1].account_id).to eq(BW_ACCOUNT_ID)
170
+ expect(data.messages[1].source_tn).to eq(BW_NUMBER)
171
+ expect(data.messages[1].destination_tn).to eq(USER_NUMBER)
172
+ expect(data.messages[1].message_status).to eq(list_message_status)
173
+ expect(data.messages[1].message_direction).to eq(list_message_direction)
174
+ expect(data.messages[1].message_type).to eq(list_message_type_sms)
175
+ expect(data.messages[1].segment_count).to eq(segment_count)
176
+ expect(data.messages[1].error_code).to eq(sms_error_code)
177
+ expect(data.messages[1].receive_time).to eq(Time.parse(time))
178
+ expect(data.messages[1].carrier_name).to eq(carrier_name)
179
+ expect(data.messages[1].message_size).to eq(nil)
180
+ expect(data.messages[1].message_length).to eq(text.length)
181
+ expect(data.messages[1].attachment_count).to eq(nil)
182
+ expect(data.messages[1].recipient_count).to eq(nil)
183
+ expect(data.messages[1].campaign_class).to eq(nil)
184
+ expect(data.messages[1].campaign_id).to eq(nil)
185
+ end
186
+
187
+ it 'causes an ArgumentError for a missing account_id' do
188
+ expect {
189
+ resp = @messaging_api_instance.list_messages(nil)
190
+ }.to raise_error(ArgumentError)
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,130 @@
1
+ # Unit tests for Bandwidth::MFAApi
2
+ describe 'MFAApi' do
3
+ # mfa info
4
+ let(:message) { 'Your temporary {NAME} {SCOPE} code is: {CODE}' }
5
+ let(:message_id) { '1687965513364hx26ky4mpkll3m5a' }
6
+ let(:call_id) { 'c-28bba681-cffc7d67-904e-42c8-85c5-b5589ea583b4' }
7
+ let(:digits) { 6 }
8
+
9
+ # stubs
10
+ let(:generate_messaging_code_body_stub) { "{\"messageId\": \"#{message_id}\"}" }
11
+ let(:generate_messaging_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{generate_messaging_code_body_stub.length}" } }
12
+ let(:generate_voice_code_body_stub) { "{\"callId\": \"#{call_id}\"}" }
13
+ let(:generate_voice_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{generate_voice_code_body_stub.length}" } }
14
+ let(:verify_code_body_stub) { '{"valid": false}' }
15
+ let(:verify_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{verify_code_body_stub.length}" } }
16
+
17
+ before(:all) do
18
+ Bandwidth.configure do |config|
19
+ config.debugging = true
20
+ end
21
+ @mfa_api_instance = Bandwidth::MFAApi.new
22
+ end
23
+
24
+ describe 'test an instance of MFAApi' do
25
+ it 'should create an instance of MFAApi' do
26
+ expect(@mfa_api_instance).to be_instance_of(Bandwidth::MFAApi)
27
+ end
28
+ end
29
+
30
+ # Messaging Authentication Code
31
+ describe 'generate_messaging_code' do
32
+ it 'generates messaging mfa code' do
33
+ stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/messaging").
34
+ to_return(status: 200, headers: generate_messaging_code_headers_stub, body: generate_messaging_code_body_stub)
35
+
36
+ req_schema = Bandwidth::CodeRequest.new(
37
+ to: USER_NUMBER,
38
+ from: BW_NUMBER,
39
+ application_id: BW_MESSAGING_APPLICATION_ID,
40
+ message: message,
41
+ digits: digits
42
+ )
43
+
44
+ data, status_code, headers = @mfa_api_instance.generate_messaging_code_with_http_info(BW_ACCOUNT_ID, req_schema)
45
+
46
+ expect(status_code).to eq(200)
47
+ expect(data).to be_instance_of(Bandwidth::MessagingCodeResponse)
48
+ expect(data.message_id).to eq(message_id)
49
+ end
50
+
51
+ it 'causes an ArgumentError for a missing account_id' do
52
+ expect {
53
+ resp = @mfa_api_instance.generate_messaging_code(nil, {})
54
+ }.to raise_error(ArgumentError)
55
+ end
56
+
57
+ it 'causes an ArgumentError for a missing code_request' do
58
+ expect {
59
+ @mfa_api_instance.generate_messaging_code(BW_ACCOUNT_ID, nil)
60
+ }.to raise_error(ArgumentError)
61
+ end
62
+ end
63
+
64
+ # Voice Authentication Code
65
+ describe 'generate_voice_code' do
66
+ it 'generates voice mfa code' do
67
+ stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/voice").
68
+ to_return(status: 200, headers: generate_voice_code_headers_stub, body: generate_voice_code_body_stub)
69
+
70
+ req_schema = Bandwidth::CodeRequest.new(
71
+ to: USER_NUMBER,
72
+ from: BW_NUMBER,
73
+ application_id: BW_VOICE_APPLICATION_ID,
74
+ message: message,
75
+ digits: digits
76
+ )
77
+
78
+ data, status_code, headers = @mfa_api_instance.generate_voice_code_with_http_info(BW_ACCOUNT_ID, req_schema)
79
+
80
+ expect(status_code).to eq(200)
81
+ expect(data).to be_instance_of(Bandwidth::VoiceCodeResponse)
82
+ expect(data.call_id).to eq(call_id)
83
+ end
84
+
85
+ it 'causes an ArgumentError for a missing account_id' do
86
+ expect {
87
+ resp = @mfa_api_instance.generate_voice_code(nil, {})
88
+ }.to raise_error(ArgumentError)
89
+ end
90
+
91
+ it 'causes an ArgumentError for a missing code_request' do
92
+ expect {
93
+ @mfa_api_instance.generate_voice_code(BW_ACCOUNT_ID, nil)
94
+ }.to raise_error(ArgumentError)
95
+ end
96
+ end
97
+
98
+ # Verify Authentication Code
99
+ describe 'verify_code' do
100
+ it 'verifies mfa code' do
101
+ stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/verify").
102
+ to_return(status: 200, headers: verify_code_headers_stub, body: verify_code_body_stub)
103
+
104
+ req_schema = Bandwidth::VerifyCodeRequest.new(
105
+ to: '+1000' + rand(1...10000000).to_s,
106
+ scope: '2FA',
107
+ expiration_time_in_minutes: 3,
108
+ code: '12345'
109
+ )
110
+
111
+ data, status_code, headers = @mfa_api_instance.verify_code_with_http_info(BW_ACCOUNT_ID, req_schema)
112
+
113
+ expect(status_code).to eq(200)
114
+ expect(data).to be_instance_of(Bandwidth::VerifyCodeResponse)
115
+ expect(data.valid).to be false
116
+ end
117
+
118
+ it 'causes an ArgumentError for a missing account_id' do
119
+ expect {
120
+ resp = @mfa_api_instance.verify_code(nil, {})
121
+ }.to raise_error(ArgumentError)
122
+ end
123
+
124
+ it 'causes an ArgumentError for a missing cvarify_ode_request' do
125
+ expect {
126
+ @mfa_api_instance.verify_code(BW_ACCOUNT_ID, nil)
127
+ }.to raise_error(ArgumentError)
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,100 @@
1
+ # Unit tests for Bandwidth::PhoneNumberLookupApi
2
+ describe 'PhoneNumberLookupApi' do
3
+ # lookup info
4
+ let(:request_id) { '21e6d818-eaa9-4ca9-b1d8-d6085f5c79d4' }
5
+ let(:status_in_progress) { Bandwidth::LookupStatusEnum::IN_PROGRESS }
6
+ let(:status_complete) { Bandwidth::LookupStatusEnum::COMPLETE }
7
+ let(:response_code) { 0 }
8
+ let(:message) { 'NOERROR' }
9
+ let(:formatted) { "(#{BW_NUMBER[2..4]}) #{BW_NUMBER[5..7]}-#{BW_NUMBER[7..-1]}" }
10
+ let(:country) { 'US' }
11
+ let(:line_type) { 'Mobile' }
12
+ let(:line_provider) { 'AdHoc P2P - Bandwidth - SVR' }
13
+
14
+ # stubs
15
+ let(:create_lookup_headers_stub) { { 'content-type' => 'application/json' } }
16
+ let(:create_lookup_body_stub) { "{\"requestId\":\"#{request_id}\",\"status\":\"#{status_in_progress}\"}" }
17
+ let(:get_lookup_status_headers_stub) { { 'content-type' => 'application/json' } }
18
+ let(:get_lookup_status_body_stub) { "{\"requestId\":\"#{request_id}\",\"status\":\"#{status_complete}\",\"result\":[{\"Response Code\":#{response_code},\"Message\":\"#{message}\",\"E.164 Format\":\"#{BW_NUMBER}\",\"Formatted\":\"#{formatted}\",\"Country\":\"#{country}\",\"Line Type\":\"#{line_type}\",\"Line Provider\":\"#{line_provider}\"}]}" }
19
+
20
+ before(:all) do
21
+ Bandwidth.configure do |config|
22
+ config.debugging = true
23
+ end
24
+ @phone_number_lookup_api_instance = Bandwidth::PhoneNumberLookupApi.new
25
+ end
26
+
27
+ describe 'test an instance of PhoneNumberLookupApi' do
28
+ it 'should create an instance of PhoneNumberLookupApi' do
29
+ expect(@phone_number_lookup_api_instance).to be_instance_of(Bandwidth::PhoneNumberLookupApi)
30
+ end
31
+ end
32
+
33
+ # Create Lookup
34
+ describe 'create_lookup' do
35
+ it 'creates a tn lookup request' do
36
+ stub_request(:post, "https://numbers.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/tnlookup").
37
+ to_return(status: 202, headers: create_lookup_headers_stub, body: create_lookup_body_stub)
38
+
39
+ tn_body = Bandwidth::LookupRequest.new(
40
+ tns: [BW_NUMBER]
41
+ )
42
+ data, status_code, headers = @phone_number_lookup_api_instance.create_lookup_with_http_info(BW_ACCOUNT_ID, tn_body)
43
+
44
+ expect(status_code).to eq(202)
45
+ expect(headers).to eq(create_lookup_headers_stub)
46
+ expect(data).to be_instance_of(Bandwidth::CreateLookupResponse)
47
+ expect(data.request_id).to eq(request_id)
48
+ expect(data.status).to eq(status_in_progress)
49
+ end
50
+
51
+ it 'causes an ArgumentError for a missing account_id' do
52
+ expect {
53
+ resp = @phone_number_lookup_api_instance.create_lookup(nil, {})
54
+ }.to raise_error(ArgumentError)
55
+ end
56
+
57
+ it 'causes an ArgumentError for a missing lookup_request' do
58
+ expect {
59
+ @phone_number_lookup_api_instance.create_lookup(BW_ACCOUNT_ID, nil)
60
+ }.to raise_error(ArgumentError)
61
+ end
62
+ end
63
+
64
+ # Get Lookup Status
65
+ describe 'get_lookup_status' do
66
+ it 'gets lookup status' do
67
+ stub_request(:get, "https://numbers.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/tnlookup/#{request_id}").
68
+ to_return(status: 200, headers: get_lookup_status_headers_stub, body: get_lookup_status_body_stub)
69
+
70
+ data, status_code, headers = @phone_number_lookup_api_instance.get_lookup_status_with_http_info(BW_ACCOUNT_ID, request_id)
71
+
72
+ expect(status_code).to eq(200)
73
+ expect(headers).to eq(get_lookup_status_headers_stub)
74
+ expect(data).to be_instance_of(Bandwidth::LookupStatus)
75
+ expect(data.request_id).to eq(request_id)
76
+ expect(data.status).to eq(status_complete)
77
+ expect(data.result).to be_instance_of(Array)
78
+ expect(data.result[0]).to be_instance_of(Bandwidth::LookupResult)
79
+ expect(data.result[0].response_code).to eq(response_code)
80
+ expect(data.result[0].message).to eq(message)
81
+ expect(data.result[0].e_164_format).to eq(BW_NUMBER)
82
+ expect(data.result[0].formatted).to eq(formatted)
83
+ expect(data.result[0].country).to eq(country)
84
+ expect(data.result[0].line_type).to eq(line_type)
85
+ expect(data.result[0].line_provider).to eq(line_provider)
86
+ end
87
+
88
+ it 'causes an ArgumentError for a missing account_id' do
89
+ expect {
90
+ resp = @phone_number_lookup_api_instance.get_lookup_status(nil, '')
91
+ }.to raise_error(ArgumentError)
92
+ end
93
+
94
+ it 'causes an ArgumentError for a missing request_id' do
95
+ expect {
96
+ @phone_number_lookup_api_instance.get_lookup_status(BW_ACCOUNT_ID, nil)
97
+ }.to raise_error(ArgumentError)
98
+ end
99
+ end
100
+ end