twilio-ruby 5.50.0 → 5.54.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (467) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -28
  3. data/CHANGES.md +112 -0
  4. data/README.md +3 -2
  5. data/lib/twilio-ruby/http/http_client.rb +3 -1
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1 -4
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +23 -23
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -2
  10. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +0 -8
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +1 -7
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +1 -9
  14. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  15. data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
  16. data/lib/twilio-ruby/rest/events/v1/schema.rb +12 -12
  17. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +37 -37
  18. data/lib/twilio-ruby/rest/events/v1/sink.rb +41 -5
  19. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +15 -12
  20. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
  21. data/lib/twilio-ruby/rest/messaging.rb +12 -0
  22. data/lib/twilio-ruby/rest/messaging/v1.rb +14 -0
  23. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  24. data/lib/twilio-ruby/rest/messaging/v1/service.rb +118 -26
  25. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +426 -0
  26. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +125 -0
  27. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  28. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  29. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  30. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +16 -0
  31. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +6 -6
  32. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +12 -13
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +26 -6
  34. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  35. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +24 -0
  36. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +53 -6
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +201 -0
  38. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -62
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  40. data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
  41. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  42. data/lib/twilio-ruby/version.rb +1 -1
  43. data/twilio-ruby.gemspec +1 -1
  44. metadata +10 -850
  45. data/spec/framework/request_spec.rb +0 -36
  46. data/spec/framework/serialize_spec.rb +0 -80
  47. data/spec/framework/version_spec.rb +0 -219
  48. data/spec/holodeck/holodeck.rb +0 -66
  49. data/spec/holodeck/hologram.rb +0 -4
  50. data/spec/http/http_client_spec.rb +0 -122
  51. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  52. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  53. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  54. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  55. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  56. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  57. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  58. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  59. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  60. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  61. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  62. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  63. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  64. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  65. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  66. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  67. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  68. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  69. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  70. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  71. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  72. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  73. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  74. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  75. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  76. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  77. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  78. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  79. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  80. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  81. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  82. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  83. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  84. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  85. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -358
  86. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  87. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  88. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  89. data/spec/integration/api/v2010/account/message_spec.rb +0 -544
  90. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  91. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  92. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  93. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  94. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  95. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  96. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  97. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  98. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  99. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  100. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  101. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  102. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  103. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  104. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  105. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  106. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  107. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  108. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  109. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  110. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  111. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  112. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  113. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  114. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  115. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  116. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  117. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  118. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  119. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  120. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  121. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  122. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  123. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  124. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  125. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  126. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  127. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  128. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  129. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  130. data/spec/integration/api/v2010/account_spec.rb +0 -327
  131. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  132. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  133. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  134. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  135. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  136. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  137. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  138. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  139. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  140. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  141. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  142. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  143. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  144. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  145. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  146. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  147. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -133
  148. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -80
  149. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  150. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  151. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  152. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  153. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  154. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  155. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  156. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  157. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  158. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  159. data/spec/integration/chat/v1/service_spec.rb +0 -295
  160. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  161. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  162. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  163. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  164. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  165. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  166. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  167. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  168. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  169. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  170. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  171. data/spec/integration/chat/v2/service_spec.rb +0 -350
  172. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  173. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  174. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  175. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  176. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  177. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  178. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  179. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  180. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  181. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  182. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  183. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  184. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  185. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  186. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  187. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  188. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  189. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  190. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  191. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  192. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  193. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  194. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  195. data/spec/integration/events/v1/schema_spec.rb +0 -46
  196. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  197. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  198. data/spec/integration/events/v1/sink_spec.rb +0 -231
  199. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -225
  200. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  201. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  202. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  203. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  204. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  205. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  206. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  207. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  208. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  209. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  210. data/spec/integration/insights/v1/call_spec.rb +0 -46
  211. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  212. data/spec/integration/insights/v1/room_spec.rb +0 -164
  213. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  214. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  215. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  216. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  217. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  218. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  219. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  220. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  221. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  222. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  223. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  224. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  225. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  226. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  227. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  228. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  229. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  230. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  231. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  232. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  233. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  234. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  235. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  236. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  237. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  238. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  239. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  240. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  241. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  242. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  243. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  244. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  245. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  246. data/spec/integration/notify/v1/service_spec.rb +0 -289
  247. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  248. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  249. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  250. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  251. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  252. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  253. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  254. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  255. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  256. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  257. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  258. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  259. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  260. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  261. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  262. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  263. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  264. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  265. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  266. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  267. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  268. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  269. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  270. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  271. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  272. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  273. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  274. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  275. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  276. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  277. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  278. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  279. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  280. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  281. data/spec/integration/preview/sync/service_spec.rb +0 -241
  282. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  283. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  284. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  285. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  286. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  287. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  288. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  289. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  290. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  291. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  292. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  293. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  294. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  295. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  296. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  297. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  298. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  299. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  300. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  301. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  302. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  303. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  304. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  305. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  306. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  307. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  308. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  309. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  310. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  311. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  312. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  313. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  314. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  315. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  316. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  317. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  318. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  319. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  320. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  321. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  322. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  323. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  324. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  325. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  326. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  327. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  328. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  329. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  330. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  331. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  332. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  333. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  334. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  335. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  336. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  337. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  338. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  339. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  340. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  341. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  342. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  343. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  344. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  345. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  346. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  347. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  348. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  349. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  350. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  351. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  352. data/spec/integration/supersim/v1/fleet_spec.rb +0 -234
  353. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  354. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  355. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  356. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  357. data/spec/integration/supersim/v1/sms_command_spec.rb +0 -184
  358. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  359. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  360. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  361. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  362. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  363. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  364. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  365. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  366. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  367. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  368. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  369. data/spec/integration/sync/v1/service_spec.rb +0 -261
  370. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  371. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  372. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  373. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  374. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  375. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  376. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  377. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  378. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  379. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -327
  380. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  381. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  382. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  383. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  384. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  385. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  386. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  387. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  388. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  389. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  390. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  391. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  392. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  393. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  394. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  395. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  396. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  397. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  398. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  399. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  400. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  401. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +0 -192
  402. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +0 -186
  403. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +0 -615
  404. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +0 -255
  405. data/spec/integration/trusthub/v1/end_user_spec.rb +0 -247
  406. data/spec/integration/trusthub/v1/end_user_type_spec.rb +0 -176
  407. data/spec/integration/trusthub/v1/policies_spec.rb +0 -252
  408. data/spec/integration/trusthub/v1/supporting_document_spec.rb +0 -235
  409. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +0 -159
  410. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +0 -192
  411. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +0 -186
  412. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +0 -615
  413. data/spec/integration/trusthub/v1/trust_products_spec.rb +0 -255
  414. data/spec/integration/verify/v2/form_spec.rb +0 -47
  415. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  416. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  417. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  418. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  419. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  420. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  421. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  422. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  423. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  424. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  425. data/spec/integration/verify/v2/service_spec.rb +0 -279
  426. data/spec/integration/verify/v2/verification_attempt_spec.rb +0 -146
  427. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  428. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  429. data/spec/integration/video/v1/composition_spec.rb +0 -347
  430. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  431. data/spec/integration/video/v1/recording_spec.rb +0 -176
  432. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  433. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  434. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  435. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  436. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  437. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  438. data/spec/integration/video/v1/room_spec.rb +0 -340
  439. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  440. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  441. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  442. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  443. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  444. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  445. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  446. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  447. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  448. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  449. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  450. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  451. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  452. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  453. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  454. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  455. data/spec/jwt/access_token_spec.rb +0 -159
  456. data/spec/jwt/client_capability_spec.rb +0 -104
  457. data/spec/jwt/task_router_spec.rb +0 -172
  458. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  459. data/spec/rest/client_spec.rb +0 -255
  460. data/spec/security/request_validator_spec.rb +0 -125
  461. data/spec/spec_helper.rb +0 -38
  462. data/spec/support/fakeweb.rb +0 -2
  463. data/spec/twilio_spec.rb +0 -17
  464. data/spec/twiml/messaging_response_spec.rb +0 -235
  465. data/spec/twiml/voice_response_spec.rb +0 -847
  466. data/spec/util/configuration_spec.rb +0 -33
  467. data/spec/util/url_encode_spec.rb +0 -12
