twilio-ruby 5.9.0 → 5.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +12 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +36 -24
  5. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +34 -25
  6. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +30 -21
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +1 -1
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +10 -4
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -2
  10. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +2 -4
  11. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +1 -1
  12. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +6 -4
  13. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +6 -7
  14. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +1 -1
  15. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +1 -1
  16. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +12 -4
  17. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +11 -6
  18. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +10 -8
  19. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +10 -8
  20. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +11 -9
  21. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +0 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +2 -1
  23. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +9 -6
  24. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +9 -3
  25. data/lib/twilio-ruby/rest/api/v2010/account.rb +13 -9
  26. data/lib/twilio-ruby/rest/chat/v1/credential.rb +42 -24
  27. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +38 -18
  28. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +60 -24
  29. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +28 -18
  30. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +33 -24
  31. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +26 -16
  32. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +4 -2
  33. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +43 -24
  34. data/lib/twilio-ruby/rest/chat/v1/service.rb +74 -44
  35. data/lib/twilio-ruby/rest/chat/v2/credential.rb +61 -27
  36. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +41 -18
  37. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +43 -25
  38. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +76 -37
  39. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +432 -0
  40. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +90 -35
  41. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +23 -16
  42. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +4 -2
  43. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +43 -25
  44. data/lib/twilio-ruby/rest/chat/v2/service.rb +93 -53
  45. data/lib/twilio-ruby/rest/chat.rb +4 -2
  46. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +42 -24
  47. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +38 -18
  48. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +60 -24
  49. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +28 -18
  50. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +33 -24
  51. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +26 -16
  52. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +4 -2
  53. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +43 -24
  54. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +74 -44
  55. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +61 -27
  56. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +41 -18
  57. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +43 -25
  58. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +76 -37
  59. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +432 -0
  60. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +90 -35
  61. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +23 -16
  62. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +4 -2
  63. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +43 -25
  64. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +93 -53
  65. data/lib/twilio-ruby/rest/ip_messaging.rb +4 -2
  66. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +12 -11
  67. data/lib/twilio-ruby/rest/monitor/v1/event.rb +11 -11
  68. data/lib/twilio-ruby/rest/monitor.rb +1 -1
  69. data/lib/twilio-ruby/rest/notify/v1/credential.rb +47 -22
  70. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +59 -26
  71. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +104 -29
  72. data/lib/twilio-ruby/rest/notify/v1/service.rb +86 -48
  73. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +2 -2
  74. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  75. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -16
  76. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +21 -15
  77. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/field.rb +17 -14
  78. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/sample.rb +36 -25
  79. data/lib/twilio-ruby/rest/preview/understand/assistant/intent.rb +21 -15
  80. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +19 -13
  81. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +42 -28
  82. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +39 -21
  83. data/lib/twilio-ruby/rest/preview.rb +10 -9
  84. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +5 -5
  85. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +4 -4
  86. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +3 -3
  87. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +5 -5
  88. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +12 -13
  89. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -22
  90. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +7 -5
  91. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +31 -14
  92. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +3 -3
  93. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +2 -2
  94. data/lib/twilio-ruby/rest/sync/v1/service.rb +24 -27
  95. data/lib/twilio-ruby/rest/video/v1/composition.rb +1 -1
  96. data/lib/twilio-ruby/rest/video/v1/recording.rb +45 -31
  97. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +1 -1
  98. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +18 -6
  99. data/lib/twilio-ruby/rest/video/v1.rb +13 -12
  100. data/lib/twilio-ruby/rest/video.rb +9 -8
  101. data/lib/twilio-ruby/rest/wireless/v1/command.rb +43 -33
  102. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +48 -35
  103. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +21 -23
  104. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +32 -22
  105. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +121 -70
  106. data/lib/twilio-ruby/rest/wireless.rb +6 -3
  107. data/lib/twilio-ruby/version.rb +1 -1
  108. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +307 -0
  109. data/spec/integration/chat/v2/service/channel_spec.rb +4 -0
  110. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +307 -0
  111. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +4 -0
  112. metadata +9 -3
@@ -29,7 +29,8 @@ module Twilio
29
29
  end
30
30
 
31
31
  ##
32
- # @param [String] sid The sid
32
+ # @param [String] sid A 34 character string that uniquely identifies this
33
+ # resource.
33
34
  # @return [Twilio::REST::Wireless::V1::CommandInstance] if sid was passed.
