twilio-ruby 5.0.0.alpha1 → 5.0.0.rc2

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 (493) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -2
  3. data/AUTHORS.md +32 -46
  4. data/CHANGES.md +1 -124
  5. data/Gemfile +2 -2
  6. data/LICENSE.md +12 -12
  7. data/Makefile +2 -15
  8. data/README.md +37 -29
  9. data/Rakefile +0 -54
  10. data/examples/examples.rb +57 -46
  11. data/examples/{print_call_log.rb → print-call-log.rb} +7 -7
  12. data/lib/rack/twilio_webhook_authentication.rb +6 -5
  13. data/lib/twilio-ruby.rb +16 -17
  14. data/lib/twilio-ruby/compatibility/v2010/account/call/feedback.rb +15 -0
  15. data/lib/twilio-ruby/compatibility/v2010/account/queue/member.rb +23 -0
  16. data/lib/twilio-ruby/framework/domain.rb +2 -2
  17. data/lib/twilio-ruby/framework/exception.rb +14 -0
  18. data/lib/twilio-ruby/framework/helper.rb +1 -1
  19. data/lib/twilio-ruby/framework/page.rb +30 -28
  20. data/lib/twilio-ruby/framework/resource.rb +2 -2
  21. data/lib/twilio-ruby/framework/serialize.rb +7 -58
  22. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  23. data/lib/twilio-ruby/framework/version.rb +48 -43
  24. data/lib/twilio-ruby/http/http_client.rb +8 -8
  25. data/lib/twilio-ruby/rest/api.rb +33 -141
  26. data/lib/twilio-ruby/rest/api/v2010.rb +31 -50
  27. data/lib/twilio-ruby/rest/api/v2010/account.rb +239 -389
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +122 -145
  29. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +56 -76
  30. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +127 -144
  31. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +83 -85
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +97 -92
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +77 -142
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +77 -142
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +77 -142
  36. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +184 -232
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +84 -73
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +80 -85
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +115 -126
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +99 -114
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +112 -150
  42. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +109 -228
  43. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +98 -101
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +164 -287
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +90 -152
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +90 -152
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +90 -152
  48. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +138 -195
  49. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +100 -90
  50. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +106 -118
  51. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +105 -96
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +117 -119
  53. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +95 -84
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -194
  55. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +93 -100
  56. data/lib/twilio-ruby/rest/api/v2010/account/sandbox.rb +304 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +30 -42
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +113 -111
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +115 -104
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +133 -159
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +96 -94
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +96 -94
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +114 -111
  64. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +113 -108
  65. data/lib/twilio-ruby/rest/api/v2010/account/sms.rb +140 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/sms/short_code.rb +431 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/sms/sms_message.rb +467 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +34 -41
  69. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +90 -98
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +24 -21
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +118 -139
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +62 -106
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +62 -106
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +62 -106
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +62 -106
  76. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +62 -106
  77. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +62 -106
  78. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +62 -106
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +62 -106
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +124 -130
  81. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +31 -35
  82. data/lib/twilio-ruby/rest/client.rb +88 -249
  83. data/lib/twilio-ruby/rest/{accounts.rb → conversations.rb} +14 -16
  84. data/lib/twilio-ruby/rest/conversations/v1.rb +35 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +270 -0
  86. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → conversations/v1/conversation/completed.rb} +101 -101
  87. data/lib/twilio-ruby/rest/{preview/bulk_exports/export/day.rb → conversations/v1/conversation/in_progress.rb} +109 -95
  88. data/lib/twilio-ruby/rest/{messaging/v1/service/phone_number.rb → conversations/v1/conversation/participant.rb} +171 -178
  89. data/lib/twilio-ruby/rest/ip_messaging.rb +11 -26
  90. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +7 -19
  91. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +112 -113
  92. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +131 -542
  93. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +132 -194
  94. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +103 -159
  95. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +102 -183
  96. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +112 -107
  97. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +113 -186
  98. data/lib/twilio-ruby/rest/lookups.rb +8 -12
  99. data/lib/twilio-ruby/rest/lookups/v1.rb +7 -13
  100. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +54 -71
  101. data/lib/twilio-ruby/rest/monitor.rb +11 -19
  102. data/lib/twilio-ruby/rest/monitor/v1.rb +7 -19
  103. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +133 -121
  104. data/lib/twilio-ruby/rest/monitor/v1/event.rb +127 -116
  105. data/lib/twilio-ruby/rest/pricing.rb +11 -17
  106. data/lib/twilio-ruby/rest/pricing/v1.rb +9 -21
  107. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +23 -27
  108. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +74 -71
  109. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +23 -27
  110. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +79 -69
  111. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +27 -33
  112. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +74 -71
  113. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +52 -47
  114. data/lib/twilio-ruby/rest/taskrouter.rb +8 -12
  115. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -11
  116. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +153 -260
  117. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +114 -115
  118. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +101 -105
  119. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +139 -216
  120. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +106 -194
  121. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +145 -187
  122. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +65 -57
  123. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +57 -62
  124. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +135 -217
  125. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +60 -54
  126. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +56 -52
  127. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +123 -140
  128. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +61 -57
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +72 -52
  130. data/lib/twilio-ruby/rest/trunking.rb +8 -12
  131. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -11
  132. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +134 -157
  133. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +93 -89
  134. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +93 -89
  135. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +111 -114
  136. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +112 -146
  137. data/lib/twilio-ruby/task_router.rb +0 -0
  138. data/lib/twilio-ruby/task_router/capability.rb +87 -0
  139. data/lib/twilio-ruby/twiml/response.rb +16 -0
  140. data/lib/twilio-ruby/util.rb +1 -1
  141. data/lib/twilio-ruby/util/access_token.rb +70 -0
  142. data/lib/twilio-ruby/util/capability.rb +64 -0
  143. data/lib/twilio-ruby/util/client_config.rb +29 -0
  144. data/lib/twilio-ruby/{security → util}/request_validator.rb +4 -21
  145. data/lib/twilio-ruby/version.rb +1 -1
  146. data/spec/holodeck/holodeck.rb +6 -6
  147. data/spec/holodeck/hologram.rb +1 -0
  148. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +8 -8
  149. data/spec/integration/api/v2010/account/address_spec.rb +29 -37
  150. data/spec/integration/api/v2010/account/application_spec.rb +29 -29
  151. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +13 -13
  152. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +8 -9
  153. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +8 -9
  154. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +8 -9
  155. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +13 -13
  156. data/spec/integration/api/v2010/account/call/feedback_spec.rb +17 -17
  157. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +19 -19
  158. data/spec/integration/api/v2010/account/call/notification_spec.rb +18 -18
  159. data/spec/integration/api/v2010/account/call/recording_spec.rb +20 -32
  160. data/spec/integration/api/v2010/account/call_spec.rb +29 -29
  161. data/spec/integration/api/v2010/account/conference/participant_spec.rb +35 -107
  162. data/spec/integration/api/v2010/account/conference_spec.rb +19 -58
  163. data/spec/integration/api/v2010/account/connect_app_spec.rb +18 -18
  164. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +14 -16
  165. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +14 -16
  166. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +14 -16
  167. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +29 -41
  168. data/spec/integration/api/v2010/account/message/media_spec.rb +18 -18
  169. data/spec/integration/api/v2010/account/message_spec.rb +35 -41
  170. data/spec/integration/api/v2010/account/notification_spec.rb +18 -18
  171. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +23 -23
  172. data/spec/integration/api/v2010/account/queue/member_spec.rb +18 -18
  173. data/spec/integration/api/v2010/account/queue_spec.rb +32 -35
  174. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +18 -18
  175. data/spec/integration/api/v2010/account/recording_spec.rb +21 -42
  176. data/spec/integration/api/v2010/account/sandbox_spec.rb +99 -0
  177. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +36 -32
  178. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +29 -29
  179. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +24 -24
  180. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +24 -24
  181. data/spec/integration/api/v2010/account/sip/domain_spec.rb +29 -29
  182. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +36 -32
  183. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +29 -29
  184. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  185. data/spec/integration/api/v2010/account/{short_code_spec.rb → sms/short_code_spec.rb} +25 -18
  186. data/spec/integration/api/v2010/account/sms/sms_message_spec.rb +275 -0
  187. data/spec/integration/{accounts/v1/credential_spec.rb → api/v2010/account/sms_spec.rb} +2 -2
  188. data/spec/integration/api/v2010/account/token_spec.rb +7 -7
  189. data/spec/integration/api/v2010/account/transcription_spec.rb +18 -18
  190. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +8 -8
  191. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +8 -8
  192. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +8 -8
  193. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +8 -8
  194. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +8 -8
  195. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +8 -8
  196. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +8 -8
  197. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +8 -8
  198. data/spec/integration/api/v2010/account/usage/record_spec.rb +8 -8
  199. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +32 -32
  200. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  201. data/spec/integration/api/v2010/account/validation_request_spec.rb +4 -24
  202. data/spec/integration/api/v2010/account_spec.rb +28 -24
  203. data/spec/integration/conversations/v1/conversation/completed_spec.rb +89 -0
  204. data/spec/integration/conversations/v1/conversation/in_progress_spec.rb +89 -0
  205. data/spec/integration/conversations/v1/conversation/participant_spec.rb +174 -0
  206. data/spec/integration/conversations/v1/conversation_spec.rb +49 -0
  207. data/spec/integration/ip_messaging/v1/credential_spec.rb +24 -155
  208. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +13 -217
  209. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +10 -241
  210. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +23 -205
  211. data/spec/integration/ip_messaging/v1/service/role_spec.rb +19 -184
  212. data/spec/integration/ip_messaging/v1/service/user_spec.rb +24 -194
  213. data/spec/integration/ip_messaging/v1/service_spec.rb +17 -229
  214. data/spec/integration/lookups/v1/phone_number_spec.rb +6 -17
  215. data/spec/integration/monitor/v1/alert_spec.rb +60 -60
  216. data/spec/integration/monitor/v1/event_spec.rb +13 -13
  217. data/spec/integration/pricing/v1/messaging/country_spec.rb +7 -103
  218. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  219. data/spec/integration/pricing/v1/phone_number/country_spec.rb +13 -13
  220. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  221. data/spec/integration/pricing/v1/voice/country_spec.rb +13 -13
  222. data/spec/integration/pricing/v1/voice/number_spec.rb +6 -6
  223. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  224. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +38 -34
  225. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +13 -13
  226. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +24 -21
  227. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +11 -13
  228. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +17 -18
  229. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +41 -57
  230. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +50 -113
  231. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +6 -7
  232. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +6 -7
  233. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +68 -96
  234. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +12 -14
  235. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +43 -54
  236. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +9 -11
  237. data/spec/integration/taskrouter/v1/workspace_spec.rb +51 -71
  238. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +24 -24
  239. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +66 -66
  240. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +28 -28
  241. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +23 -23
  242. data/spec/integration/trunking/v1/trunk_spec.rb +28 -28
  243. data/spec/rack/twilio_webhook_authentication_spec.rb +23 -19
  244. data/spec/spec_helper.rb +2 -2
  245. data/spec/support/fakeweb.rb +1 -1
  246. data/spec/task_router_spec.rb +114 -0
  247. data/spec/util/access_token_spec.rb +103 -0
  248. data/spec/util/capability_spec.rb +186 -0
  249. data/spec/util/client_config_spec.rb +21 -0
  250. data/spec/{security → util}/request_validator_spec.rb +5 -5
  251. data/twilio-ruby.gemspec +8 -12
  252. metadata +90 -416
  253. data/.rubocop.yml +0 -21
  254. data/.rubocop_todo.yml +0 -187
  255. data/VERSIONS.md +0 -64
  256. data/lib/twilio-ruby/framework/error.rb +0 -30
  257. data/lib/twilio-ruby/framework/values.rb +0 -7
  258. data/lib/twilio-ruby/jwt/access_token.rb +0 -232
  259. data/lib/twilio-ruby/jwt/client_capability.rb +0 -102
  260. data/lib/twilio-ruby/jwt/jwt.rb +0 -50
  261. data/lib/twilio-ruby/jwt/task_router.rb +0 -174
  262. data/lib/twilio-ruby/rest/accounts/v1.rb +0 -39
  263. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -105
  264. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +0 -370
  265. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -431
  266. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -350
  267. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +0 -336
  268. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -165
  269. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -153
  270. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -153
  271. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +0 -397
  272. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +0 -378
  273. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +0 -430
  274. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +0 -336
  275. data/lib/twilio-ruby/rest/chat.rb +0 -59
  276. data/lib/twilio-ruby/rest/chat/v1.rb +0 -56
  277. data/lib/twilio-ruby/rest/chat/v1/credential.rb +0 -403
  278. data/lib/twilio-ruby/rest/chat/v1/service.rb +0 -935
  279. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +0 -554
  280. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +0 -386
  281. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +0 -431
  282. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +0 -447
  283. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +0 -396
  284. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +0 -467
  285. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +0 -244
  286. data/lib/twilio-ruby/rest/chat/v2.rb +0 -56
  287. data/lib/twilio-ruby/rest/chat/v2/credential.rb +0 -403
  288. data/lib/twilio-ruby/rest/chat/v2/service.rb +0 -688
  289. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +0 -554
  290. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +0 -386
  291. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +0 -431
  292. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +0 -447
  293. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +0 -396
  294. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +0 -467
  295. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +0 -244
  296. data/lib/twilio-ruby/rest/fax.rb +0 -44
  297. data/lib/twilio-ruby/rest/fax/v1.rb +0 -41
  298. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -541
  299. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -326
  300. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +0 -386
  301. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +0 -244
  302. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +0 -56
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +0 -403
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +0 -688
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +0 -554
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +0 -386
  307. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +0 -431
  308. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +0 -447
  309. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +0 -396
  310. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +0 -467
  311. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +0 -244
  312. data/lib/twilio-ruby/rest/messaging.rb +0 -44
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -41
  314. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -637
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -352
  316. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -359
  317. data/lib/twilio-ruby/rest/notify.rb +0 -52
  318. data/lib/twilio-ruby/rest/notify/v1.rb +0 -56
  319. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -403
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -639
  321. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -430
  322. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -288
  323. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -445
  324. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -254
  325. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -434
  326. data/lib/twilio-ruby/rest/preview.rb +0 -145
  327. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -56
  328. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  329. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -243
  330. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -42
  331. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -557
  332. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -58
  333. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -333
  334. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -301
  335. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -440
  336. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -341
  337. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  338. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -500
  339. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -359
  340. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -536
  341. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -429
  342. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -506
  343. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -452
  344. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -359
  345. data/lib/twilio-ruby/rest/preview/sync.rb +0 -41
  346. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -504
  347. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -445
  348. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -395
  349. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -438
  350. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -430
  351. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -395
  352. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -438
  353. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -432
  354. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -395
  355. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -71
  356. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -382
  357. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -435
  358. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -544
  359. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -236
  360. data/lib/twilio-ruby/rest/sync.rb +0 -44
  361. data/lib/twilio-ruby/rest/sync/v1.rb +0 -41
  362. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -504
  363. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -445
  364. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -395
  365. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -438
  366. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -430
  367. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -395
  368. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -438
  369. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -432
  370. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -395
  371. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +0 -315
  372. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +0 -461
  373. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +0 -406
  374. data/lib/twilio-ruby/rest/video.rb +0 -52
  375. data/lib/twilio-ruby/rest/video/v1.rb +0 -56
  376. data/lib/twilio-ruby/rest/video/v1/recording.rb +0 -382
  377. data/lib/twilio-ruby/rest/video/v1/room.rb +0 -485
  378. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -381
  379. data/lib/twilio-ruby/rest/wireless.rb +0 -60
  380. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -71
  381. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -367
  382. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -452
  383. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -548
  384. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  385. data/lib/twilio-ruby/twiml/messaging_response.rb +0 -141
  386. data/lib/twilio-ruby/twiml/twiml.rb +0 -69
  387. data/lib/twilio-ruby/twiml/voice_response.rb +0 -916
  388. data/spec/framework/serialize_spec.rb +0 -59
  389. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  391. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  392. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  393. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  394. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  395. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  396. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  397. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  398. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  399. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  400. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  401. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  402. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  403. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  404. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  405. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  406. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  407. data/spec/integration/chat/v1/service_spec.rb +0 -299
  408. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  409. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  410. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -284
  411. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -294
  412. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  413. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  414. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  415. data/spec/integration/chat/v2/service/user_spec.rb +0 -266
  416. data/spec/integration/chat/v2/service_spec.rb +0 -325
  417. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  418. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  419. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  420. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  421. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  422. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  423. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -284
  424. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -294
  425. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  426. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  427. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  428. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -266
  429. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -325
  430. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  431. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  432. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  433. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  434. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  435. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  436. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  437. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  438. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  439. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  440. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  441. data/spec/integration/notify/v1/service_spec.rb +0 -280
  442. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  443. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  444. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  445. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -280
  446. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  447. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  448. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  449. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  450. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  451. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  452. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  453. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  454. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  455. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  456. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  457. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  458. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  459. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  460. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  461. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  462. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  463. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  464. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  465. data/spec/integration/preview/sync/service_spec.rb +0 -244
  466. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  467. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  468. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  469. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  470. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  471. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  472. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  473. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  474. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  475. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  476. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  477. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  478. data/spec/integration/sync/v1/service_spec.rb +0 -244
  479. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  480. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  481. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  482. data/spec/integration/video/v1/recording_spec.rb +0 -165
  483. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  484. data/spec/integration/video/v1/room_spec.rb +0 -237
  485. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  486. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  487. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  488. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
  489. data/spec/jwt/access_token_spec.rb +0 -130
  490. data/spec/jwt/client_capability_spec.rb +0 -104
  491. data/spec/jwt/task_router_spec.rb +0 -172
  492. data/spec/twiml/messaging_response_spec.rb +0 -90
  493. data/spec/twiml/voice_response_spec.rb +0 -474
