twilio-ruby 5.46.1 → 5.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +129 -0
  3. data/README.md +6 -6
  4. data/lib/twilio-ruby/rest/api.rb +1 -1
  5. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +7 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +4 -4
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -2
  10. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  11. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +14 -0
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +14 -0
  14. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  15. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  16. data/lib/twilio-ruby/rest/client.rb +8 -1
  17. data/lib/twilio-ruby/rest/conversations/v1.rb +25 -20
  18. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  19. data/lib/twilio-ruby/rest/events/v1/event_type.rb +4 -4
  20. data/lib/twilio-ruby/rest/events/v1/schema.rb +4 -4
  21. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +4 -4
  22. data/lib/twilio-ruby/rest/events/v1/sink.rb +6 -5
  23. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  24. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  25. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  26. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +133 -6
  27. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  28. data/lib/twilio-ruby/rest/flex_api/v1.rb +15 -12
  29. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  30. data/lib/twilio-ruby/rest/insights.rb +1 -1
  31. data/lib/twilio-ruby/rest/insights/v1.rb +11 -9
  32. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  33. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  34. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  35. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  36. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  37. data/lib/twilio-ruby/rest/messaging.rb +20 -0
  38. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -4
  39. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  40. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +143 -0
  41. data/lib/twilio-ruby/rest/messaging/v1/service.rb +43 -0
  42. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +266 -0
  43. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +125 -0
  44. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  45. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  46. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  47. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +10 -8
  48. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  49. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  50. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  51. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  52. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  53. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  54. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  55. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  56. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  57. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  58. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  59. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +11 -1
  60. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  61. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  62. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  63. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  64. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +68 -16
  65. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +16 -0
  66. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  67. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  68. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  69. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +13 -32
  70. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  71. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -23
  72. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +38 -45
  73. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  74. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -23
  75. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +38 -47
  76. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -8
  77. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -23
  78. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -6
  79. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  80. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +12 -13
  81. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +15 -3
  82. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  83. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  84. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  85. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  86. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  87. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  88. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  89. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  90. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  91. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  92. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  93. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  94. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  95. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  96. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  97. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  98. data/lib/twilio-ruby/rest/verify.rb +9 -0
  99. data/lib/twilio-ruby/rest/verify/v2.rb +26 -8
  100. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +24 -0
  101. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +4 -3
  102. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +41 -52
  103. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +269 -0
  104. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  105. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  106. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -1
  107. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  108. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  109. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  110. data/lib/twilio-ruby/twiml/voice_response.rb +26 -2
  111. data/lib/twilio-ruby/version.rb +1 -1
  112. data/twilio-ruby.gemspec +1 -1
  113. metadata +26 -817
  114. data/spec/framework/request_spec.rb +0 -36
  115. data/spec/framework/serialize_spec.rb +0 -80
  116. data/spec/framework/version_spec.rb +0 -219
  117. data/spec/holodeck/holodeck.rb +0 -66
  118. data/spec/holodeck/hologram.rb +0 -4
  119. data/spec/http/http_client_spec.rb +0 -122
  120. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  121. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  122. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  123. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  124. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  125. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  126. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  127. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  128. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  129. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  130. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  131. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  132. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  133. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  134. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  135. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  136. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  137. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  138. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  139. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  140. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  141. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  142. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  143. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  144. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  145. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  146. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  147. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  148. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  149. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  150. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  151. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  152. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  153. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  154. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  155. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  156. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  157. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  158. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  159. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  160. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  161. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  162. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  163. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  164. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  165. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  166. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  167. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  168. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  169. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  170. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  171. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  172. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  173. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  174. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  175. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  176. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  177. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  178. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  179. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  180. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  181. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  182. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  183. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  184. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  185. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  186. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  187. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  188. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  189. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  190. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  191. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  192. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  193. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  194. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  195. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  196. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  197. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  198. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  199. data/spec/integration/api/v2010/account_spec.rb +0 -327
  200. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  201. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  202. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  203. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  204. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  205. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  206. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  207. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  208. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  209. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  210. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  211. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  212. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  213. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  214. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  215. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  216. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  217. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  218. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  219. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  220. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  221. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  222. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  223. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  224. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  225. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  226. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  227. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  228. data/spec/integration/chat/v1/service_spec.rb +0 -295
  229. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  230. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  231. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  232. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  233. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  234. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  235. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  236. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  237. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  238. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  239. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  240. data/spec/integration/chat/v2/service_spec.rb +0 -350
  241. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  242. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  243. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  244. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  245. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  246. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  247. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  248. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  249. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  250. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  251. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  252. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  253. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  254. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  255. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  256. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  257. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  258. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  259. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  260. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  261. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  262. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  263. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  264. data/spec/integration/events/v1/schema_spec.rb +0 -46
  265. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  266. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  267. data/spec/integration/events/v1/sink_spec.rb +0 -231
  268. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  269. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  270. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  271. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  272. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  273. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  274. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  275. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  276. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  277. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  278. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  279. data/spec/integration/insights/v1/call_spec.rb +0 -46
  280. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  281. data/spec/integration/insights/v1/room_spec.rb +0 -164
  282. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  283. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  284. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  285. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  286. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  287. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  288. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  289. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  290. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  291. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  292. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  293. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  294. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  295. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  296. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  297. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  298. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  299. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  300. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  301. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  302. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  303. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  304. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  305. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  306. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  307. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  308. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  309. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  310. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  311. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  312. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  313. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  314. data/spec/integration/notify/v1/service_spec.rb +0 -289
  315. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  316. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  317. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  318. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  319. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  320. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  321. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  322. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  323. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  324. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  325. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  326. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  327. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  328. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  329. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  330. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  331. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  332. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  333. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  334. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  335. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  336. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  337. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  338. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  339. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  340. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  341. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  342. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  343. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  344. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  345. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  346. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  347. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  348. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  349. data/spec/integration/preview/sync/service_spec.rb +0 -241
  350. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  351. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  352. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  353. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  354. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  355. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  356. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  357. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  358. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  359. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  360. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  361. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  362. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  363. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  364. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  365. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  366. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  367. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  368. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  369. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  370. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  371. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  372. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  373. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  374. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  375. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  376. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  377. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  378. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  379. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  380. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  381. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  382. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  383. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  384. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  385. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  386. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  387. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  388. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  389. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  390. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  391. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  392. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  393. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  394. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  395. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  396. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  397. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  398. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  399. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  400. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  401. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  402. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  403. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  404. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  405. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  406. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  407. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  408. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  409. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  410. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  411. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  412. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  413. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  414. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  415. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  416. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  417. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  418. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  419. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  420. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  421. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  422. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  423. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  424. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  425. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  426. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  427. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  428. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  429. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  430. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  431. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  432. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  433. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  434. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  435. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  436. data/spec/integration/sync/v1/service_spec.rb +0 -261
  437. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  438. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  439. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  440. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  441. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  442. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  443. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  444. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  445. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  446. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  447. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  448. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  449. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  450. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  451. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  452. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  453. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  454. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  455. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  456. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  457. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  458. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  459. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  460. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  461. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  462. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  463. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  464. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  465. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  466. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  467. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  468. data/spec/integration/verify/v2/form_spec.rb +0 -47
  469. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  470. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  471. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  472. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  473. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  474. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  475. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  476. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  477. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  478. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  479. data/spec/integration/verify/v2/service_spec.rb +0 -279
  480. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  481. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  482. data/spec/integration/video/v1/composition_spec.rb +0 -347
  483. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  484. data/spec/integration/video/v1/recording_spec.rb +0 -176
  485. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  486. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  487. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  488. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  489. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  490. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  491. data/spec/integration/video/v1/room_spec.rb +0 -301
  492. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  493. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  494. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  495. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  496. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  497. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  498. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  499. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  500. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  501. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  502. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  503. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  504. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  505. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  506. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  507. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  508. data/spec/jwt/access_token_spec.rb +0 -159
  509. data/spec/jwt/client_capability_spec.rb +0 -104
  510. data/spec/jwt/task_router_spec.rb +0 -172
  511. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  512. data/spec/rest/client_spec.rb +0 -255
  513. data/spec/security/request_validator_spec.rb +0 -125
  514. data/spec/spec_helper.rb +0 -38
  515. data/spec/support/fakeweb.rb +0 -2
  516. data/spec/twilio_spec.rb +0 -17
  517. data/spec/twiml/messaging_response_spec.rb +0 -235
  518. data/spec/twiml/voice_response_spec.rb +0 -847
  519. data/spec/util/configuration_spec.rb +0 -33
  520. data/spec/util/url_encode_spec.rb +0 -12