34
35
  # @return [Twilio::REST::Wireless::V1::CommandList]
35
36
  def commands(sid=:unset)
@@ -37,7 +38,8 @@ module Twilio
37
38
  end
38
39
 
39
40
  ##
40
- # @param [String] sid The sid
41
+ # @param [String] sid A 34 character string that uniquely identifies this
42
+ # resource.
41
43
  # @return [Twilio::REST::Wireless::V1::RatePlanInstance] if sid was passed.
42
44
  # @return [Twilio::REST::Wireless::V1::RatePlanList]
43
45
  def rate_plans(sid=:unset)
@@ -45,7 +47,8 @@ module Twilio
45
47
  end
46
48
 
47
49
  ##
48
- # @param [String] sid The sid
50
+ # @param [String] sid A 34 character string that uniquely identifies this
51
+ # resource.
49
52
  # @return [Twilio::REST::Wireless::V1::SimInstance] if sid was passed.
50
53
  # @return [Twilio::REST::Wireless::V1::SimList]
51
54
  def sims(sid=:unset)
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.9.0'
2
+ VERSION = '5.10.0'
3
3
  end
@@ -0,0 +1,307 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'Webhook' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
18
+ .webhooks.list()
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ values = {}
22
+ expect(
23
+ @holodeck.has_request?(Holodeck::Request.new(
24
+ method: 'get',
25
+ url: 'https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks',
26
+ ))).to eq(true)
27
+ end
28
+
29
+ it "receives read_full responses" do
30
+ @holodeck.mock(Twilio::Response.new(
31
+ 200,
32
+ %q[
33
+ {
34
+ "meta": {
35
+ "page": 0,
36
+ "page_size": 5,
37
+ "first_page_url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
38
+ "previous_page_url": null,
39
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
40
+ "next_page_url": null,
41
+ "key": "webhooks"
42
+ },
43
+ "webhooks": [
44
+ {
45
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
46
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
47
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
+ "type": "webhook",
50
+ "configuration": {
51
+ "url": "dummy",
52
+ "method": "GET",
53
+ "filters": [
54
+ "onMessageSent",
55
+ "onChannelDestroyed"
56
+ ],
57
+ "retry_count": 2
58
+ },
59
+ "date_created": "2016-03-24T21:05:50Z",
60
+ "date_updated": "2016-03-24T21:05:50Z",
61
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
62
+ },
63
+ {
64
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
65
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
66
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
67
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
68
+ "type": "trigger",
69
+ "configuration": {
70
+ "url": "dummy",
71
+ "method": "POST",
72
+ "filters": [
73
+ "keyword1",
74
+ "keyword2"
75
+ ],
76
+ "retry_count": 3
77
+ },
78
+ "date_created": "2016-03-24T21:05:50Z",
79
+ "date_updated": "2016-03-24T21:05:50Z",
80
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
81
+ },
82
+ {
83
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
84
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
85
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
86
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
87
+ "type": "studio",
88
+ "configuration": {
89
+ "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
90
+ },
91
+ "date_created": "2016-03-24T21:05:50Z",
92
+ "date_updated": "2016-03-24T21:05:50Z",
93
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+ ))
99
+
100
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
101
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
102
+ .webhooks.list()
103
+
104
+ expect(actual).to_not eq(nil)
105
+ end
106
+
107
+ it "receives read_empty responses" do
108
+ @holodeck.mock(Twilio::Response.new(
109
+ 200,
110
+ %q[
111
+ {
112
+ "meta": {
113
+ "page": 0,
114
+ "page_size": 5,
115
+ "first_page_url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
116
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
117
+ "previous_page_url": null,
118
+ "next_page_url": null,
119
+ "key": "webhooks"
120
+ },
121
+ "webhooks": []
122
+ }
123
+ ]
124
+ ))
125
+
126
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
127
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
128
+ .webhooks.list()
129
+
130
+ expect(actual).to_not eq(nil)
131
+ end
132
+
133
+ it "can fetch" do
134
+ @holodeck.mock(Twilio::Response.new(500, ''))
135
+
136
+ expect {
137
+ @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
138
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
139
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
140
+ }.to raise_exception(Twilio::REST::TwilioError)
141
+
142
+ values = {}
143
+ expect(
144
+ @holodeck.has_request?(Holodeck::Request.new(
145
+ method: 'get',
146
+ url: 'https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
147
+ ))).to eq(true)
148
+ end
149
+
150
+ it "receives fetch responses" do
151
+ @holodeck.mock(Twilio::Response.new(
152
+ 200,
153
+ %q[
154
+ {
155
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
156
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
157
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
159
+ "type": "studio",
160
+ "configuration": {
161
+ "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
162
+ },
163
+ "date_created": "2016-03-24T21:05:50Z",
164
+ "date_updated": "2016-03-24T21:05:50Z",
165
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
166
+ }
167
+ ]
168
+ ))
169
+
170
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
171
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
172
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
173
+
174
+ expect(actual).to_not eq(nil)
175
+ end
176
+
177
+ it "can create" do
178
+ @holodeck.mock(Twilio::Response.new(500, ''))
179
+
180
+ expect {
181
+ @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
182
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
183
+ .webhooks.create(type: 'webhook')
184
+ }.to raise_exception(Twilio::REST::TwilioError)
185
+
186
+ values = {'Type' => 'webhook', }
187
+ expect(
188
+ @holodeck.has_request?(Holodeck::Request.new(
189
+ method: 'post',
190
+ url: 'https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks',
191
+ data: values,
192
+ ))).to eq(true)
193
+ end
194
+
195
+ it "receives create responses" do
196
+ @holodeck.mock(Twilio::Response.new(
197
+ 201,
198
+ %q[
199
+ {
200
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
201
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
202
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
203
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
204
+ "type": "webhook",
205
+ "configuration": {
206
+ "url": "dummy",
207
+ "method": "GET",
208
+ "filters": [
209
+ "onMessageSent",
210
+ "onChannelDestroyed"
211
+ ],
212
+ "retry_count": 2
213
+ },
214
+ "date_created": "2016-03-24T21:05:50Z",
215
+ "date_updated": "2016-03-24T21:05:50Z",
216
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
217
+ }
218
+ ]
219
+ ))
220
+
221
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
222
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
223
+ .webhooks.create(type: 'webhook')
224
+
225
+ expect(actual).to_not eq(nil)
226
+ end
227
+
228
+ it "can update" do
229
+ @holodeck.mock(Twilio::Response.new(500, ''))
230
+
231
+ expect {
232
+ @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
233
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
234
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
235
+ }.to raise_exception(Twilio::REST::TwilioError)
236
+
237
+ values = {}
238
+ expect(
239
+ @holodeck.has_request?(Holodeck::Request.new(
240
+ method: 'post',
241
+ url: 'https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
242
+ ))).to eq(true)
243
+ end
244
+
245
+ it "receives update responses" do
246
+ @holodeck.mock(Twilio::Response.new(
247
+ 200,
248
+ %q[
249
+ {
250
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
251
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
252
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
253
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
254
+ "type": "trigger",
255
+ "configuration": {
256
+ "url": "dummy",
257
+ "method": "POST",
258
+ "filters": [
259
+ "keyword1",
260
+ "keyword2"
261
+ ],
262
+ "retry_count": 3
263
+ },
264
+ "date_created": "2016-03-24T21:05:50Z",
265
+ "date_updated": "2016-03-24T21:05:51Z",
266
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
267
+ }
268
+ ]
269
+ ))
270
+
271
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
272
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
273
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
274
+
275
+ expect(actual).to_not eq(nil)
276
+ end
277
+
278
+ it "can delete" do
279
+ @holodeck.mock(Twilio::Response.new(500, ''))
280
+
281
+ expect {
282
+ @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
283
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
284
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
285
+ }.to raise_exception(Twilio::REST::TwilioError)
286
+
287
+ values = {}
288
+ expect(
289
+ @holodeck.has_request?(Holodeck::Request.new(
290
+ method: 'delete',
291
+ url: 'https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
292
+ ))).to eq(true)
293
+ end
294
+
295
+ it "receives delete responses" do
296
+ @holodeck.mock(Twilio::Response.new(
297
+ 204,
298
+ nil,
299
+ ))
300
+
301
+ actual = @client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
302
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
303
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
304
+
305
+ expect(actual).to eq(true)
306
+ end
307
+ end
@@ -47,6 +47,7 @@ describe 'Channel' do
47
47
  "members": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
48
48
  "messages": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages",
49
49
  "invites": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites",
50
+ "webhooks": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks",
50
51
  "last_message": null
51
52
  }
52
53
  }
@@ -125,6 +126,7 @@ describe 'Channel' do
125
126
  "members": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
126
127
  "messages": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages",
127
128
  "invites": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites",
129
+ "webhooks": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks",
128
130
  "last_message": null
129
131
  }
130
132
  }