@@ -2,19 +2,19 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  require 'spec_helper.rb'
8
8
 
9
9
  describe 'PhoneNumber' do
10
10
  it "can fetch" do
11
11
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
12
-
12
+
13
13
  expect {
14
14
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
15
15
  .phone_numbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
16
- }.to raise_exception(Twilio::REST::TwilioError)
17
-
16
+ }.to raise_exception(Twilio::REST::TwilioException)
17
+
18
18
  values = {}
19
19
  expect(
20
20
  @holodeck.has_request?(Holodeck::Request.new(
@@ -63,21 +63,21 @@ describe 'PhoneNumber' do
63
63
  }
64
64
  ]
65
65
  ))
66
-
66
+
67
67
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
68
68
  .phone_numbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
69
-
69
+
70
70
  expect(actual).to_not eq(nil)
71
71
  end
72
72
 
73
73
  it "can delete" do
74
74
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
75
-
75
+
76
76
  expect {
77
77
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
78
78
  .phone_numbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
79
- }.to raise_exception(Twilio::REST::TwilioError)
80
-
79
+ }.to raise_exception(Twilio::REST::TwilioException)
80
+
81
81
  values = {}
82
82
  expect(
83
83
  @holodeck.has_request?(Holodeck::Request.new(
@@ -91,21 +91,21 @@ describe 'PhoneNumber' do
91
91
  204,
92
92
  nil,
93
93
  ))
94
-
94
+
95
95
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
96
96
  .phone_numbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
97
-
97
+
98
98
  expect(actual).to eq(true)
99
99
  end
100
100
 
101
101
  it "can create" do
102
102
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
103
-
103
+
104
104
  expect {
105
105
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
106
106
  .phone_numbers.create(phone_number_sid: "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
107
- }.to raise_exception(Twilio::REST::TwilioError)
108
-
107
+ }.to raise_exception(Twilio::REST::TwilioException)
108
+
109
109
  values = {
110
110
  'PhoneNumberSid' => "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
111
111
  }
@@ -157,21 +157,21 @@ describe 'PhoneNumber' do
157
157
  }
