twilio-ruby 5.22.3 → 5.23.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +27 -0
  3. data/README.md +2 -4
  4. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +14 -0
  5. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  6. data/lib/twilio-ruby/rest/chat/v1.rb +4 -2
  7. data/lib/twilio-ruby/rest/chat/v1/credential.rb +68 -47
  8. data/lib/twilio-ruby/rest/chat/v1/service.rb +311 -320
  9. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +59 -41
  10. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +52 -40
  11. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +71 -64
  12. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +58 -40
  13. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +39 -29
  14. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +51 -48
  15. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +16 -12
  16. data/lib/twilio-ruby/rest/insights/v1/summary.rb +13 -4
  17. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +4 -2
  18. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +68 -47
  19. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +311 -320
  20. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +59 -41
  21. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +52 -40
  22. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +71 -64
  23. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +58 -40
  24. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -29
  25. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +51 -48
  26. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +16 -12
  27. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  28. data/lib/twilio-ruby/rest/preview.rb +25 -0
  29. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +49 -0
  30. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +217 -0
  31. data/lib/twilio-ruby/rest/preview/trusted_comms/device.rb +146 -0
  32. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +169 -0
  33. data/lib/twilio-ruby/rest/serverless/v1.rb +2 -1
  34. data/lib/twilio-ruby/rest/serverless/v1/service.rb +4 -2
  35. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +30 -9
  36. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +1 -1
  37. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +39 -6
  38. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +191 -0
  39. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +133 -99
  40. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +3 -3
  41. data/lib/twilio-ruby/version.rb +1 -1
  42. data/spec/integration/api/v2010/account/conference_spec.rb +86 -2
  43. data/spec/integration/api/v2010/account/connect_app_spec.rb +28 -6
  44. data/spec/integration/api/v2010/account/queue/member_spec.rb +4 -4
  45. data/spec/integration/insights/v1/summary_spec.rb +1 -0
  46. data/spec/integration/preview/trusted_comms/current_call_spec.rb +46 -0
  47. data/spec/integration/preview/trusted_comms/device_spec.rb +45 -0
  48. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +48 -0
  49. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +6 -0
  50. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +92 -0
  51. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +31 -68
  52. data/spec/integration/video/v1/room/room_participant_spec.rb +6 -3
  53. data/spec/integration/wireless/v1/sim/data_session_spec.rb +2 -2
  54. metadata +15 -2
@@ -16,26 +16,22 @@ module Twilio
16
16
  ##
17
17
  # Initialize the SubscribedTrackList
18
18
  # @param [Version] version Version that contains the resource
19
- # @param [String] room_sid The room_sid
20
- # @param [String] subscriber_sid The subscriber_sid
19
+ # @param [String] room_sid Unique Room identifier where this Track is published.
20
+ # @param [String] participant_sid Unique Participant identifier that subscribes to
21
+ # this Track.
21
22
  # @return [SubscribedTrackList] SubscribedTrackList
22
- def initialize(version, room_sid: nil, subscriber_sid: nil)
23
+ def initialize(version, room_sid: nil, participant_sid: nil)
23
24
  super(version)
24
25
 
25
26
  # Path Solution
26
- @solution = {room_sid: room_sid, subscriber_sid: subscriber_sid}
27
- @uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:subscriber_sid]}/SubscribedTracks"
27
+ @solution = {room_sid: room_sid, participant_sid: participant_sid}
28
+ @uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:participant_sid]}/SubscribedTracks"
28
29
  end
29
30
 
30
31
  ##
31
32
  # Lists SubscribedTrackInstance records from the API as a list.
32
33
  # Unlike stream(), this operation is eager and will load `limit` records into
33
34
  # memory before returning.
34
- # @param [Time] date_created_after The date_created_after
35
- # @param [Time] date_created_before The date_created_before
36
- # @param [String] track The track
37
- # @param [String] publisher The publisher
38
- # @param [subscribed_track.Kind] kind The kind
39
35
  # @param [Integer] limit Upper limit for the number of records to return. stream()
40
36
  # guarantees to never return more than limit. Default is no limit
41
37
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -43,27 +39,14 @@ module Twilio
43
39
  # but a limit is defined, stream() will attempt to read the limit with the most