@@ -1,104 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Twilio::JWT::ClientCapability do
4
- describe 'initialization' do
5
- it 'should initialize without optionals' do
6
- clientCapability = Twilio::JWT::ClientCapability.new 'accountSid', 'authToken'
7
- expect(clientCapability.instance_variable_get('@account_sid')).to eq('accountSid')
8
- expect(clientCapability.instance_variable_get('@auth_token')).to eq('authToken')
9
- expect(clientCapability.instance_variable_get('@client_name')).to be_nil
10
- expect(clientCapability.instance_variable_get('@scopes')).to eq([])
11
- end
12
- end
13
-
14
- describe 'ClientCapability scopes' do
15
- before :each do
16
- @clientCapability = Twilio::JWT::ClientCapability.new 'accountSid', 'authToken'
17
- end
18
-
19
- it 'no capabilities' do
20
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq('')
21
- end
22
-
23
- it 'OutgoingClientScope sans params, client name' do
24
- @outgoingScope = Twilio::JWT::ClientCapability::OutgoingClientScope.new('test-application-sid')
25
- @clientCapability.add_scope(@outgoingScope)
26
- escope = 'scope:client:outgoing?appSid=test-application-sid'
27
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
28
- end
29
-
30
- it 'OutgoingClientScope with client-name' do
31
- @outgoingScope = Twilio::JWT::ClientCapability::OutgoingClientScope.new('test-application-sid', 'test-client-name')
32
- @clientCapability.add_scope(@outgoingScope)
33
- escope = 'scope:client:outgoing?appSid=test-application-sid&clientName=test-client-name'
34
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
35
- end
36
-
37
- it 'OutgoingClientScope with params' do
38
- @outgoingScope = Twilio::JWT::ClientCapability::OutgoingClientScope.new('test-application-sid', nil, {'params_key'=>'param_value'})
39
- @clientCapability.add_scope(@outgoingScope)
40
- escope = 'scope:client:outgoing?appSid=test-application-sid&appParams=params_key%3Dparam_value'
41
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
42
- end
43
-
44
- it 'IncomingClientScope' do
45
- @incomingScope = Twilio::JWT::ClientCapability::IncomingClientScope.new('test-client-name')
46
- @clientCapability.add_scope(@incomingScope)
47
- escope = 'scope:client:incoming?clientName=test-client-name'
48
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
49
- end
50
-
51
- it 'EventStreamScope sans filters' do
52
- @eventStreamScope = Twilio::JWT::ClientCapability::EventStreamScope.new
53
- @clientCapability.add_scope(@eventStreamScope)
54
- escope = 'scope:stream:subscribe?path=%2F2010-04-01%2FEvents'
55
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
56
- end
57
-
58
- it 'EventStreamScope with filters' do
59
- @eventStreamScope = Twilio::JWT::ClientCapability::EventStreamScope.new({'param_key'=>'param_value'})
60
- @clientCapability.add_scope(@eventStreamScope)
61
- escope = 'scope:stream:subscribe?path=%2F2010-04-01%2FEvents&params=param_key%3Dparam_value'
62
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
63
- end
64
-
65
- it 'OutgoingClientScope and IncomingClientScope' do
66
- @outgoingScope = Twilio::JWT::ClientCapability::OutgoingClientScope.new('test-application-sid')
67
- @clientCapability.add_scope(@outgoingScope)
68
- @incomingScope = Twilio::JWT::ClientCapability::IncomingClientScope.new('test-client-name')
69
- @clientCapability.add_scope(@incomingScope)
70
- escope = 'scope:client:outgoing?appSid=test-application-sid scope:client:incoming?clientName=test-client-name'
71
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
72
- end
73
-
74
- it 'complete payload' do
75
- @incomingScope = Twilio::JWT::ClientCapability::IncomingClientScope.new('test-client-name')
76
- @clientCapability.add_scope(@incomingScope)
77
- payload, _ = ::JWT.decode(@clientCapability.to_s, 'authToken', true, { algorithm: 'HS256' })
78
- escope = 'scope:client:incoming?clientName=test-client-name'
79
- expect(payload['iss']).to eq('accountSid')
80
- expect(payload['scope']).to eq(escope)
81
- expect(payload['exp']).to be > Time.now.to_i
82
- expect(payload['nbf']).to be <= Time.now.to_i
83
- end
84
- end
85
-
86
- describe 'ClientCapability constructor with scopes' do
87
- it 'Valid scopes in constructor' do
88
- @incomingScope = Twilio::JWT::ClientCapability::IncomingClientScope.new('test-client-name')
89
- @clientCapability = Twilio::JWT::ClientCapability.new 'accountSid', 'authToken', scopes: [@incomingScope]
90
- escope = 'scope:client:incoming?clientName=test-client-name'
91
- expect(@clientCapability.__send__(:_generate_payload)[:scope]).to eq(escope)
92
- end
93
- end
94
- end
95
-
96
- describe Twilio::JWT::Scope do
97
- it 'Scope raise exception' do
98
- class DummyScope
99
- include Twilio::JWT::Scope
100
- end
101
- @dummyScope = DummyScope.new
102
- expect { @dummyScope._generate_payload }.to raise_error(RuntimeError)
103
- end
104
- end
@@ -1,172 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'TaskRouter ' do
4
- def check_policy(method, url, policy, post_filter: {}, query_filter: {}, allow: true)
5
- expect(policy['url']).to eq(url)
6
- expect(policy['method']).to eq(method)
7
- expect(policy['post_filter']).to eq(post_filter)
8
- expect(policy['query_filter']).to eq(query_filter)
9
- expect(policy['allow']).to eq(allow)
10
- end
11
-
12
- describe Twilio::JWT::TaskRouterCapability do
13
- describe 'token initialization' do
14
- before :each do
15
- @taskRouterCapability = Twilio::JWT::TaskRouterCapability.new 'AC123', 'secret', 'WS456', 'CI123'
16
- end
17
-
18
- it 'generate default' do
19
- token = @taskRouterCapability.to_s
20
- payload, _ = JWT.decode token, 'secret'
21
- expect(payload['iss']).to eq('AC123')
22
- expect(payload['workspace_sid']).to eq('WS456')
23
- expect(payload['policies']).not_to be_nil
24
- expect(payload['policies'].size).to eq(2)
25
- end
26
-
27
- it 'add policy' do
28
- @policy = Twilio::JWT::TaskRouterCapability::Policy.new(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.workspace('WK123'), 'GET', true)
29
- @taskRouterCapability.add_policy(@policy)
30
- token = @taskRouterCapability.to_s
31
- payload, _ = JWT.decode token, 'secret'
32
- expect(payload['policies']).not_to be_nil
33
- expect(payload['policies'].size).to eq(3)
34
- check_policy('GET', 'https://taskrouter.twilio.com/v1/Workspaces/WK123', payload['policies'][0])
35
- check_policy('GET', 'https://event-bridge.twilio.com/v1/wschannels/AC123/CI123', payload['policies'][1])
36
- check_policy('POST', 'https://event-bridge.twilio.com/v1/wschannels/AC123/CI123', payload['policies'][2])
37
- end
38
- end
39
- end
40
-
41
- describe Twilio::JWT::TaskRouterCapability::Policy do
42
- describe 'policy' do
43
- it 'initialize' do
44
- @policy = Twilio::JWT::TaskRouterCapability::Policy.new('test-url',
45
- 'GET',
46
- true,
47
- { 'test-post-key' => 'test-post-value' },
48
- 'test-query-key' => 'test-query-value')
49
-
50
- payload = Hash[@policy._generate_payload.map { |k, v| [k.to_s, v] }]
51
- check_policy('GET',
52
- 'test-url',
53
- payload,
54
- post_filter: { 'test-post-key' => 'test-post-value' },
55
- query_filter: { 'test-query-key' => 'test-query-value' },
56
- allow: true)
57
- end
58
- end
59
-
60
- describe Twilio::JWT::TaskRouterCapability::TaskRouterUtils do
61
- describe 'urls' do
62
- it 'workspaces' do
63
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces'
64
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.workspaces).to eq(expected_url)
65
- end
66
-
67
- it 'workspace' do
68
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123'
69
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.workspace('WK123')).to eq(expected_url)
70
- end
71
-
72
- it 'all_workspaces' do
73
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/**'
74
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_workspaces).to eq(expected_url)
75
- end
76
-
77
- it 'tasks' do
78
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Tasks'
79
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.tasks('WK123')).to eq(expected_url)
80
- end
81
-
82
- it 'task' do
83
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Tasks/TK123'
84
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.task('WK123', 'TK123')).to eq(expected_url)
85
- end
86
-
87
- it 'all_tasks' do
88
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Tasks/**'
89
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_tasks('WK123')).to eq(expected_url)
90
- end
91
-
92
- it 'task_queues' do
93
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/TaskQueues'
94
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.task_queues('WK123')).to eq(expected_url)
95
- end
96
-
97
- it 'task_queue' do
98
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/TaskQueues/WQ123'
99
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.task_queue('WK123', 'WQ123')).to eq(expected_url)
100
- end
101
-
102
- it 'all_task_queues' do
103
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/TaskQueues/**'
104
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_task_queues('WK123')).to eq(expected_url)
105
- end
106
-
107
- it 'activities' do
108
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/AT123/Activities'
109
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.activities('AT123')).to eq(expected_url)
110
- end
111
-
112
- it 'activity' do
113
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Activities/AT123'
114
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.activity('WK123', 'AT123')).to eq(expected_url)
115
- end
116
-
117
- it 'all_activities' do
118
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Activities/**'
119
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_activities('WK123')).to eq(expected_url)
120
- end
121
-
122
- it 'workers' do
123
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers'
124
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.workers('WK123')).to eq(expected_url)
125
- end
126
-
127
- it 'worker' do
128
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123'
129
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.worker('WK123', 'WT123')).to eq(expected_url)
130
- end
131
-
132
- it 'all_workers' do
133
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/**'
134
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_workers('WK123')).to eq(expected_url)
135
- end
136
-
137
- it 'reservations' do
138
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123/Reservations'
139
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.reservations('WK123', 'WT123')).to eq(expected_url)
140
- end
141
-
142
- it 'reservation' do
143
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123/Reservations/RS123'
144
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.reservation('WK123', 'WT123', 'RS123')).to eq(expected_url)
145
- end
146
-
147
- it 'all_reservations' do
148
- expected_url = 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123/Reservations/**'
149
- expect(Twilio::JWT::TaskRouterCapability::TaskRouterUtils.all_reservations('WK123', 'WT123')).to eq(expected_url)
150
- end
151
- end
152
-
153
- describe 'default policies' do
154
- it 'default web_socket_policies' do
155
- @policies = Twilio::JWT::TaskRouterCapability::TaskRouterUtils.web_socket_policies('AC123', 'CI123')
156
- get, post = @policies.map(&:_generate_payload)
157
- check_policy('GET', 'https://event-bridge.twilio.com/v1/wschannels/AC123/CI123', Hash[get.map { |k, v| [k.to_s, v] }])
158
- check_policy('POST', 'https://event-bridge.twilio.com/v1/wschannels/AC123/CI123', Hash[post.map { |k, v| [k.to_s, v] }])
159
- end
160
-
161
- it 'default worker policies' do
162
- @policies = Twilio::JWT::TaskRouterCapability::TaskRouterUtils.worker_policies('WK123', 'WT123')
163
- payload = @policies.map(&:_generate_payload)
164
- check_policy('GET', 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Activities', Hash[payload[0].map { |k, v| [k.to_s, v] }])
165
- check_policy('GET', 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Tasks/**', Hash[payload[1].map { |k, v| [k.to_s, v] }])
166
- check_policy('GET', 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123/Reservations/**', Hash[payload[2].map { |k, v| [k.to_s, v] }])
167
- check_policy('GET', 'https://taskrouter.twilio.com/v1/Workspaces/WK123/Workers/WT123', Hash[payload[3].map { |k, v| [k.to_s, v] }])
168
- end
169
- end
170
- end
171
- end
172
- end
@@ -1,106 +0,0 @@
1
- require 'spec_helper'
2
- require 'rack/mock'
3
-
4
- describe Rack::TwilioWebhookAuthentication do
5
- before do
6
- @app = ->(_env) { [200, { 'Content-Type' => 'text/plain' }, ['Hello']] }
7
- end
8
-
9
- describe 'new' do
10
- it 'should initialize with an app, auth token and a path' do
11
- expect do
12
- Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/)
13
- end.not_to raise_error
14
- end
15
-
16
- it 'should initialize with an app, auth token and paths' do
17
- expect do
18
- Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/, /\/sms/)
19
- end.not_to raise_error
20
- end
21
-
22
- it 'should initialize with an app, dynamic token and paths' do
23
- expect do
24
- Rack::TwilioWebhookAuthentication.new(@app, nil, /\/voice/, /\/sms/)
25
- end.not_to raise_error
26
- end
27
- end
28
-
29
- describe 'calling against one path with dynamic auth token' do
30
- it 'should allow a request through if it validates' do
31
- auth_token = 'qwerty'
32
- account_sid = 12_345
33
- expect_any_instance_of(Rack::Request).to receive(:post?).and_return(true)
34
- expect_any_instance_of(Rack::Request).to receive(:POST).and_return({ 'AccountSid' => account_sid })
35
- @middleware = Rack::TwilioWebhookAuthentication.new(@app, nil, /\/voice/) { |asid| auth_token }
36
- request_validator = double('RequestValidator')
37
- expect(Twilio::Security::RequestValidator).to receive(:new).with(auth_token).and_return(request_validator)
38
- expect(request_validator).to receive(:validate).and_return(true)
39
- request = Rack::MockRequest.env_for('/voice')
40
- status, headers, body = @middleware.call(request)
41
- expect(status).to be(200)
42
- end
43
- end
44
-
45
- describe 'calling against one path' do
46
- before do
47
- @middleware = Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/)
48
- end
49
-
50
- it 'should not intercept when the path doesn\'t match' do
51
- expect(Twilio::Security::RequestValidator).to_not receive(:validate)
52
- request = Rack::MockRequest.env_for('/sms')
53
- status, headers, body = @middleware.call(request)
54
- expect(status).to be(200)
55
- end
56
-
57
- it 'should allow a request through if it validates' do
58
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
59
- receive(:validate).and_return(true)
60
- )
61
- request = Rack::MockRequest.env_for('/voice')
62
- status, headers, body = @middleware.call(request)
63
- expect(status).to be(200)
64
- end
65
-
66
- it 'should short circuit a request to 403 if it does not validate' do
67
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
68
- receive(:validate).and_return(false)
69
- )
70
- request = Rack::MockRequest.env_for('/voice')
71
- status, headers, body = @middleware.call(request)
72
- expect(status).to be(403)
73
- end
74
- end
75
-
76
- describe 'calling against many paths' do
77
- before do
78
- @middleware = Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/, /\/sms/)
79
- end
80
-
81
- it 'should not intercept when the path doesn\'t match' do
82
- expect(Twilio::Security::RequestValidator).to_not receive(:validate)
83
- request = Rack::MockRequest.env_for('icesms')
84
- status, headers, body = @middleware.call(request)
85
- expect(status).to be(200)
86
- end
87
-
88
- it 'shold allow a request through if it validates' do
89
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
90
- receive(:validate).and_return(true)
91
- )
92
- request = Rack::MockRequest.env_for('/sms')
93
- status, headers, body = @middleware.call(request)
94
- expect(status).to be(200)
95
- end
96
-
97
- it 'should short circuit a request to 403 if it does not validate' do
98
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
99
- receive(:validate).and_return(false)
100
- )
101
- request = Rack::MockRequest.env_for('/sms')
102
- status, headers, body = @middleware.call(request)
103
- expect(status).to be(403)
104
- end
105
- end
106
- end
@@ -1,255 +0,0 @@
1
- require 'spec_helper'
2
- require 'logger'
3
-
4
- describe Twilio::REST::ObsoleteClient do
5
- it 'raise an exception' do
6
- expect { Twilio::REST::ObsoleteClient.new }.to raise_error(Twilio::REST::ObsoleteError)
7
- end
8
- end
9
-
10
- describe Twilio::REST::BaseClient do
11
- it 'raise an exception' do
12
- expect { Twilio::REST::BaseClient.new }.to raise_error(Twilio::REST::ObsoleteError)
13
- end
14
- end
15
-
16
- describe Twilio::REST::IpMessagingClient do
17
- it 'raise an exception' do
18
- expect { Twilio::REST::IpMessagingClient.new }.to raise_error(Twilio::REST::ObsoleteError)
19
- end
20
- end
21
-
22
- describe Twilio::REST::LookupsClient do
23
- it 'raise an exception' do
24
- expect { Twilio::REST::LookupsClient.new }.to raise_error(Twilio::REST::ObsoleteError)
25
- end
26
- end
27
-
28
- describe Twilio::REST::MonitorClient do
29
- it 'raise an exception' do
30
- expect { Twilio::REST::MonitorClient.new }.to raise_error(Twilio::REST::ObsoleteError)
31
- end
32
- end
33
-
34
- describe Twilio::REST::PricingClient do
35
- it 'raise an exception' do
36
- expect { Twilio::REST::PricingClient.new }.to raise_error(Twilio::REST::ObsoleteError)
37
- end
38
- end
39
-
40
- describe Twilio::REST::TaskRouterClient do
41
- it 'raise an exception' do
42
- expect { Twilio::REST::TaskRouterClient.new }.to raise_error(Twilio::REST::ObsoleteError)
43
- end
44
- end
45
-
46
- describe Twilio::REST::TrunkingClient do
47
- it 'raise an exception' do
48
- expect { Twilio::REST::TrunkingClient.new }.to raise_error(Twilio::REST::ObsoleteError)
49
- end
50
- end
51
-
52
- describe Twilio::REST::Client do
53
- context 'configuration' do
54
- before do
55
- Twilio.configure do |config|
56
- config.account_sid = 'someSid'
57
- config.auth_token = 'someToken'
58
- config.http_client = 'someClient'
59
- config.region = 'someRegion'
60
- config.edge = 'someEdge'
61
- config.logger = 'someLogger'
62
- end
63
- end
64
-
65
- it 'uses the global configuration by default' do
66
- @client = Twilio::REST::Client.new
67
- expect(@client.account_sid).to eq('someSid')
68
- expect(@client.auth_token).to eq('someToken')
69
- expect(@client.http_client).to eq('someClient')
70
- expect(@client.region).to eq('someRegion')
71
- expect(@client.edge).to eq('someEdge')
72
- expect(@client.logger).to eq('someLogger')
73
- end
74
-
75
- it 'uses the arguments over global configuration' do
76
- @client = Twilio::REST::Client.new('myUser', 'myPassword', nil, 'myRegion', 'myClient', 'myLogger')
77
- @client.edge = 'myEdge'
78
- expect(@client.account_sid).to eq('myUser')
79
- expect(@client.auth_token).to eq('myPassword')
80
- expect(@client.http_client).to eq('myClient')
81
- expect(@client.region).to eq('myRegion')
82
- expect(@client.edge).to eq('myEdge')
83
- expect(@client.logger).to eq('myLogger')
84
- end
85
-
86
- class MyVersion < Twilio::REST::Version
87
- def initialize(domain)
88
- super
89
- @version = 'v1'
90
- end
91
- end
92
-
93
- class MyDomain < Twilio::REST::Domain
94
- def initialize(client)
95
- super
96
- @host = 'twilio.com'
97
- @base_url = 'https://twilio.com'
98
- @port = 443
99
- end
100
- end
101
- end
102
-
103
- context 'validation' do
104
- before :all do
105
- Twilio.configure do |config|
106
- config.account_sid = 'someSid'
107
- config.auth_token = 'someToken'
108
- config.http_client = 'someClient'
109
- config.region = nil
110
- config.edge = nil
111
- config.logger = nil
112
- end
113
- end
114
-
115
- it 'successfully validates the working SSL certificate' do
116
- @holodeck.mock Twilio::Response.new(200, '')
117
- expect { @client.validate_ssl_certificate }.not_to raise_error
118
- end
119
-
120
- it 'fails to validate broken SSL certificates' do
121
- @holodeck.mock Twilio::Response.new(504, '')
122
- expect { @client.validate_ssl_certificate }.to raise_error(Twilio::REST::RestError)
123
- end
124
-
125
- it 'translates bad request error params' do
126
- @domain = MyDomain.new(@client)
127
- @version = MyVersion.new(@domain)
128
- @error_message = '{
129
- "code": 20001,
130
- "message": "Bad request",
131
- "more_info": "https://www.twilio.com/docs/errors/20001",
132
- "status": 400,
133
- "details": {
134
- "foo":"bar"
135
- }}'
136
- @holodeck.mock Twilio::Response.new(400, @error_message)
137
- expect {
138
- @version.fetch('GET', 'http://foobar.com')
139
- }.to raise_error { |error|
140
- expect(error).to be_a(Twilio::REST::RestError)
141
- expect(error.status_code).to eq(400)
142
- expect(error.code).to eq(20_001)
143
- expect(error.details).to eq({ 'foo' => 'bar' })
144
- expect(error.error_message).to eq('Bad request')
145
- expect(error.more_info).to eq('https://www.twilio.com/docs/errors/20001')
146
- }
147
- end
148
- end
149
-
150
- context 'logging' do
151
- it 'logs the call details' do
152
- @client.logger = Logger.new(STDOUT)
153
- @holodeck.mock Twilio::Response.new(200, {})
154
- expect {
155
- @client.request('host', 'port', 'GET', 'http://foobar.com')
156
- }.to output(/Host:foobar.com/).to_stdout_from_any_process
157
- end
158
-
159
- it 'does not log when the logger instance is not passed' do
160
- @holodeck.mock Twilio::Response.new(200, {})
161
- expect {
162
- @client.request('host', 'port', 'GET', 'http://foobar.com')
163
- }.to_not output(/Host:foobar.com/).to_stdout_from_any_process
164
- end
165
- end
166
-
167
- describe '#build_uri' do
168
- before(:all) do
169
- Twilio.configure do |config|
170
- config.account_sid = 'username'
171
- config.auth_token = 'password'
172
- config.region = nil
173
- config.edge = nil
174
- end
175
- end
176
-
177
- context 'no region or edge in url' do
178
- it "doesn't set region or edge" do
179
- @client = Twilio::REST::Client.new
180
- expect(@client.build_uri('https://api.twilio.com')).to eq('https://api.twilio.com')
181
- end
182
-
183
- it 'uses the default region if edge set' do
184
- @client = Twilio::REST::Client.new
185
- @client.edge = 'edge'
186
- expect(@client.build_uri('https://api.twilio.com')).to eq('https://api.edge.us1.twilio.com')
187
- end
188
-
189
- it 'sets region' do
190
- @client = Twilio::REST::Client.new
191
- @client.region = 'region'
192
- expect(@client.build_uri('https://api.twilio.com')).to eq('https://api.region.twilio.com')
193
- end
194
-
195
- it 'sets region and edge' do
196
- @client = Twilio::REST::Client.new
197
- @client.region = 'region'
198
- @client.edge = 'edge'
199
- expect(@client.build_uri('https://api.twilio.com')).to eq('https://api.edge.region.twilio.com')
200
- end
201
- end
202
-
203
- context 'region in url' do
204
- it 'uses url region' do
205
- @client = Twilio::REST::Client.new
206
- expect(@client.build_uri('https://api.urlRegion.twilio.com')).to eq('https://api.urlRegion.twilio.com')
207
- end
208
-
209
- it 'uses client edge and url region' do
210
- @client = Twilio::REST::Client.new
211
- @client.edge = 'edge'
212
- expect(@client.build_uri('https://api.urlRegion.twilio.com')).to eq('https://api.edge.urlRegion.twilio.com')
213
- end
214
-
215
- it 'prefers client region' do
216
- @client = Twilio::REST::Client.new
217
- @client.region = 'region'
218
- expect(@client.build_uri('https://api.urlRegion.twilio.com')).to eq('https://api.region.twilio.com')
219
- end
220
-
221
- it 'uses client edge and prefers client region' do
222
- @client = Twilio::REST::Client.new
223
- @client.region = 'region'
224
- @client.edge = 'edge'
225
- expect(@client.build_uri('https://api.urlRegion.twilio.com')).to eq('https://api.edge.region.twilio.com')
226
- end
227
- end
228
-
229
- context 'region and edge in url' do
230
- it 'uses url region and edge' do
231
- @client = Twilio::REST::Client.new
232
- expect(@client.build_uri('https://api.urlEdge.urlRegion.twilio.com')).to eq('https://api.urlEdge.urlRegion.twilio.com')
233
- end
234
-
235
- it 'prefers client edge' do
236
- @client = Twilio::REST::Client.new
237
- @client.edge = 'edge'
238
- expect(@client.build_uri('https://api.urlEdge.urlRegion.twilio.com')).to eq('https://api.edge.urlRegion.twilio.com')
239
- end
240
-
241
- it 'prefers client region' do
242
- @client = Twilio::REST::Client.new
243
- @client.region = 'region'
244
- expect(@client.build_uri('https://api.urlEdge.urlRegion.twilio.com')).to eq('https://api.urlEdge.region.twilio.com')
245
- end
246
-
247
- it 'prefers client region and edge' do
248
- @client = Twilio::REST::Client.new
249
- @client.region = 'region'
250
- @client.edge = 'edge'
251
- expect(@client.build_uri('https://api.urlEdge.urlRegion.twilio.com')).to eq('https://api.edge.region.twilio.com')
252
- end
253
- end
254
- end
255
- end