158
158
  ]
159
159
  ))
160
-
160
+
161
161
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
162
162
  .phone_numbers.create(phone_number_sid: "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
163
-
163
+
164
164
  expect(actual).to_not eq(nil)
165
165
  end
166
166
 
167
167
  it "can read" do
168
168
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
169
-
169
+
170
170
  expect {
171
171
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
172
172
  .phone_numbers.list()
173
- }.to raise_exception(Twilio::REST::TwilioError)
174
-
173
+ }.to raise_exception(Twilio::REST::TwilioException)
174
+
175
175
  values = {}
176
176
  expect(
177
177
  @holodeck.has_request?(Holodeck::Request.new(
@@ -233,10 +233,10 @@ describe 'PhoneNumber' do
233
233
  }
234
234
  ]
235
235
  ))
236
-
236
+
237
237
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
238
238
  .phone_numbers.list()
239
-
239
+
240
240
  expect(actual).to_not eq(nil)
241
241
  end
242
242
 
@@ -258,10 +258,10 @@ describe 'PhoneNumber' do
258
258
  }
259
259
  ]
260
260
  ))
261
-
261
+
262
262
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
263
263
  .phone_numbers.list()
264
-
264
+
265
265
  expect(actual).to_not eq(nil)
266
266
  end
267
267
  end