@@ -177,6 +179,7 @@ describe 'Channel' do
177
179
  "members": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
178
180
  "messages": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages",
179
181
  "invites": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites",
182
+ "webhooks": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks",
180
183
  "last_message": null
181
184
  }
182
185
  }
@@ -263,6 +266,7 @@ describe 'Channel' do
263
266
  "members": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
264
267
  "messages": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages",
265
268
  "invites": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites",
269
+ "webhooks": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks",
266
270
  "last_message": null
267
271
  }
268
272
  }
@@ -0,0 +1,307 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'Webhook' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
18
+ .webhooks.list()
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ values = {}
22
+ expect(
23
+ @holodeck.has_request?(Holodeck::Request.new(
24
+ method: 'get',
25
+ url: 'https://ip-messaging.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks',
26
+ ))).to eq(true)
27
+ end
28
+
29
+ it "receives read_full responses" do
30
+ @holodeck.mock(Twilio::Response.new(
31
+ 200,
32
+ %q[
33
+ {
34
+ "meta": {
35
+ "page": 0,
36
+ "page_size": 5,
37
+ "first_page_url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
38
+ "previous_page_url": null,
39
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
40
+ "next_page_url": null,
41
+ "key": "webhooks"
42
+ },
43
+ "webhooks": [
44
+ {
45
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
46
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
47
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
+ "type": "webhook",
50
+ "configuration": {
51
+ "url": "dummy",
52
+ "method": "GET",
53
+ "filters": [
54
+ "onMessageSent",
55
+ "onChannelDestroyed"
56
+ ],
57
+ "retry_count": 2
58
+ },
59
+ "date_created": "2016-03-24T21:05:50Z",
60
+ "date_updated": "2016-03-24T21:05:50Z",
61
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
62
+ },
63
+ {
64
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
65
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
66
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
67
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
68
+ "type": "trigger",
69
+ "configuration": {
70
+ "url": "dummy",
71
+ "method": "POST",
72
+ "filters": [
73
+ "keyword1",
74
+ "keyword2"
75
+ ],
76
+ "retry_count": 3
77
+ },
78
+ "date_created": "2016-03-24T21:05:50Z",
79
+ "date_updated": "2016-03-24T21:05:50Z",
80
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
81
+ },
82
+ {
83
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
84
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
85
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
86
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
87
+ "type": "studio",
88
+ "configuration": {
89
+ "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
90
+ },
91
+ "date_created": "2016-03-24T21:05:50Z",
92
+ "date_updated": "2016-03-24T21:05:50Z",
93
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+ ))
99
+
100
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
101
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
102
+ .webhooks.list()
103
+
104
+ expect(actual).to_not eq(nil)
105
+ end
106
+
107
+ it "receives read_empty responses" do
108
+ @holodeck.mock(Twilio::Response.new(
109
+ 200,
110
+ %q[
111
+ {
112
+ "meta": {
113
+ "page": 0,
114
+ "page_size": 5,
115
+ "first_page_url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
116
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks?PageSize=5&Page=0",
117
+ "previous_page_url": null,
118
+ "next_page_url": null,
119
+ "key": "webhooks"
120
+ },
121
+ "webhooks": []
122
+ }
123
+ ]
124
+ ))
125
+
126
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
127
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
128
+ .webhooks.list()
129
+
130
+ expect(actual).to_not eq(nil)
131
+ end
132
+
133
+ it "can fetch" do
134
+ @holodeck.mock(Twilio::Response.new(500, ''))
135
+
136
+ expect {
137
+ @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
138
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
139
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
140
+ }.to raise_exception(Twilio::REST::TwilioError)
141
+
142
+ values = {}
143
+ expect(
144
+ @holodeck.has_request?(Holodeck::Request.new(
145
+ method: 'get',
146
+ url: 'https://ip-messaging.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
147
+ ))).to eq(true)
148
+ end
149
+
150
+ it "receives fetch responses" do
151
+ @holodeck.mock(Twilio::Response.new(
152
+ 200,
153
+ %q[
154
+ {
155
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
156
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
157
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
159
+ "type": "studio",
160
+ "configuration": {
161
+ "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
162
+ },
163
+ "date_created": "2016-03-24T21:05:50Z",
164
+ "date_updated": "2016-03-24T21:05:50Z",
165
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
166
+ }
167
+ ]
168
+ ))
169
+
170
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
171
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
172
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
173
+
174
+ expect(actual).to_not eq(nil)
175
+ end
176
+
177
+ it "can create" do
178
+ @holodeck.mock(Twilio::Response.new(500, ''))
179
+
180
+ expect {
181
+ @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
182
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
183
+ .webhooks.create(type: 'webhook')
184
+ }.to raise_exception(Twilio::REST::TwilioError)
185
+
186
+ values = {'Type' => 'webhook', }
187
+ expect(
188
+ @holodeck.has_request?(Holodeck::Request.new(
189
+ method: 'post',
190
+ url: 'https://ip-messaging.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks',
191
+ data: values,
192
+ ))).to eq(true)
193
+ end
194
+
195
+ it "receives create responses" do
196
+ @holodeck.mock(Twilio::Response.new(
197
+ 201,
198
+ %q[
199
+ {
200
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
201
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
202
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
203
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
204
+ "type": "webhook",
205
+ "configuration": {
206
+ "url": "dummy",
207
+ "method": "GET",
208
+ "filters": [
209
+ "onMessageSent",
210
+ "onChannelDestroyed"
211
+ ],
212
+ "retry_count": 2
213
+ },
214
+ "date_created": "2016-03-24T21:05:50Z",
215
+ "date_updated": "2016-03-24T21:05:50Z",
216
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
217
+ }
218
+ ]
219
+ ))
220
+
221
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
222
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
223
+ .webhooks.create(type: 'webhook')
224
+
225
+ expect(actual).to_not eq(nil)
226
+ end
227
+
228
+ it "can update" do
229
+ @holodeck.mock(Twilio::Response.new(500, ''))
230
+
231
+ expect {
232
+ @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
233
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
234
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
235
+ }.to raise_exception(Twilio::REST::TwilioError)
236
+
237
+ values = {}
238
+ expect(
239
+ @holodeck.has_request?(Holodeck::Request.new(
240
+ method: 'post',
241
+ url: 'https://ip-messaging.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
242
+ ))).to eq(true)
243
+ end
244
+
245
+ it "receives update responses" do
246
+ @holodeck.mock(Twilio::Response.new(
247
+ 200,
248
+ %q[
249
+ {
250
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
251
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
252
+ "channel_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
253
+ "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
254
+ "type": "trigger",
255
+ "configuration": {
256
+ "url": "dummy",
257
+ "method": "POST",
258
+ "filters": [
259
+ "keyword1",
260
+ "keyword2"
261
+ ],
262
+ "retry_count": 3
263
+ },
264
+ "date_created": "2016-03-24T21:05:50Z",
265
+ "date_updated": "2016-03-24T21:05:51Z",
266
+ "url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
267
+ }
268
+ ]
269
+ ))
270
+
271
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
272
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
273
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
274
+
275
+ expect(actual).to_not eq(nil)
276
+ end
277
+
278
+ it "can delete" do
279
+ @holodeck.mock(Twilio::Response.new(500, ''))
280
+
281
+ expect {
282
+ @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
283
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
284
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
285
+ }.to raise_exception(Twilio::REST::TwilioError)
286
+
287
+ values = {}
288
+ expect(
289
+ @holodeck.has_request?(Holodeck::Request.new(
290
+ method: 'delete',
291
+ url: 'https://ip-messaging.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks/WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
292
+ ))).to eq(true)
293
+ end
294
+
295
+ it "receives delete responses" do
296
+ @holodeck.mock(Twilio::Response.new(
297
+ 204,
298
+ nil,
299
+ ))
300
+
301
+ actual = @client.ip_messaging.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
302
+ .channels('CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
303
+ .webhooks('WHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
304
+
305
+ expect(actual).to eq(true)
306
+ end
307
+ end