44
40
  # efficient page size, i.e. min(limit, 1000)
45
41
  # @return [Array] Array of up to limit results
46
- def list(date_created_after: :unset, date_created_before: :unset, track: :unset, publisher: :unset, kind: :unset, limit: nil, page_size: nil)
47
- self.stream(
48
- date_created_after: date_created_after,
49
- date_created_before: date_created_before,
50
- track: track,
51
- publisher: publisher,
52
- kind: kind,
53
- limit: limit,
54
- page_size: page_size
55
- ).entries
42
+ def list(limit: nil, page_size: nil)
43
+ self.stream(limit: limit, page_size: page_size).entries
56
44
  end
57
45
 
58
46
  ##
59
47
  # Streams SubscribedTrackInstance records from the API as an Enumerable.
60
48
  # This operation lazily loads records as efficiently as possible until the limit
61
49
  # is reached.
62
- # @param [Time] date_created_after The date_created_after
63
- # @param [Time] date_created_before The date_created_before
64
- # @param [String] track The track
65
- # @param [String] publisher The publisher
66
- # @param [subscribed_track.Kind] kind The kind
67
50
  # @param [Integer] limit Upper limit for the number of records to return. stream()
68
51
  # guarantees to never return more than limit. Default is no limit.
69
52
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -71,17 +54,10 @@ module Twilio
71
54
  # but a limit is defined, stream() will attempt to read the limit with the most
72
55
  # efficient page size, i.e. min(limit, 1000)
73
56
  # @return [Enumerable] Enumerable that will yield up to limit results
74
- def stream(date_created_after: :unset, date_created_before: :unset, track: :unset, publisher: :unset, kind: :unset, limit: nil, page_size: nil)
57
+ def stream(limit: nil, page_size: nil)
75
58
  limits = @version.read_limits(limit, page_size)
76
59
 
77
- page = self.page(
78
- date_created_after: date_created_after,
79
- date_created_before: date_created_before,
80
- track: track,
81
- publisher: publisher,
82
- kind: kind,
83
- page_size: limits[:page_size],
84
- )
60
+ page = self.page(page_size: limits[:page_size], )
85
61
 
86
62
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
87
63
  end
@@ -103,22 +79,12 @@ module Twilio
103
79
  ##
104
80
  # Retrieve a single page of SubscribedTrackInstance records from the API.
105
81
  # Request is executed immediately.
106
- # @param [Time] date_created_after The date_created_after
107
- # @param [Time] date_created_before The date_created_before
108
- # @param [String] track The track
109
- # @param [String] publisher The publisher
110
- # @param [subscribed_track.Kind] kind The kind
111
82
  # @param [String] page_token PageToken provided by the API
112
83
  # @param [Integer] page_number Page Number, this value is simply for client state
113
84
  # @param [Integer] page_size Number of records to return, defaults to 50
114
85
  # @return [Page] Page of SubscribedTrackInstance