@@ -2,18 +2,18 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  require 'spec_helper.rb'
8
8
 
9
9
  describe 'Trunk' do
10
10
  it "can fetch" do
11
11
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
12
-
12
+
13
13
  expect {
14
14
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
15
- }.to raise_exception(Twilio::REST::TwilioError)
16
-
15
+ }.to raise_exception(Twilio::REST::TwilioException)
16
+
17
17
  values = {}
18
18
  expect(
19
19
  @holodeck.has_request?(Holodeck::Request.new(
@@ -52,19 +52,19 @@ describe 'Trunk' do
52
52
  }
53
53
  ]
54
54
  ))
55
-
55
+
56
56
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
57
-
57
+
58
58
  expect(actual).to_not eq(nil)
59
59
  end
60
60
 
61
61
  it "can delete" do
62
62
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
63
-
63
+
64
64
  expect {
65
65
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
66
- }.to raise_exception(Twilio::REST::TwilioError)
67
-
66
+ }.to raise_exception(Twilio::REST::TwilioException)
67
+
68
68
  values = {}
69
69
  expect(
70
70
  @holodeck.has_request?(Holodeck::Request.new(
@@ -78,19 +78,19 @@ describe 'Trunk' do
78
78
  204,
79
79
  nil,
80
80
  ))
81
-
81
+
82
82
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
83
-
83
+
84
84
  expect(actual).to eq(true)
85
85
  end
86
86
 
87
87
  it "can create" do
88
88
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
89
-
89
+
90
90
  expect {
91
91
  @client.trunking.v1.trunks.create()
92
- }.to raise_exception(Twilio::REST::TwilioError)
93
-
92
+ }.to raise_exception(Twilio::REST::TwilioException)
93
+
94
94
  values = {}
