twilio-ruby 5.6.1 → 5.6.2
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.
- checksums.yaml +4 -4
- data/CHANGES.md +18 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/client.rb +7 -0
- data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +0 -14
- data/lib/twilio-ruby/rest/studio.rb +44 -0
- data/lib/twilio-ruby/rest/studio/v1.rb +41 -0
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +346 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +370 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +348 -0
- data/lib/twilio-ruby/rest/video.rb +8 -0
- data/lib/twilio-ruby/rest/video/v1.rb +15 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +425 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +7 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +24 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +311 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -28
- data/spec/integration/studio/v1/flow/engagement/step_spec.rb +96 -0
- data/spec/integration/studio/v1/flow/engagement_spec.rb +143 -0
- data/spec/integration/studio/v1/flow_spec.rb +114 -0
- data/spec/integration/video/v1/composition_spec.rb +223 -0
- data/spec/integration/video/v1/recording_spec.rb +2 -0
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +132 -0
- data/spec/integration/video/v1/room/room_participant_spec.rb +6 -3
- metadata +19 -2
@@ -242,6 +242,7 @@ module Twilio
|
|
242
242
|
'container_format' => payload['container_format'],
|
243
243
|
'codec' => payload['codec'],
|
244
244
|
'grouping_sids' => payload['grouping_sids'],
|
245
|
+
'track_name' => payload['track_name'],
|
245
246
|
'links' => payload['links'],
|
246
247
|
}
|
247
248
|
|
@@ -333,6 +334,12 @@ module Twilio
|
|
333
334
|
@properties['grouping_sids']
|
334
335
|
end
|
335
336
|
|
337
|
+
##
|
338
|
+
# @return [String] The track_name
|
339
|
+
def track_name
|
340
|
+
@properties['track_name']
|
341
|
+
end
|
342
|
+
|
336
343
|
##
|
337
344
|
# @return [String] The links
|
338
345
|
def links
|
@@ -186,6 +186,7 @@ module Twilio
|
|
186
186
|
|
187
187
|
# Dependents
|
188
188
|
@published_tracks = nil
|
189
|
+
@subscribed_tracks = nil
|
189
190
|
end
|
190
191
|
|
191
192
|
##
|
@@ -241,6 +242,22 @@ module Twilio
|
|
241
242
|
@published_tracks
|
242
243
|
end
|
243
244
|
|
245
|
+
##
|
246
|
+
# Access the subscribed_tracks
|
247
|
+
# @return [SubscribedTrackList]
|
248
|
+
# @return [SubscribedTrackContext]
|
249
|
+
def subscribed_tracks
|
250
|
+
unless @subscribed_tracks
|
251
|
+
@subscribed_tracks = SubscribedTrackList.new(
|
252
|
+
@version,
|
253
|
+
room_sid: @solution[:room_sid],
|
254
|
+
subscriber_sid: @solution[:sid],
|
255
|
+
)
|
256
|
+
end
|
257
|
+
|
258
|
+
@subscribed_tracks
|
259
|
+
end
|
260
|
+
|
244
261
|
##
|
245
262
|
# Provide a user friendly representation
|
246
263
|
def to_s
|
@@ -386,6 +403,13 @@ module Twilio
|
|
386
403
|
context.published_tracks
|
387
404
|
end
|
388
405
|
|
406
|
+
##
|
407
|
+
# Access the subscribed_tracks
|
408
|
+
# @return [subscribed_tracks] subscribed_tracks
|
409
|
+
def subscribed_tracks
|
410
|
+
context.subscribed_tracks
|
411
|
+
end
|
412
|
+
|
389
413
|
##
|
390
414
|
# Provide a user friendly representation
|
391
415
|
def to_s
|
@@ -0,0 +1,311 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
|
7
|
+
module Twilio
|
8
|
+
module REST
|
9
|
+
class Video < Domain
|
10
|
+
class V1 < Version
|
11
|
+
class RoomContext < InstanceContext
|
12
|
+
class ParticipantContext < InstanceContext
|
13
|
+
class SubscribedTrackList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the SubscribedTrackList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @param [String] room_sid The room_sid
|
18
|
+
# @param [String] subscriber_sid The subscriber_sid
|
19
|
+
# @return [SubscribedTrackList] SubscribedTrackList
|
20
|
+
def initialize(version, room_sid: nil, subscriber_sid: nil)
|
21
|
+
super(version)
|
22
|
+
|
23
|
+
# Path Solution
|
24
|
+
@solution = {room_sid: room_sid, subscriber_sid: subscriber_sid}
|
25
|
+
@uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:subscriber_sid]}/SubscribedTracks"
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Lists SubscribedTrackInstance records from the API as a list.
|
30
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
31
|
+
# memory before returning.
|
32
|
+
# @param [Time] date_created_after The date_created_after
|
33
|
+
# @param [Time] date_created_before The date_created_before
|
34
|
+
# @param [String] track The track
|
35
|
+
# @param [String] publisher The publisher
|
36
|
+
# @param [subscribed_track.Kind] kind The kind
|
37
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
38
|
+
# guarantees to never return more than limit. Default is no limit
|
39
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
40
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
41
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
42
|
+
# efficient page size, i.e. min(limit, 1000)
|
43
|
+
# @return [Array] Array of up to limit results
|
44
|
+
def list(date_created_after: :unset, date_created_before: :unset, track: :unset, publisher: :unset, kind: :unset, limit: nil, page_size: nil)
|
45
|
+
self.stream(
|
46
|
+
date_created_after: date_created_after,
|
47
|
+
date_created_before: date_created_before,
|
48
|
+
track: track,
|
49
|
+
publisher: publisher,
|
50
|
+
kind: kind,
|
51
|
+
limit: limit,
|
52
|
+
page_size: page_size
|
53
|
+
).entries
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Streams SubscribedTrackInstance records from the API as an Enumerable.
|
58
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
59
|
+
# is reached.
|
60
|
+
# @param [Time] date_created_after The date_created_after
|
61
|
+
# @param [Time] date_created_before The date_created_before
|
62
|
+
# @param [String] track The track
|
63
|
+
# @param [String] publisher The publisher
|
64
|
+
# @param [subscribed_track.Kind] kind The kind
|
65
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
66
|
+
# guarantees to never return more than limit. Default is no limit.
|
67
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
68
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
69
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
70
|
+
# efficient page size, i.e. min(limit, 1000)
|
71
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
72
|
+
def stream(date_created_after: :unset, date_created_before: :unset, track: :unset, publisher: :unset, kind: :unset, limit: nil, page_size: nil)
|
73
|
+
limits = @version.read_limits(limit, page_size)
|
74
|
+
|
75
|
+
page = self.page(
|
76
|
+
date_created_after: date_created_after,
|
77
|
+
date_created_before: date_created_before,
|
78
|
+
track: track,
|
79
|
+
publisher: publisher,
|
80
|
+
kind: kind,
|
81
|
+
page_size: limits[:page_size],
|
82
|
+
)
|
83
|
+
|
84
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
85
|
+
end
|
86
|
+
|
87
|
+
##
|
88
|
+
# When passed a block, yields SubscribedTrackInstance records from the API.
|
89
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
90
|
+
# is reached.
|
91
|
+
def each
|
92
|
+
limits = @version.read_limits
|
93
|
+
|
94
|
+
page = self.page(page_size: limits[:page_size], )
|
95
|
+
|
96
|
+
@version.stream(page,
|
97
|
+
limit: limits[:limit],
|
98
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
99
|
+
end
|
100
|
+
|
101
|
+
##
|
102
|
+
# Retrieve a single page of SubscribedTrackInstance records from the API.
|
103
|
+
# Request is executed immediately.
|
104
|
+
# @param [Time] date_created_after The date_created_after
|
105
|
+
# @param [Time] date_created_before The date_created_before
|
106
|
+
# @param [String] track The track
|
107
|
+
# @param [String] publisher The publisher
|
108
|
+
# @param [subscribed_track.Kind] kind The kind
|
109
|
+
# @param [String] page_token PageToken provided by the API
|
110
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
111
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
112
|
+
# @return [Page] Page of SubscribedTrackInstance
|
113
|
+
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)
|
114
|
+
params = Twilio::Values.of({
|
115
|
+
'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
|
116
|
+
'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
|
117
|
+
'Track' => track,
|
118
|
+
'Publisher' => publisher,
|
119
|
+
'Kind' => kind,
|
120
|
+
'PageToken' => page_token,
|
121
|
+
'Page' => page_number,
|
122
|
+
'PageSize' => page_size,
|
123
|
+
})
|
124
|
+
response = @version.page(
|
125
|
+
'GET',
|
126
|
+
@uri,
|
127
|
+
params
|
128
|
+
)
|
129
|
+
SubscribedTrackPage.new(@version, response, @solution)
|
130
|
+
end
|
131
|
+
|
132
|
+
##
|
133
|
+
# Retrieve a single page of SubscribedTrackInstance records from the API.
|
134
|
+
# Request is executed immediately.
|
135
|
+
# @param [String] target_url API-generated URL for the requested results page
|
136
|
+
# @return [Page] Page of SubscribedTrackInstance
|
137
|
+
def get_page(target_url)
|
138
|
+
response = @version.domain.request(
|
139
|
+
'GET',
|
140
|
+
target_url
|
141
|
+
)
|
142
|
+
SubscribedTrackPage.new(@version, response, @solution)
|
143
|
+
end
|
144
|
+
|
145
|
+
##
|
146
|
+
# Update the SubscribedTrackInstance
|
147
|
+
# @param [String] track The track
|
148
|
+
# @param [String] publisher The publisher
|
149
|
+
# @param [subscribed_track.Kind] kind The kind
|
150
|
+
# @param [subscribed_track.Status] status The status
|
151
|
+
# @return [SubscribedTrackInstance] Updated SubscribedTrackInstance
|
152
|
+
def update(track: :unset, publisher: :unset, kind: :unset, status: :unset)
|
153
|
+
data = Twilio::Values.of({
|
154
|
+
'Track' => track,
|
155
|
+
'Publisher' => publisher,
|
156
|
+
'Kind' => kind,
|
157
|
+
'Status' => status,
|
158
|
+
})
|
159
|
+
|
160
|
+
payload = @version.update(
|
161
|
+
'POST',
|
162
|
+
@uri,
|
163
|
+
data: data,
|
164
|
+
)
|
165
|
+
|
166
|
+
SubscribedTrackInstance.new(
|
167
|
+
@version,
|
168
|
+
payload,
|
169
|
+
room_sid: @solution[:room_sid],
|
170
|
+
subscriber_sid: @solution[:subscriber_sid],
|
171
|
+
)
|
172
|
+
end
|
173
|
+
|
174
|
+
##
|
175
|
+
# Provide a user friendly representation
|
176
|
+
def to_s
|
177
|
+
'#<Twilio.Video.V1.SubscribedTrackList>'
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
class SubscribedTrackPage < Page
|
182
|
+
##
|
183
|
+
# Initialize the SubscribedTrackPage
|
184
|
+
# @param [Version] version Version that contains the resource
|
185
|
+
# @param [Response] response Response from the API
|
186
|
+
# @param [Hash] solution Path solution for the resource
|
187
|
+
# @return [SubscribedTrackPage] SubscribedTrackPage
|
188
|
+
def initialize(version, response, solution)
|
189
|
+
super(version, response)
|
190
|
+
|
191
|
+
# Path Solution
|
192
|
+
@solution = solution
|
193
|
+
end
|
194
|
+
|
195
|
+
##
|
196
|
+
# Build an instance of SubscribedTrackInstance
|
197
|
+
# @param [Hash] payload Payload response from the API
|
198
|
+
# @return [SubscribedTrackInstance] SubscribedTrackInstance
|
199
|
+
def get_instance(payload)
|
200
|
+
SubscribedTrackInstance.new(
|
201
|
+
@version,
|
202
|
+
payload,
|
203
|
+
room_sid: @solution[:room_sid],
|
204
|
+
subscriber_sid: @solution[:subscriber_sid],
|
205
|
+
)
|
206
|
+
end
|
207
|
+
|
208
|
+
##
|
209
|
+
# Provide a user friendly representation
|
210
|
+
def to_s
|
211
|
+
'<Twilio.Video.V1.SubscribedTrackPage>'
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
class SubscribedTrackInstance < InstanceResource
|
216
|
+
##
|
217
|
+
# Initialize the SubscribedTrackInstance
|
218
|
+
# @param [Version] version Version that contains the resource
|
219
|
+
# @param [Hash] payload payload that contains response from Twilio
|
220
|
+
# @param [String] room_sid The room_sid
|
221
|
+
# @param [String] subscriber_sid The subscriber_sid
|
222
|
+
# @return [SubscribedTrackInstance] SubscribedTrackInstance
|
223
|
+
def initialize(version, payload, room_sid: nil, subscriber_sid: nil)
|
224
|
+
super(version)
|
225
|
+
|
226
|
+
# Marshaled Properties
|
227
|
+
@properties = {
|
228
|
+
'sid' => payload['sid'],
|
229
|
+
'room_sid' => payload['room_sid'],
|
230
|
+
'name' => payload['name'],
|
231
|
+
'publisher_sid' => payload['publisher_sid'],
|
232
|
+
'subscriber_sid' => payload['subscriber_sid'],
|
233
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
234
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
235
|
+
'enabled' => payload['enabled'],
|
236
|
+
'kind' => payload['kind'],
|
237
|
+
}
|
238
|
+
end
|
239
|
+
|
240
|
+
##
|
241
|
+
# @return [String] The sid
|
242
|
+
def sid
|
243
|
+
@properties['sid']
|
244
|
+
end
|
245
|
+
|
246
|
+
##
|
247
|
+
# @return [String] The room_sid
|
248
|
+
def room_sid
|
249
|
+
@properties['room_sid']
|
250
|
+
end
|
251
|
+
|
252
|
+
##
|
253
|
+
# @return [String] The name
|
254
|
+
def name
|
255
|
+
@properties['name']
|
256
|
+
end
|
257
|
+
|
258
|
+
##
|
259
|
+
# @return [String] The publisher_sid
|
260
|
+
def publisher_sid
|
261
|
+
@properties['publisher_sid']
|
262
|
+
end
|
263
|
+
|
264
|
+
##
|
265
|
+
# @return [String] The subscriber_sid
|
266
|
+
def subscriber_sid
|
267
|
+
@properties['subscriber_sid']
|
268
|
+
end
|
269
|
+
|
270
|
+
##
|
271
|
+
# @return [Time] The date_created
|
272
|
+
def date_created
|
273
|
+
@properties['date_created']
|
274
|
+
end
|
275
|
+
|
276
|
+
##
|
277
|
+
# @return [Time] The date_updated
|
278
|
+
def date_updated
|
279
|
+
@properties['date_updated']
|
280
|
+
end
|
281
|
+
|
282
|
+
##
|
283
|
+
# @return [Boolean] The enabled
|
284
|
+
def enabled
|
285
|
+
@properties['enabled']
|
286
|
+
end
|
287
|
+
|
288
|
+
##
|
289
|
+
# @return [subscribed_track.Kind] The kind
|
290
|
+
def kind
|
291
|
+
@properties['kind']
|
292
|
+
end
|
293
|
+
|
294
|
+
##
|
295
|
+
# Provide a user friendly representation
|
296
|
+
def to_s
|
297
|
+
"<Twilio.Video.V1.SubscribedTrackInstance>"
|
298
|
+
end
|
299
|
+
|
300
|
+
##
|
301
|
+
# Provide a detailed, user friendly representation
|
302
|
+
def inspect
|
303
|
+
"<Twilio.Video.V1.SubscribedTrackInstance>"
|
304
|
+
end
|
305
|
+
end
|
306
|
+
end
|
307
|
+
end
|
308
|
+
end
|
309
|
+
end
|
310
|
+
end
|
311
|
+
end
|
data/lib/twilio-ruby/version.rb
CHANGED
@@ -140,32 +140,4 @@ describe 'Engagement' do
|
|
140
140
|
|
141
141
|
expect(actual).to_not eq(nil)
|
142
142
|
end
|
143
|
-
|
144
|
-
it "can delete" do
|
145
|
-
@holodeck.mock(Twilio::Response.new(500, ''))
|
146
|
-
|
147
|
-
expect {
|
148
|
-
@client.preview.studio.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
149
|
-
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
|
150
|
-
}.to raise_exception(Twilio::REST::TwilioError)
|
151
|
-
|
152
|
-
values = {}
|
153
|
-
expect(
|
154
|
-
@holodeck.has_request?(Holodeck::Request.new(
|
155
|
-
method: 'delete',
|
156
|
-
url: 'https://preview.twilio.com/Studio/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
|
157
|
-
))).to eq(true)
|
158
|
-
end
|
159
|
-
|
160
|
-
it "receives delete responses" do
|
161
|
-
@holodeck.mock(Twilio::Response.new(
|
162
|
-
204,
|
163
|
-
nil,
|
164
|
-
))
|
165
|
-
|
166
|
-
actual = @client.preview.studio.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
167
|
-
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
|
168
|
-
|
169
|
-
expect(actual).to eq(true)
|
170
|
-
end
|
171
143
|
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
|
7
|
+
require 'spec_helper.rb'
|
8
|
+
|
9
|
+
describe 'Step' do
|
10
|
+
it "can read" do
|
11
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
12
|
+
|
13
|
+
expect {
|
14
|
+
@client.studio.v1.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
15
|
+
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
16
|
+
.steps.list()
|
17
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
18
|
+
|
19
|
+
values = {}
|
20
|
+
expect(
|
21
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
22
|
+
method: 'get',
|
23
|
+
url: 'https://studio.twilio.com/v1/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps',
|
24
|
+
))).to eq(true)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "receives read_empty responses" do
|
28
|
+
@holodeck.mock(Twilio::Response.new(
|
29
|
+
200,
|
30
|
+
%q[
|
31
|
+
{
|
32
|
+
"meta": {
|
33
|
+
"previous_page_url": null,
|
34
|
+
"next_page_url": null,
|
35
|
+
"url": "https://studio.twilio.com/v1/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps?PageSize=50&Page=0",
|
36
|
+
"page": 0,
|
37
|
+
"first_page_url": "https://studio.twilio.com/v1/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps?PageSize=50&Page=0",
|
38
|
+
"page_size": 50,
|
39
|
+
"key": "steps"
|
40
|
+
},
|
41
|
+
"steps": []
|
42
|
+
}
|
43
|
+
]
|
44
|
+
))
|
45
|
+
|
46
|
+
actual = @client.studio.v1.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
47
|
+
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
48
|
+
.steps.list()
|
49
|
+
|
50
|
+
expect(actual).to_not eq(nil)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "can fetch" do
|
54
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
55
|
+
|
56
|
+
expect {
|
57
|
+
@client.studio.v1.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
58
|
+
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
59
|
+
.steps("FTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
|
60
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
61
|
+
|
62
|
+
values = {}
|
63
|
+
expect(
|
64
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
65
|
+
method: 'get',
|
66
|
+
url: 'https://studio.twilio.com/v1/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps/FTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
|
67
|
+
))).to eq(true)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "receives fetch responses" do
|
71
|
+
@holodeck.mock(Twilio::Response.new(
|
72
|
+
200,
|
73
|
+
%q[
|
74
|
+
{
|
75
|
+
"sid": "FTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
76
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
77
|
+
"flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
78
|
+
"engagement_sid": "FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
79
|
+
"name": "incomingRequest",
|
80
|
+
"context": {},
|
81
|
+
"transitioned_from": "Trigger",
|
82
|
+
"transitioned_to": "Ended",
|
83
|
+
"date_created": "2017-11-06T12:00:00Z",
|
84
|
+
"date_updated": null,
|
85
|
+
"url": "https://studio.twilio.com/v1/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Engagements/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps/FTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
86
|
+
}
|
87
|
+
]
|
88
|
+
))
|
89
|
+
|
90
|
+
actual = @client.studio.v1.flows("FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
91
|
+
.engagements("FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
|
92
|
+
.steps("FTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
|
93
|
+
|
94
|
+
expect(actual).to_not eq(nil)
|
95
|
+
end
|
96
|
+
end
|