115
- def page(date_created_after: :unset, date_created_before: :unset, track: :unset, publisher: :unset, kind: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
86
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
116
87
  params = Twilio::Values.of({
117
- 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
118
- 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
119
- 'Track' => track,
120
- 'Publisher' => publisher,
121
- 'Kind' => kind,
122
88
  'PageToken' => page_token,
123
89
  'Page' => page_number,
124
90
  'PageSize' => page_size,
@@ -144,35 +110,6 @@ module Twilio
144
110
  SubscribedTrackPage.new(@version, response, @solution)
145
111
  end
146
112
 
147
- ##
148
- # Update the SubscribedTrackInstance
149
- # @param [String] track The track
150
- # @param [String] publisher The publisher
151
- # @param [subscribed_track.Kind] kind The kind
152
- # @param [subscribed_track.Status] status The status
153
- # @return [SubscribedTrackInstance] Updated SubscribedTrackInstance
154
- def update(track: :unset, publisher: :unset, kind: :unset, status: :unset)
155
- data = Twilio::Values.of({
156
- 'Track' => track,
157
- 'Publisher' => publisher,
158
- 'Kind' => kind,
159
- 'Status' => status,
160
- })
161
-
162
- payload = @version.update(
163
- 'POST',
164
- @uri,
165
- data: data,
166
- )
167
-
168
- SubscribedTrackInstance.new(
169
- @version,
170
- payload,
171
- room_sid: @solution[:room_sid],
172
- subscriber_sid: @solution[:subscriber_sid],
173
- )
174
- end
175
-
176
113
  ##
177
114
  # Provide a user friendly representation
178
115
  def to_s
@@ -203,7 +140,7 @@ module Twilio
203
140
  @version,
204
141
  payload,
205
142
  room_sid: @solution[:room_sid],
206
- subscriber_sid: @solution[:subscriber_sid],
143
+ participant_sid: @solution[:participant_sid],
207
144
  )
208
145
  end
209
146
 
@@ -214,95 +151,192 @@ module Twilio
214
151
  end
215
152
  end
216
153
 
154
+ class SubscribedTrackContext < InstanceContext
155
+ ##
156
+ # Initialize the SubscribedTrackContext
157
+ # @param [Version] version Version that contains the resource
158
+ # @param [String] room_sid Unique Room identifier where this Track is subscribed.
159
+ # @param [String] participant_sid Unique Participant identifier that subscribes to
160
+ # this Track.
161
+ # @param [String] sid A 34 character string that uniquely identifies this
162
+ # resource.
163
+ # @return [SubscribedTrackContext] SubscribedTrackContext
164
+ def initialize(version, room_sid, participant_sid, sid)
165
+ super(version)
166
+
167
+ # Path Solution
168
+ @solution = {room_sid: room_sid, participant_sid: participant_sid, sid: sid, }
169
+ @uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:participant_sid]}/SubscribedTracks/#{@solution[:sid]}"
170
+ end
171
+
172
+ ##
173
+ # Fetch a SubscribedTrackInstance
174
+ # @return [SubscribedTrackInstance] Fetched SubscribedTrackInstance
175
+ def fetch
176
+ params = Twilio::Values.of({})
177
+
178
+ payload = @version.fetch(
179
+ 'GET',
180
+ @uri,
181
+ params,
182
+ )
183
+
184
+ SubscribedTrackInstance.new(
185
+ @version,
186
+ payload,
187
+ room_sid: @solution[:room_sid],
188
+ participant_sid: @solution[:participant_sid],
189
+ sid: @solution[:sid],
190
+ )
191
+ end
192
+
193
+ ##
194
+ # Provide a user friendly representation
195
+ def to_s
196
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
197
+ "#<Twilio.Video.V1.SubscribedTrackContext #{context}>"
198
+ end
199
+
200
+ ##
201
+ # Provide a detailed, user friendly representation
202
+ def inspect
203
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
204
+ "#<Twilio.Video.V1.SubscribedTrackContext #{context}>"
205
+ end
206
+ end
207
+
217
208
  class SubscribedTrackInstance < InstanceResource
218
209
  ##
219
210
  # Initialize the SubscribedTrackInstance
220
211
  # @param [Version] version Version that contains the resource
221
212
  # @param [Hash] payload payload that contains response from Twilio
222
- # @param [String] room_sid The room_sid
223
- # @param [String] subscriber_sid The subscriber_sid
213
+ # @param [String] room_sid Unique Room identifier where this Track is published.
214
+ # @param [String] participant_sid Unique Participant identifier that subscribes to
215
+ # this Track.
216
+ # @param [String] sid A 34 character string that uniquely identifies this
217
+ # resource.
224
218
  # @return [SubscribedTrackInstance] SubscribedTrackInstance
225
- def initialize(version, payload, room_sid: nil, subscriber_sid: nil)
219
+ def initialize(version, payload, room_sid: nil, participant_sid: nil, sid: nil)
226
220
  super(version)
227
221
 
228
222
  # Marshaled Properties
229
223
  @properties = {
230
224
  'sid' => payload['sid'],
225
+ 'participant_sid' => payload['participant_sid'],
226
+ 'publisher_sid' => payload['publisher_sid'],
231
227
  'room_sid' => payload['room_sid'],
232
228
  'name' => payload['name'],
233
- 'publisher_sid' => payload['publisher_sid'],
234
- 'subscriber_sid' => payload['subscriber_sid'],
235
229
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
236
230
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
237
231
  'enabled' => payload['enabled'],
238
232
  'kind' => payload['kind'],
233
+ 'url' => payload['url'],
234
+ }
235
+
236
+ # Context
237
+ @instance_context = nil
238
+ @params = {
239
+ 'room_sid' => room_sid,
240
+ 'participant_sid' => participant_sid,
241
+ 'sid' => sid || @properties['sid'],
239
242
  }