95
95
  expect(
96
96
  @holodeck.has_request?(Holodeck::Request.new(
@@ -129,19 +129,19 @@ describe 'Trunk' do
129
129
  }
130
130
  ]
131
131
  ))
132
-
132
+
133
133
  actual = @client.trunking.v1.trunks.create()
134
-
134
+
135
135
  expect(actual).to_not eq(nil)
136
136
  end
137
137
 
138
138
  it "can read" do
139
139
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
140
-
140
+
141
141
  expect {
142
142
  @client.trunking.v1.trunks.list()
143
- }.to raise_exception(Twilio::REST::TwilioError)
144
-
143
+ }.to raise_exception(Twilio::REST::TwilioException)
144
+
145
145
  values = {}
146
146
  expect(
147
147
  @holodeck.has_request?(Holodeck::Request.new(
@@ -193,9 +193,9 @@ describe 'Trunk' do
193
193
  }
194
194
  ]
195
195
  ))
196
-
196
+
197
197
  actual = @client.trunking.v1.trunks.list()
198
-
198
+
199
199
  expect(actual).to_not eq(nil)
200
200
  end
201
201
 
@@ -217,19 +217,19 @@ describe 'Trunk' do
217
217
  }
218
218
  ]
219
219
  ))
220
-
220
+
221
221
  actual = @client.trunking.v1.trunks.list()