@@ -1,36 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Twilio::Request do
4
- before do
5
- @request = Twilio::Request.new('host',
6
- 'port',
7
- 'POST',
8
- 'url',
9
- { 'param-key' => 'param-value', 'param-keytwo' => 'param-valuetwo' },
10
- { 'data-key' => 'data-value', 'data-keytwo' => 'data-valuetwo' },
11
- { 'header-key' => 'header-value', 'header-keytwo' => 'header-valuetwo' },
12
- ['a', 'b'],
13
- 'timeout')
14
- end
15
-
16
- it 'should initialize readers correctly' do
17
- expect(@request.host).to eq('host')
18
- expect(@request.port).to eq('port')
19
- expect(@request.method).to eq('POST')
20
- expect(@request.url).to eq('url')
21
- expect(@request.params).to eq('param-key' => 'param-value', 'param-keytwo' => 'param-valuetwo')
22
- expect(@request.data).to eq('data-key' => 'data-value', 'data-keytwo' => 'data-valuetwo')
23
- expect(@request.headers).to eq('header-key' => 'header-value', 'header-keytwo' => 'header-valuetwo')
24
- expect(@request.auth).to eq(['a', 'b'])
25
- expect(@request.timeout).to eq('timeout')
26
- end
27
-
28
- it 'should be represented correctly' do
29
- expected_string = %((a,b) POST url?param-key=param-value&param-keytwo=param-valuetwo) +
30
- %(\n-d "data-key"="data-value") +
31
- %(\n-d "data-keytwo"="data-valuetwo") +
32
- %(\n-H "header-key": "header-value") +
33
- %(\n-H "header-keytwo": "header-valuetwo")
34
- expect(@request.to_s).to eq(expected_string)
35
- end
36
- end
@@ -1,80 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Twilio do
4
- describe 'prefixed_collapsible_map' do
5
- it 'should serialize nil' do
6
- actual = Twilio.prefixed_collapsible_map(nil, 'Prefix')
7
- expect(actual).to eq({})
8
- end
9
-
10
- it 'should serialize a single key' do
11
- actual = Twilio.prefixed_collapsible_map({ 'foo' => 'bar' }, 'Prefix')
12
- expect(actual).to eq('Prefix.foo' => 'bar')
13
- end
14
-
15
- it 'should serialize nested key' do
16
- actual = Twilio.prefixed_collapsible_map({
17
- 'foo' => {
18
- 'bar' => 'baz'
19
- }
20
- }, 'Prefix')
21
- expect(actual).to eq('Prefix.foo.bar' => 'baz')
22
- end
23
-
24
- it 'should serialize multiple keys' do
25
- actual = Twilio.prefixed_collapsible_map({
26
- 'watson' => {
27
- 'language' => 'en',
28
- 'alice' => 'bob'
29
- },
30
- 'foo' => 'bar'
31
- }, 'Prefix')
32
- expect(actual).to eq('Prefix.watson.language' => 'en',
33
- 'Prefix.watson.alice' => 'bob',
34
- 'Prefix.foo' => 'bar')
35
- end
36
-
37
- it 'should serialize list' do
38
- actual = Twilio.prefixed_collapsible_map(['foo', 'bar'], 'Prefix')
39
- expect(actual).to eq({})
40
- end
41
- end
42
-
43
- describe 'serialize_object' do
44
- it 'should jsonify hashes' do
45
- actual = Twilio.serialize_object({ twilio: "rocks" })
46
- expect(actual).to eq('{"twilio":"rocks"}')
47
- end
48
-
49
- it 'should jsonify arrays' do
50
- actual = Twilio.serialize_object(["twilio", "rocks"])
51
- expect(actual).to eq('["twilio","rocks"]')
52
- end
53
-
54
- it 'should not modify other types' do
55
- actual = Twilio.serialize_object(123)
56
- expect(actual).to eq(123)
57
- end
58
- end
59
-
60
- describe 'serialize_list' do
61
- it 'should only operate on things with .each method' do
62
- actual = Twilio.serialize_list(nil)
63
- expect(actual).to eq(nil)
64
-
65
- actual = Twilio.serialize_list("something")
66
- expect(actual).to eq("something")
67
-
68
- actual = Twilio.serialize_list(1)
69
- expect(actual).to eq(1)
70
-
71
- actual = Twilio.serialize_list({ some_obj: 'some_val' })
72
- expect(actual).to eq({ some_obj: 'some_val' })
73
- end
74
-
75
- it 'should apply block to every element in list' do
76
- actual = Twilio.serialize_list([1, 2, 3, 4]) { |e| e * 2 }
77
- expect(actual).to eq([2, 4, 6, 8])
78
- end
79
- end
80
- end
@@ -1,219 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Version Action Methods' do
4
- it 'receives fetch responses' do
5
- @holodeck.mock(
6
- Twilio::Response.new(
7
- 200,
8
- '{
9
- "caller_name": null,
10
- "carrier": null,
11
- "fraud": null,
12
- "add_ons": null,
13
- "country_code": "US",
14
- "national_format": "(510) 867-5310",
15
- "phone_number": "+15108675310",
16
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310"
17
- }'
18
- )
19
- )
20
- actual = @client.lookups.v1.phone_numbers('+15017122661').fetch(type: 'sms')
21
- expect(actual).to_not eq(nil)
22
- end
23
-
24
- it 'handles redirect fetch responses' do
25
- @holodeck.mock(
26
- Twilio::Response.new(
27
- 307,
28
- '{"phone_number": "+15108675310"}'
29
- )
30
- )
31
- actual = @client.lookups.v1.phone_numbers('+15017122661').fetch
32
- expect(actual).to_not eq(nil)
33
- end
34
-
35
- describe 'stream' do
36
- before(:each) do
37
- @holodeck.mock(
38
- Twilio::Response.new(
39
- 200,
40
- '{
41
- "next_page_uri": "/2010-04-01/Accounts/AC123/Messages.json?Page=1",
42
- "messages": [{"body": "payload0"}, {"body": "payload1"}]
43
- }'
44
- )
45
- )
46
- @holodeck.mock(
47
- Twilio::Response.new(
48
- 200,
49
- '{
50
- "next_page_uri": "/2010-04-01/Accounts/AC123/Messages.json?Page=2",
51
- "messages": [{"body": "payload2"}, {"body": "payload3"}]
52
- }'
53
- )
54
- )
55
- @holodeck.mock(
56
- Twilio::Response.new(
57
- 200,
58
- '{
59
- "next_page_uri": null,
60
- "messages": [{"body": "payload4"}]
61
- }'
62
- )
63
- )
64
- end
65
-
66
- it 'streams all results' do
67
- actual = @client.messages.stream
68
- expect(actual.count).to eq(5)
69
- end
70
-
71
- it 'limits results' do
72
- actual = @client.messages.stream(limit: 3)
73
- expect(actual.count).to eq(3)
74
- end
75
- end
76
-
77
- it 'receives create responses' do
78
- @holodeck.mock(
79
- Twilio::Response.new(
80
- 201,
81
- '{
82
- "auth_token": "auth_token",
83
- "date_created": "Thu, 30 Jul 2015 20:00:00 +0000",
84
- "date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
85
- "friendly_name": "friendly_name",
86
- "owner_account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
87
- "sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
88
- "status": "active",
89
- "subresource_uris": {
90
- "available_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers.json",
91
- "calls": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json",
92
- "conferences": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences.json",
93
- "incoming_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json",
94
- "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
95
- "outgoing_caller_ids": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OutgoingCallerIds.json",
96
- "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
97
- "transcriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json",
98
- "addresses": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Addresses.json",
99
- "signing_keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SigningKeys.json",
100
- "connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConnectApps.json",
101
- "sip": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SIP.json",
102
- "authorized_connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AuthorizedConnectApps.json",
103
- "usage": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Usage.json",
104
- "keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Keys.json",
105
- "applications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Applications.json",
106
- "short_codes": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SMS/ShortCodes.json",
107
- "queues": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues.json",
108
- "messages": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json",
109
- "balance": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Balance.json"
110
- },
111
- "type": "Full",
112
- "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
113
- }'
114
- )
115
- )
116
- actual = @client.api.v2010.accounts.create(friendly_name: 'friendly_name')
117
- expect(actual).to_not eq(nil)
118
- end
119
-
120
- it 'receives update responses' do
121
- @holodeck.mock(
122
- Twilio::Response.new(
123
- 200,
124
- '{
125
- "auth_token": "auth_token",
126
- "date_created": "Thu, 30 Jul 2015 20:00:00 +0000",
127
- "date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
128
- "friendly_name": "friendly_name",
129
- "owner_account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
130
- "sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
131
- "status": "active",
132
- "subresource_uris": {
133
- "available_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers.json",
134
- "calls": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json",
135
- "conferences": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences.json",
136
- "incoming_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json",
137
- "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
138
- "outgoing_caller_ids": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OutgoingCallerIds.json",
139
- "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
140
- "transcriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json",
141
- "addresses": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Addresses.json",
142
- "signing_keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SigningKeys.json",
143
- "connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConnectApps.json",
144
- "sip": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SIP.json",
145
- "authorized_connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AuthorizedConnectApps.json",
146
- "usage": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Usage.json",
147
- "keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Keys.json",
148
- "applications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Applications.json",
149
- "short_codes": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SMS/ShortCodes.json",
150
- "queues": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues.json",
151
- "messages": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json",
152
- "balance": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Balance.json"
153
- },
154
- "type": "Full",
155
- "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
156
- }'
157
- )
158
- )
159
- actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update(friendly_name: 'friendly_name')
160
- expect(actual).to_not eq(nil)
161
- end
162
-
163
- it 'receives read_full responses' do
164
- @holodeck.mock(
165
- Twilio::Response.new(
166
- 200,
167
- '{
168
- "first_page_uri": "/2010-04-01/Accounts.json?FriendlyName=friendly_name&Status=active&PageSize=50&Page=0",
169
- "end": 0,
170
- "previous_page_uri": null,
171
- "accounts": [
172
- {
173
- "auth_token": "auth_token",
174
- "date_created": "Thu, 30 Jul 2015 20:00:00 +0000",
175
- "date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
176
- "friendly_name": "friendly_name",
177
- "owner_account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
178
- "sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
179
- "status": "active",
180
- "subresource_uris": {
181
- "available_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers.json",
182
- "calls": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json",
183
- "conferences": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences.json",
184
- "incoming_phone_numbers": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json",
185
- "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
186
- "outgoing_caller_ids": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OutgoingCallerIds.json",
187
- "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
188
- "transcriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json",
189
- "addresses": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Addresses.json",
190
- "signing_keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SigningKeys.json",
191
- "connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConnectApps.json",
192
- "sip": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SIP.json",
193
- "authorized_connect_apps": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AuthorizedConnectApps.json",
194
- "usage": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Usage.json",
195
- "keys": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Keys.json",
196
- "applications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Applications.json",
197
- "short_codes": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SMS/ShortCodes.json",
198
- "queues": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues.json",
199
- "messages": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json",
200
- "balance": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Balance.json"
201
- },
202
- "type": "Full",
203
- "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
204
- }
205
- ],
206
- "uri": "/2010-04-01/Accounts.json?FriendlyName=friendly_name&Status=active&PageSize=50&Page=0",
207
- "page_size": 50,
208
- "start": 0,
209
- "next_page_uri": null,
210
- "page": 0
211
- }'
212
- )
213
- )
214
-
215
- actual = @client.api.v2010.accounts.list(friendly_name: 'friendly_name')
216
-
217
- expect(actual).to_not eq(nil)
218
- end
219
- end
@@ -1,66 +0,0 @@
1
- require 'base64'
2
-
3
- class Holodeck
4
- attr_accessor :host, :port
5
-
6
- class Request
7
- attr_reader :method, :url, :auth, :params, :data, :headers, :any
8
-
9
- def initialize(method: nil, url: nil, auth: nil, params: {}, data: {}, headers: {}, any: false)
10
- @method = method
11
- @url = url
12
- @auth = auth
13
- @params = params
14
- @data = data
15
- @headers = headers
16
- @any = any
17
- end
18
-
19
- def any?
20
- @any
21
- end
22
-
23
- def ==(other)
24
- if method.casecmp(other.method.upcase).zero? &&
25
- url == other.url &&
26
- params == other.params &&
27
- data == other.data
28
- other.headers.each do |h, value|
29
- return false unless headers[h] == value
30
- end
31
- true
32
- end
33
- end
34
-
35
- def to_s
36
- "#<Holodeck::Request method:#{method} url:#{url} params:#{params} data:#{data} headers:#{headers}>"
37
- end
38
- end
39
-
40
- ANY = Request.new(any: true)
41
-
42
- def initialize
43
- @responses = []
44
- @requests = []
45
- end
46
-
47
- def mock(response)
48
- @responses << response
49
- end
50
-
51
- def request(host, port, method, url, params = {}, data = {}, headers = {}, auth = nil, _timeout = nil)
52
- @requests << Request.new(
53
- method: method,
54
- url: url,
55
- params: params,
56
- data: data,
57
- headers: headers,
58
- auth: auth
59
- )
60
- @responses.shift
61
- end
62
-
63
- def has_request?(request)
64
- @requests.include?(request)
65
- end
66
- end
@@ -1,4 +0,0 @@
1
- require 'uri'
2
-
3
- class Hologram
4
- end
@@ -1,122 +0,0 @@
1
- require 'spec_helper'
2
- require 'rack/mock'
3
-
4
- describe Twilio::HTTP::Client do
5
- before do
6
- @client = Twilio::HTTP::Client.new
7
- end
8
-
9
- it 'should allow setting a global timeout' do
10
- @client = Twilio::HTTP::Client.new(timeout: 10)
11
- @connection = Faraday::Connection.new
12
-
13
- expect(Faraday).to receive(:new).and_yield(@connection).and_return(@connection)
14
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 301, body: {}, headers: {}))
15
-
16
- @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b'])
17
-
18
- expect(@client.timeout).to eq(10)
19
- expect(@connection.options.open_timeout).to eq(10)
20
- expect(@connection.options.timeout).to eq(10)
21
- end
22
-
23
- it 'should allow overriding timeout per request' do
24
- @client = Twilio::HTTP::Client.new(timeout: 10)
25
- @connection = Faraday::Connection.new
26
-
27
- expect(Faraday).to receive(:new).and_yield(@connection).and_return(@connection)
28
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 301, body: {}, headers: {}))
29
-
30
- @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b'], 20)
31
-
32
- expect(@client.timeout).to eq(10)
33
- expect(@connection.options.open_timeout).to eq(20)
34
- expect(@connection.options.timeout).to eq(20)
35
- end
36
-
37
- it 'should contain a last response' do
38
- expect(Faraday).to receive(:new).and_return(Faraday::Connection.new)
39
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 301, body: {}, headers: { something: '1' }))
40
-
41
- @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b'])
42
-
43
- expect(@client.last_response).to_not be_nil
44
- expect(@client.last_response.is_a?(Twilio::Response)).to be(true)
45
- expect(@client.last_response.status_code).to eq(301)
46
- expect(@client.last_response.headers).to eq(something: '1')
47
- end
48
-
49
- it 'should contain a last request' do
50
- expect(Faraday).to receive(:new).and_return(Faraday::Connection.new)
51
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 301, body: {}, headers: {}))
52
-
53
- @client.request('host',
54
- 'port',
55
- 'GET',
56
- 'url',
57
- { 'param-key' => 'param-value' },
58
- { 'data-key' => 'data-value' },
59
- { 'header-key' => 'header-value' },
60
- ['a', 'b'],
61
- 'timeout')
62
-
63
- expect(@client.last_request).to_not be_nil
64
- expect(@client.last_request.is_a?(Twilio::Request)).to be(true)
65
- expect(@client.last_request.host).to eq('host')
66
- expect(@client.last_request.port).to eq('port')
67
- expect(@client.last_request.method).to eq('GET')
68
- expect(@client.last_request.url).to eq('url')
69
- expect(@client.last_request.params).to eq('param-key' => 'param-value')
70
- expect(@client.last_request.data).to eq('data-key' => 'data-value')
71
- expect(@client.last_request.headers).to eq('header-key' => 'header-value')
72
- expect(@client.last_request.auth).to eq(['a', 'b'])
73
- expect(@client.last_request.timeout).to eq('timeout')
74
- end
75
-
76
- it 'should contain a last response for 5XX status classes' do
77
- expect(Faraday).to receive(:new).and_return(Faraday::Connection.new)
78
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 500, body: {}, headers: {}))
79
-
80
- @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b'])
81
- expect(@client.last_response).to_not be_nil
82
- expect(@client.last_request.host).to eq('host')
83
- expect(@client.last_request.port).to eq('port')
84
- expect(@client.last_request.method).to eq('GET')
85
- expect(@client.last_request.url).to eq('url')
86
- expect(@client.last_request.params).to be_nil
87
- expect(@client.last_request.data).to be_nil
88
- expect(@client.last_request.headers).to eq({})
89
- expect(@client.last_request.auth).to eq(['a', 'b'])
90
- expect(@client.last_request.timeout).to be_nil
91
- expect(@client.last_response.is_a?(Twilio::Response)).to be(true)
92
- expect(@client.last_response.status_code).to eq(500)
93
- end
94
-
95
- it 'should contain a last_response but no response on a connection error' do
96
- expect(Faraday).to receive(:new).and_return(Faraday::Connection.new)
97
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_raise(Faraday::ConnectionFailed.new('BOOM'))
98
-
99
- expect { @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b']) }.to raise_exception(Twilio::REST::TwilioError)
100
- expect(@client.last_response).to be_nil
101
- expect(@client.last_request).to_not be_nil
102
- expect(@client.last_request.host).to eq('host')
103
- expect(@client.last_request.port).to eq('port')
104
- expect(@client.last_request.method).to eq('GET')
105
- expect(@client.last_request.url).to eq('url')
106
- expect(@client.last_request.params).to be_nil
107
- expect(@client.last_request.data).to be_nil
108
- expect(@client.last_request.headers).to eq({})
109
- expect(@client.last_request.auth).to eq(['a', 'b'])
110
- expect(@client.last_request.timeout).to be_nil
111
- end
112
-
113
- describe 'last_response' do
114
- let(:last_response) { Twilio::Response.new(200, 'body') }
115
- end
116
- it 'previous last_response should be cleared' do
117
- expect(Faraday).to receive(:new).and_return(Faraday::Connection.new)
118
- allow_any_instance_of(Faraday::Connection).to receive(:send).and_raise(Faraday::ConnectionFailed.new('BOOM'))
119
- expect { @client.request('host', 'port', 'GET', 'url', nil, nil, {}, ['a', 'b']) }.to raise_exception(Twilio::REST::TwilioError)
120
- expect(@client.last_response).to be_nil
121
- end
122
- end