240
243
  end
241
244
 
242
245
  ##
243
- # @return [String] The sid
244
- def sid
245
- @properties['sid']
246
+ # Generate an instance context for the instance, the context is capable of
247
+ # performing various actions. All instance actions are proxied to the context
248
+ # @return [SubscribedTrackContext] SubscribedTrackContext for this SubscribedTrackInstance
249
+ def context
250
+ unless @instance_context
251
+ @instance_context = SubscribedTrackContext.new(
252
+ @version,
253
+ @params['room_sid'],
254
+ @params['participant_sid'],
255
+ @params['sid'],
256
+ )
257
+ end
258
+ @instance_context
246
259
  end
247
260
 
248
261
  ##
249
- # @return [String] The room_sid
250
- def room_sid
251
- @properties['room_sid']
262
+ # @return [String] A 34 character string that uniquely identifies this resource.
263
+ def sid
264
+ @properties['sid']
252
265
  end
253
266
 
254
267
  ##
255
- # @return [String] The name
256
- def name
257
- @properties['name']
268
+ # @return [String] Unique Participant identifier that subscribes to this Track.
269
+ def participant_sid
270
+ @properties['participant_sid']
258
271
  end
259
272
 
260
273
  ##
261
- # @return [String] The publisher_sid
274
+ # @return [String] Unique Participant identifier that publishes this Track.
262
275
  def publisher_sid
263
276
  @properties['publisher_sid']
264
277
  end
265
278
 
266
279
  ##
267
- # @return [String] The subscriber_sid
268
- def subscriber_sid
269
- @properties['subscriber_sid']
280
+ # @return [String] Unique Room identifier where this Track is published.
281
+ def room_sid
282
+ @properties['room_sid']
270
283
  end
271
284
 
272
285
  ##
273
- # @return [Time] The date_created
286
+ # @return [String] Track name. Limited to 128 characters.
287
+ def name
288
+ @properties['name']
289
+ end
290
+
291
+ ##
292
+ # @return [Time] The date that this resource was created.
274
293
  def date_created
275
294
  @properties['date_created']
276
295
  end
277
296
 
278
297
  ##
279
- # @return [Time] The date_updated
298
+ # @return [Time] The date that this resource was last updated.
280
299
  def date_updated
281
300
  @properties['date_updated']
282
301
  end
283
302
 
284
303
  ##
285
- # @return [Boolean] The enabled
304
+ # @return [Boolean] Specifies whether the Track is enabled or not.
286
305
  def enabled
287
306
  @properties['enabled']
288
307
  end
289
308
 
290
309
  ##
291
- # @return [subscribed_track.Kind] The kind
310
+ # @return [subscribed_track.Kind] Specifies whether Track represents `audio`, `video` or `data`
292
311
  def kind
293
312
  @properties['kind']
294
313
  end
295
314
 
315
+ ##
316
+ # @return [String] The absolute URL for this resource.
317
+ def url
318
+ @properties['url']
319
+ end
320
+
321
+ ##
322
+ # Fetch a SubscribedTrackInstance
323
+ # @return [SubscribedTrackInstance] Fetched SubscribedTrackInstance
324
+ def fetch
325
+ context.fetch
326
+ end
327
+
296
328
  ##
297
329
  # Provide a user friendly representation
298
330
  def to_s
299
- "<Twilio.Video.V1.SubscribedTrackInstance>"
331
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
332
+ "<Twilio.Video.V1.SubscribedTrackInstance #{values}>"
300
333
  end
301
334
 
302
335
  ##
303
336
  # Provide a detailed, user friendly representation
304
337
  def inspect
305
- "<Twilio.Video.V1.SubscribedTrackInstance>"
338
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
339
+ "<Twilio.Video.V1.SubscribedTrackInstance #{values}>"
306
340
  end
307
341
  end
308
342
  end
@@ -182,7 +182,7 @@ module Twilio
182
182
  'last_updated' => Twilio.deserialize_iso8601_datetime(payload['last_updated']),