222
-
222
+
223
223
  expect(actual).to_not eq(nil)
224
224
  end
225
225
 
226
226
  it "can update" do
227
227
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
228
-
228
+
229
229
  expect {
230
230
  @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update()
231
- }.to raise_exception(Twilio::REST::TwilioError)
232
-
231
+ }.to raise_exception(Twilio::REST::TwilioException)
232
+
233
233
  values = {}
234
234
  expect(
235
235
  @holodeck.has_request?(Holodeck::Request.new(
@@ -268,9 +268,9 @@ describe 'Trunk' do
268
268
  }
269
269
  ]
270
270
  ))
271
-
271
+
272
272
  actual = @client.trunking.v1.trunks("TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update()
273
-
273
+
274
274
  expect(actual).to_not eq(nil)
275
275
  end
276
276
  end
@@ -3,38 +3,38 @@ require 'rack/mock'
3
3
 
4
4
  describe Rack::TwilioWebhookAuthentication do
5
5
  before do
6
- @app = ->(_env) { [200, { 'Content-Type' => 'text/plain' }, ['Hello']] }
6
+ @app = lambda {|env| [200, {'Content-Type' => 'text/plain'}, ['Hello']] }
7
7
  end
8
8
 
9
9
  describe 'new' do
10
10
  it 'should initialize with an app, auth token and a path' do
11
- expect do
11
+ expect {
12
12
  Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/)
13
- end.not_to raise_error
13
+ }.not_to raise_error
14
14
  end
15
15
 
16
16
  it 'should initialize with an app, auth token and paths' do
17
- expect do
17
+ expect {
18
18
  Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/, /\/sms/)
19
- end.not_to raise_error
19
+ }.not_to raise_error
20
20
  end
21
21
 
22
22
  it 'should initialize with an app, dynamic token and paths' do
23
- expect do
23
+ expect {
24
24
  Rack::TwilioWebhookAuthentication.new(@app, nil, /\/voice/, /\/sms/)
25
- end.not_to raise_error
25
+ }.not_to raise_error
26
26
  end
27
27
  end
28
28
 
29
29
  describe 'calling against one path with dynamic auth token' do
30
30
  it 'should allow a request through if it validates' do
31
31
  auth_token = 'qwerty'
32
- account_sid = 12_345
32
+ account_sid = 12345
33
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 }
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
36
  request_validator = double('RequestValidator')
37
- expect(Twilio::Security::RequestValidator).to receive(:new).with(auth_token).and_return(request_validator)
37
+ expect(Twilio::Util::RequestValidator).to receive(:new).with(auth_token).and_return(request_validator)
38
38
  expect(request_validator).to receive(:validate).and_return(true)
39
39
  request = Rack::MockRequest.env_for('/voice')
40
40
  status, headers, body = @middleware.call(request)
@@ -44,18 +44,20 @@ describe Rack::TwilioWebhookAuthentication do
44
44
 
45
45
  describe 'calling against one path' do
46
46
  before do
47
- @middleware = Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/)
47
+ @middleware = Rack::TwilioWebhookAuthentication.new(
48
+ @app, 'ABC', /\/voice/
49
+ )
48
50
  end
49
51
 
50
52
  it 'should not intercept when the path doesn\'t match' do
51
- expect(Twilio::Security::RequestValidator).to_not receive(:validate)
53
+ expect(Twilio::Util::RequestValidator).to_not receive(:validate)
52
54
  request = Rack::MockRequest.env_for('/sms')
53
55
  status, headers, body = @middleware.call(request)
54
56
  expect(status).to be(200)
55
57
  end
56
58
 
57
59
  it 'should allow a request through if it validates' do
58
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
60
+ expect_any_instance_of(Twilio::Util::RequestValidator).to(
59
61
  receive(:validate).and_return(true)
60
62
  )
61
63
  request = Rack::MockRequest.env_for('/voice')
@@ -64,7 +66,7 @@ describe Rack::TwilioWebhookAuthentication do
64
66
  end
65
67
 
66
68
  it 'should short circuit a request to 403 if it does not validate' do
67
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
69
+ expect_any_instance_of(Twilio::Util::RequestValidator).to(
68
70
  receive(:validate).and_return(false)
69
71
  )
70
72
  request = Rack::MockRequest.env_for('/voice')
@@ -75,18 +77,20 @@ describe Rack::TwilioWebhookAuthentication do
75
77
 
76
78
  describe 'calling against many paths' do
77
79
  before do
78
- @middleware = Rack::TwilioWebhookAuthentication.new(@app, 'ABC', /\/voice/, /\/sms/)
80
+ @middleware = Rack::TwilioWebhookAuthentication.new(
81
+ @app, 'ABC', /\/voice/, /\/sms/
82
+ )
79
83
  end
80
84
 
81
85
  it 'should not intercept when the path doesn\'t match' do
82
- expect(Twilio::Security::RequestValidator).to_not receive(:validate)
86
+ expect(Twilio::Util::RequestValidator).to_not receive(:validate)
83
87
  request = Rack::MockRequest.env_for('icesms')
84
88
  status, headers, body = @middleware.call(request)
85
89
  expect(status).to be(200)
86
90
  end
87
91
 
88
92
  it 'shold allow a request through if it validates' do
89
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
93
+ expect_any_instance_of(Twilio::Util::RequestValidator).to(
90
94
  receive(:validate).and_return(true)
91
95
  )
92
96
  request = Rack::MockRequest.env_for('/sms')
@@ -95,7 +99,7 @@ describe Rack::TwilioWebhookAuthentication do
95
99
  end
96
100
 
97
101
  it 'should short circuit a request to 403 if it does not validate' do