183
183
  'start' => Twilio.deserialize_iso8601_datetime(payload['start']),
184
184
  'end_' => Twilio.deserialize_iso8601_datetime(payload['end']),
185
- 'imeisv' => payload['imeisv'],
185
+ 'imei' => payload['imei'],
186
186
  }
187
187
  end
188
188
 
@@ -278,8 +278,8 @@ module Twilio
278
278
 
279
279
  ##
280
280
  # @return [String] The unique id of the device using the SIM to connect.
281
- def imeisv
282
- @properties['imeisv']
281
+ def imei
282
+ @properties['imei']
283
283
  end
284
284
 
285
285
  ##
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.22.3'
2
+ VERSION = '5.23.0'
3
3
  end
@@ -25,13 +25,69 @@ describe 'Conference' do
25
25
  ))).to eq(true)
26
26
  end
27
27
 
28
- it "receives fetch responses" do
28
+ it "receives fetch_valid_mixer_zone responses" do
29
29
  @holodeck.mock(Twilio::Response.new(
30
30
  200,
31
31
  %q[
32
32
  {
33
33
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
- "api_version": "2008-08-01",
34
+ "api_version": "2010-04-01",
35
+ "date_created": "Fri, 18 Feb 2011 19:26:50 +0000",
36
+ "date_updated": "Fri, 18 Feb 2011 19:27:33 +0000",
37
+ "friendly_name": "AHH YEAH",
38
+ "sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
39
+ "region": "us1",
40
+ "status": "completed",
41
+ "subresource_uris": {
42
+ "participants": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json",
43
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
44
+ },
45
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
46
+ }
47
+ ]
48
+ ))
49
+
50
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
51
+ .conferences('CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
52
+
53
+ expect(actual).to_not eq(nil)
54
+ end
55
+
56
+ it "receives fetch_valid_region_in_progress responses" do
57
+ @holodeck.mock(Twilio::Response.new(
58
+ 200,
59
+ %q[
60
+ {
61
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
62
+ "api_version": "2010-04-01",
63
+ "date_created": "Fri, 18 Feb 2011 19:26:50 +0000",
64
+ "date_updated": "Fri, 18 Feb 2011 19:27:33 +0000",
65
+ "friendly_name": "AHH YEAH",
66
+ "sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
67
+ "region": "au1",
68
+ "status": "in-progress",
69
+ "subresource_uris": {
70
+ "participants": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json",
71
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
72
+ },
73
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
74
+ }
75
+ ]
76
+ ))
77
+
78
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
79
+ .conferences('CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
80
+
81
+ expect(actual).to_not eq(nil)
82
+ end
83
+
84
+ it "receives fetch_without_mixer_zone_integer_status responses" do
85
+ @holodeck.mock(Twilio::Response.new(
86
+ 200,
87
+ %q[
88
+ {
89
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
90
+ "api_version": "2010-04-01",
35
91
  "date_created": "Fri, 18 Feb 2011 19:26:50 +0000",
36
92
  "date_updated": "Fri, 18 Feb 2011 19:27:33 +0000",
37
93
  "friendly_name": "AHH YEAH",
@@ -53,6 +109,34 @@ describe 'Conference' do
53
109
  expect(actual).to_not eq(nil)
54
110
  end
55
111
 
112
+ it "receives fetch_unknown_mixer_zone_init_integer_status responses" do
113
+ @holodeck.mock(Twilio::Response.new(
114
+ 200,
115
+ %q[
116
+ {
117
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
118
+ "api_version": "2010-04-01",
119
+ "date_created": "Fri, 18 Feb 2011 19:26:50 +0000",
120
+ "date_updated": "Fri, 18 Feb 2011 19:27:33 +0000",
121
+ "friendly_name": "AHH YEAH",
122
+ "sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
123
+ "region": "unknown",
124
+ "status": "init",
125
+ "subresource_uris": {
126
+ "participants": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json",
127
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
128
+ },
129
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
130
+ }
131
+ ]
132
+ ))
133
+
134
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
135
+ .conferences('CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
136
+
137
+ expect(actual).to_not eq(nil)
138
+ end
139
+
56
140
  it "can read" do
57
141
  @holodeck.mock(Twilio::Response.new(500, ''))
58
142