98
- expect_any_instance_of(Twilio::Security::RequestValidator).to(
102
+ expect_any_instance_of(Twilio::Util::RequestValidator).to(
99
103
  receive(:validate).and_return(false)
100
104
  )
101
105
  request = Rack::MockRequest.env_for('/sms')
data/spec/spec_helper.rb CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'bundler'
4
4
  Bundler.setup
5
5
 
6
- Dir.glob(File.expand_path('../support/**/*.rb', __FILE__), &method(:require))
6
+ Dir.glob(File.expand_path("../support/**/*.rb", __FILE__), &method(:require))
7
7
 
8
8
  require_relative './holodeck/holodeck.rb'
9
9
  require_relative './holodeck/hologram.rb'
@@ -17,7 +17,7 @@ RSpec.configure do |config|
17
17
  end
18
18
 
19
19
  config.before(:each) do
20
- @client = Twilio::REST::Client.new('AC' + 'a' * 32, 'AUTHTOKEN')
20
+ @client = Twilio::REST::Client.new('AC' + 'a'*32, 'AUTHTOKEN')
21
21
  @holodeck = Holodeck.new
22
22
  @client.http_client = @holodeck
23
23
  end
@@ -1,2 +1,2 @@
1
1
  require 'fakeweb'
2
- FakeWeb.allow_net_connect = false
2
+ FakeWeb.allow_net_connect = false
@@ -0,0 +1,114 @@
1
+ require 'spec_helper'
2
+
3
+ describe Twilio::TaskRouter::Capability do
4
+ describe 'with a capability' do
5
+ before :each do
6
+ @capability = Twilio::TaskRouter::Capability.new 'AC123', 'foobar', 'WS456', 'WK789'
7
+ end
8
+
9
+ it 'should return a valid jwt when #generate_token is called' do
10
+ token = @capability.generate_token
11
+ decoded, header = JWT.decode token, 'foobar'
12
+ expect(decoded['policies']).not_to be_nil
13
+ expect(decoded['iss']).not_to be_nil
14
+ expect(decoded['exp']).not_to be_nil
15
+ end
16
+
17
+ it 'should properly set the iss key in the payload' do
18
+ token = @capability.generate_token
19
+ decoded, header = JWT.decode token, 'foobar'
20
+ expect(decoded['iss']).to eq('AC123')
21
+ end
22
+
23
+ it 'should properly set exp based on the default 1-hour ttl' do
24
+ seconds = Time.now.to_i
25
+ token = @capability.generate_token
26
+ decoded, header = JWT.decode token, 'foobar'
27
+ expect(decoded['exp']).to eq(seconds + 3600)
28
+ end
29
+
30
+ it 'should properly set exp based on the ttl arg to #generate_token' do
31
+ seconds = Time.now.to_i
32
+ ttl = rand 10000
33
+ token = @capability.generate_token ttl
34
+ decoded, header = JWT.decode token, 'foobar'
35
+ expect(decoded['exp']).to eq(seconds + ttl)
36
+ end
37
+
38
+ it 'should allow websocket operations and activity list fetches by default' do
39
+ token = @capability.generate_token
40
+ decoded, header = JWT.decode token, 'foobar'
41
+ expect(decoded['policies'].size).to eq(3)
42
+ get_policy = {
43
+ "url" => 'https://event-bridge.twilio.com/v1/wschannels/AC123/WK789',
44
+ "method" => 'GET',
45
+ "query_filter" => {},
46
+ "post_filter" => {},
47
+ "allow" => true
48
+ }
49
+ expect(decoded['policies'][0]).to eq(get_policy)
50
+ post_policy = {
51
+ "url" => 'https://event-bridge.twilio.com/v1/wschannels/AC123/WK789',
52
+ "method" => 'POST',
53
+ "query_filter" => {},
54
+ "post_filter" => {},
55
+ "allow" => true
56
+ }
57
+ expect(decoded['policies'][1]).to eq(post_policy)
58
+
59
+ activities_policy = {
60
+ 'url' => 'https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities',
61
+ 'method' => 'GET',
62
+ 'query_filter' => {},
63
+ 'post_filter' => {},
64
+ 'allow' => true
65
+ }
66
+ expect(decoded['policies'][2]).to eq(activities_policy)
67
+ end
68
+
69
+ it 'should add a policy when #allow_worker_activity_updates is called' do
70
+ @capability.allow_worker_activity_updates
71
+ token = @capability.generate_token
72
+ decoded, header = JWT.decode token, 'foobar'
73
+ expect(decoded['policies'].size).to eq(4)
74
+ activity_policy = {
75
+ 'url' => 'https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789',
76
+ 'method' => 'POST',
77
+ 'query_filter' => {},
78
+ 'post_filter' => {'ActivitySid' => {'required' => true}},
79
+ 'allow' => true
80
+ }
81
+ expect(decoded['policies'][-1]).to eq(activity_policy)
82
+ end
83
+
84
+ it 'should add a policy when #allow_worker_fetch_attributes is called' do
85
+ @capability.allow_worker_fetch_attributes
86
+ token = @capability.generate_token
87
+ decoded, header = JWT.decode token, 'foobar'
88
+ expect(decoded['policies'].size).to eq(4)
89
+ worker_policy = {
90
+ 'url' => 'https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789',
91
+ 'method' => 'GET',
92
+ 'query_filter' => {},
93
+ 'post_filter' => {},
94
+ 'allow' => true
95
+ }
96
+ expect(decoded['policies'][-1]).to eq(worker_policy)
97
+ end
98
+
99
+ it 'should add a policy when #allow_task_reservation_updates is called' do
100
+ @capability.allow_task_reservation_updates
101
+ token = @capability.generate_token
102
+ decoded, header = JWT.decode token, 'foobar'
103
+ expect(decoded['policies'].size).to eq(4)
104
+ task_policy = {
105
+ 'url' => 'https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**',
106
+ 'method' => 'POST',
107
+ 'query_filter' => {},
108
+ 'post_filter' => {'ReservationStatus' => {'required' => true}},
109
+ 'allow' => true
110
+ }
111
+ expect(decoded['policies'][-1]).to eq(task_policy)
112
+ end
113
+ end
114
+ end