twilio-ruby 5.29.0 → 5.29.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGES.md +31 -0
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -2
  6. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +2 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +9 -7
  8. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +16 -0
  9. data/lib/twilio-ruby/rest/autopilot/v1/assistant/export_assistant.rb +222 -0
  10. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +18 -6
  11. data/lib/twilio-ruby/rest/insights.rb +5 -5
  12. data/lib/twilio-ruby/rest/insights/v1.rb +10 -10
  13. data/lib/twilio-ruby/rest/insights/v1/call.rb +242 -0
  14. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +278 -0
  15. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +268 -0
  16. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +305 -0
  17. data/lib/twilio-ruby/rest/preview.rb +5 -4
  18. data/lib/twilio-ruby/rest/preview/marketplace.rb +2 -4
  19. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +9 -11
  20. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +14 -11
  21. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +27 -30
  22. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +17 -14
  23. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +9 -5
  24. data/lib/twilio-ruby/twiml/voice_response.rb +42 -0
  25. data/lib/twilio-ruby/version.rb +1 -1
  26. data/spec/integration/api/v2010/account/call_spec.rb +263 -45
  27. data/spec/integration/autopilot/v1/assistant/export_assistant_spec.rb +49 -0
  28. data/spec/integration/autopilot/v1/assistant_spec.rb +8 -4
  29. data/spec/integration/flex_api/v1/flex_flow_spec.rb +8 -4
  30. data/spec/integration/insights/v1/call/event_spec.rb +171 -0
  31. data/spec/integration/insights/v1/call/metric_spec.rb +159 -0
  32. data/spec/integration/insights/v1/{summary_spec.rb → call/summary_spec.rb} +4 -2
  33. data/spec/integration/insights/v1/call_spec.rb +47 -0
  34. data/spec/integration/verify/v2/service/verification_spec.rb +36 -0
  35. metadata +17 -5
  36. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -302
@@ -273,6 +273,48 @@ module Twilio
273
273
  yield(stop) if block_given?
274
274
  append(stop)
275
275
  end
276
+
277
+ ##
278
+ # Create a new <Refer> element
279
+ # action:: Action URL
280
+ # method:: Action URL method
281
+ # keyword_args:: additional attributes
282
+ def refer(action: nil, method: nil, **keyword_args)
283
+ refer = Refer.new(action: action, method: method, **keyword_args)
284
+
285
+ yield(refer) if block_given?
286
+ append(refer)
287
+ end
288
+ end
289
+
290
+ ##
291
+ # <Refer> TwiML Verb
292
+ class Refer < TwiML
293
+ def initialize(**keyword_args)
294
+ super(**keyword_args)
295
+ @name = 'Refer'
296
+
297
+ yield(self) if block_given?
298
+ end
299
+
300
+ ##
301
+ # Create a new <Sip> element
302
+ # sip_url:: SIP URL
303
+ # keyword_args:: additional attributes
304
+ def sip(sip_url, **keyword_args)
305
+ append(ReferSip.new(sip_url, **keyword_args))
306
+ end
307
+ end
308
+
309
+ ##
310
+ # <Sip> TwiML Noun used in <Refer>
311
+ class ReferSip < TwiML
312
+ def initialize(sip_url, **keyword_args)
313
+ super(**keyword_args)
314
+ @name = 'Sip'
315
+ @value = sip_url
316
+ yield(self) if block_given?
317
+ end
276
318
  end
277
319
 
278
320
  ##
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.29.0'
2
+ VERSION = '5.29.1'
3
3
  end
@@ -71,6 +71,51 @@ describe 'Call' do
71
71
  expect(actual).to_not eq(nil)
72
72
  end
73
73
 
74
+ it "receives create_with_twiml responses" do
75
+ @holodeck.mock(Twilio::Response.new(
76
+ 201,
77
+ %q[
78
+ {
79
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
80
+ "annotation": null,
81
+ "answered_by": null,
82
+ "api_version": "2010-04-01",
83
+ "caller_name": null,
84
+ "date_created": "Tue, 31 Aug 2010 20:36:28 +0000",
85
+ "date_updated": "Tue, 31 Aug 2010 20:36:44 +0000",
86
+ "direction": "inbound",
87
+ "duration": "15",
88
+ "end_time": "Tue, 31 Aug 2010 20:36:44 +0000",
89
+ "forwarded_from": "+141586753093",
90
+ "from": "+14158675308",
91
+ "from_formatted": "(415) 867-5308",
92
+ "group_sid": null,
93
+ "parent_call_sid": null,
94
+ "phone_number_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
95
+ "price": "-0.03000",
96
+ "price_unit": "USD",
97
+ "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
98
+ "start_time": "Tue, 31 Aug 2010 20:36:29 +0000",
99
+ "status": "completed",
100
+ "subresource_uris": {
101
+ "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
102
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
103
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
104
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json"
105
+ },
106
+ "to": "+14158675309",
107
+ "to_formatted": "(415) 867-5309",
108
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
109
+ }
110
+ ]
111
+ ))
112
+
113
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
114
+ .calls.create(to: '+15558675310', from: '+15017122661')
115
+
116
+ expect(actual).to_not eq(nil)
117
+ end
118
+
74
119
  it "can delete" do
75
120
  @holodeck.mock(Twilio::Response.new(500, ''))
76
121
 
@@ -121,32 +166,34 @@ describe 'Call' do
121
166
  %q[
122
167
  {
123
168
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
124
- "annotation": null,
125
- "answered_by": null,
169
+ "annotation": "billingreferencetag",
170
+ "answered_by": "machine_start",
126
171
  "api_version": "2010-04-01",
127
- "caller_name": null,
128
- "date_created": "Tue, 31 Aug 2010 20:36:28 +0000",
129
- "date_updated": "Tue, 31 Aug 2010 20:36:44 +0000",
130
- "direction": "inbound",
131
- "duration": "15",
132
- "end_time": "Tue, 31 Aug 2010 20:36:44 +0000",
133
- "forwarded_from": "+141586753093",
134
- "from": "+14158675308",
135
- "from_formatted": "(415) 867-5308",
136
- "group_sid": null,
137
- "parent_call_sid": null,
138
- "phone_number_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
139
- "price": "-0.03000",
172
+ "caller_name": "callerid",
173
+ "date_created": "Fri, 18 Oct 2019 17:00:00 +0000",
174
+ "date_updated": "Fri, 18 Oct 2019 17:01:00 +0000",
175
+ "direction": "outbound-api",
176
+ "duration": "4",
177
+ "end_time": "Fri, 18 Oct 2019 17:03:00 +0000",
178
+ "forwarded_from": "calledvia",
179
+ "from": "+13051416799",
180
+ "from_formatted": "(305) 141-6799",
181
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeef",
182
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeef",
183
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeef",
184
+ "price": "-0.200",
140
185
  "price_unit": "USD",
141
186
  "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
142
- "start_time": "Tue, 31 Aug 2010 20:36:29 +0000",
187
+ "start_time": "Fri, 18 Oct 2019 17:02:00 +0000",
143
188
  "status": "completed",
144
189
  "subresource_uris": {
145
190
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
146
- "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
191
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
192
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
193
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json"
147
194
  },
148
- "to": "+14158675309",
149
- "to_formatted": "(415) 867-5309",
195
+ "to": "+13051913581",
196
+ "to_formatted": "(305) 191-3581",
150
197
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
151
198
  }
152
199
  ]
@@ -174,7 +221,7 @@ describe 'Call' do
174
221
  ))).to eq(true)
175
222
  end
176
223
 
177
- it "receives read_full responses" do
224
+ it "receives read_full_page1 responses" do
178
225
  @holodeck.mock(Twilio::Response.new(
179
226
  200,
180
227
  %q[
@@ -182,43 +229,214 @@ describe 'Call' do
182
229
  "calls": [
183
230
  {
184
231
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
185
- "annotation": null,
186
- "answered_by": null,
232
+ "annotation": "billingreferencetag1",
233
+ "answered_by": "machine_start",
187
234
  "api_version": "2010-04-01",
188
- "caller_name": "",
189
- "date_created": "Fri, 04 Sep 2015 22:48:30 +0000",
190
- "date_updated": "Fri, 04 Sep 2015 22:48:35 +0000",
235
+ "caller_name": "callerid1",
236
+ "date_created": "Fri, 18 Oct 2019 17:00:00 +0000",
237
+ "date_updated": "Fri, 18 Oct 2019 17:01:00 +0000",
191
238
  "direction": "outbound-api",
192
- "duration": "0",
193
- "end_time": "Fri, 04 Sep 2015 22:48:35 +0000",
194
- "forwarded_from": null,
195
- "from": "kevin",
196
- "from_formatted": "kevin",
197
- "group_sid": null,
198
- "parent_call_sid": null,
199
- "phone_number_sid": "",
200
- "price": null,
239
+ "duration": "4",
240
+ "end_time": "Fri, 18 Oct 2019 17:03:00 +0000",
241
+ "forwarded_from": "calledvia1",
242
+ "from": "+13051416799",
243
+ "from_formatted": "(305) 141-6799",
244
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeef",
245
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeef",
246
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeef",
247
+ "price": "-0.200",
201
248
  "price_unit": "USD",
202
249
  "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
203
- "start_time": "Fri, 04 Sep 2015 22:48:31 +0000",
204
- "status": "failed",
250
+ "start_time": "Fri, 18 Oct 2019 17:02:00 +0000",
251
+ "status": "completed",
205
252
  "subresource_uris": {
253
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
254
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
206
255
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
207
256
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
208
257
  },
209
- "to": "sip:kevin@example.com",
210
- "to_formatted": "sip:kevin@example.com",
258
+ "to": "+13051913581",
259
+ "to_formatted": "(305) 191-3581",
211
260
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
261
+ },
262
+ {
263
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
264
+ "annotation": "billingreferencetag2",
265
+ "answered_by": "human",
266
+ "api_version": "2010-04-01",
267
+ "caller_name": "callerid2",
268
+ "date_created": "Fri, 18 Oct 2019 16:00:00 +0000",
269
+ "date_updated": "Fri, 18 Oct 2019 16:01:00 +0000",
270
+ "direction": "inbound",
271
+ "duration": "3",
272
+ "end_time": "Fri, 18 Oct 2019 16:03:00 +0000",
273
+ "forwarded_from": "calledvia2",
274
+ "from": "+13051416798",
275
+ "from_formatted": "(305) 141-6798",
276
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeee",
277
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeee",
278
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeee",
279
+ "price": "-0.100",
280
+ "price_unit": "JPY",
281
+ "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
282
+ "start_time": "Fri, 18 Oct 2019 16:02:00 +0000",
283
+ "status": "completed",
284
+ "subresource_uris": {
285
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Feedback.json",
286
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
287
+ "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
288
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json"
289
+ },
290
+ "to": "+13051913580",
291
+ "to_formatted": "(305) 191-3580",
292
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0.json"
212
293
  }
213
294
  ],
295
+ "end": 1,
296
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&To=%2B123456789&From=%2B987654321&StartTime=2008-01-02&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&EndTime=2009-01-02&PageSize=2&Page=0",
297
+ "next_page_uri": null,
298
+ "page": 0,
299
+ "page_size": 2,
300
+ "previous_page_uri": null,
301
+ "start": 0,
302
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&To=%2B123456789&From=%2B987654321&StartTime=2008-01-02&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&EndTime=2009-01-02&PageSize=2&Page=0"
303
+ }
304
+ ]
305
+ ))
306
+
307
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
308
+ .calls.list()
309
+
310
+ expect(actual).to_not eq(nil)
311
+ end
312
+
313
+ it "receives read_full_page2 responses" do
314
+ @holodeck.mock(Twilio::Response.new(
315
+ 200,
316
+ %q[
317
+ {
318
+ "calls": [
319
+ {
320
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
321
+ "annotation": "billingreferencetag1",
322
+ "answered_by": "machine_start",
323
+ "api_version": "2010-04-01",
324
+ "caller_name": "callerid1",
325
+ "date_created": "Fri, 18 Oct 2019 17:00:00 +0000",
326
+ "date_updated": "Fri, 18 Oct 2019 17:01:00 +0000",
327
+ "direction": "outbound-api",
328
+ "duration": "4",
329
+ "end_time": "Fri, 18 Oct 2019 17:03:00 +0000",
330
+ "forwarded_from": "calledvia1",
331
+ "from": "+13051416799",
332
+ "from_formatted": "(305) 141-6799",
333
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeef",
334
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeef",
335
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeef",
336
+ "price": "-0.200",
337
+ "price_unit": "USD",
338
+ "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
339
+ "start_time": "Fri, 18 Oct 2019 17:02:00 +0000",
340
+ "status": "completed",
341
+ "subresource_uris": {
342
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
343
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
344
+ "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
345
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json"
346
+ },
347
+ "to": "+13051913581",
348
+ "to_formatted": "(305) 191-3581",
349
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
350
+ },
351
+ {
352
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
353
+ "annotation": "billingreferencetag2",
354
+ "answered_by": "human",
355
+ "api_version": "2010-04-01",
356
+ "caller_name": "callerid2",
357
+ "date_created": "Fri, 18 Oct 2019 16:00:00 +0000",
358
+ "date_updated": "Fri, 18 Oct 2019 16:01:00 +0000",
359
+ "direction": "inbound",
360
+ "duration": "3",
361
+ "end_time": "Fri, 18 Oct 2019 16:03:00 +0000",
362
+ "forwarded_from": "calledvia2",
363
+ "from": "+13051416798",
364
+ "from_formatted": "(305) 141-6798",
365
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeee",
366
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeee",
367
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeee",
368
+ "price": "-0.100",
369
+ "price_unit": "JPY",
370
+ "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
371
+ "start_time": "Fri, 18 Oct 2019 16:02:00 +0000",
372
+ "status": "completed",
373
+ "subresource_uris": {
374
+ "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Feedback.json",
375
+ "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
376
+ "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
377
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json"
378
+ },
379
+ "to": "+13051913580",
380
+ "to_formatted": "(305) 191-3580",
381
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0.json"
382
+ }
383
+ ],
384
+ "end": 3,
385
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&From=%2B987654321&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&To=%2B123456789&StartTime=2008-01-02&EndTime=2009-01-02&PageSize=2&Page=0",
386
+ "next_page_uri": null,
387
+ "page": 1,
388
+ "page_size": 2,
389
+ "previous_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&From=%2B987654321&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&To=%2B123456789&StartTime=2008-01-02&EndTime=2009-01-02&PageSize=2&Page=0&PageToken=PBCAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
390
+ "start": 2,
391
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&From=%2B987654321&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&To=%2B123456789&StartTime=2008-01-02&EndTime=2009-01-02&PageSize=2&Page=1&PageToken=PACAdeadbeefdeadbeefdeadbeefdeadbeef"
392
+ }
393
+ ]
394
+ ))
395
+
396
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
397
+ .calls.list()
398
+
399
+ expect(actual).to_not eq(nil)
400
+ end
401
+
402
+ it "receives read_empty_dates_greater responses" do
403
+ @holodeck.mock(Twilio::Response.new(
404
+ 200,
405
+ %q[
406
+ {
407
+ "calls": [],
408
+ "end": 0,
409
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&To=%2B123456789&EndTime%3E=2009-01-02&From=%2B987654321&StartTime%3E=2008-01-02&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=2&Page=0",
410
+ "next_page_uri": null,
411
+ "page": 0,
412
+ "page_size": 2,
413
+ "previous_page_uri": null,
414
+ "start": 0,
415
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?Status=completed&To=%2B123456789&EndTime%3E=2009-01-02&From=%2B987654321&StartTime%3E=2008-01-02&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=2&Page=0"
416
+ }
417
+ ]
418
+ ))
419
+
420
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
421
+ .calls.list()
422
+
423
+ expect(actual).to_not eq(nil)
424
+ end
425
+
426
+ it "receives read_empty_dates_less responses" do
427
+ @holodeck.mock(Twilio::Response.new(
428
+ 200,
429
+ %q[
430
+ {
431
+ "calls": [],
214
432
  "end": 0,
215
- "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?PageSize=1&Page=0",
433
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?EndTime%3C=2009-01-02&Status=completed&From=%2B987654321&To=%2B123456789&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&StartTime%3C=2008-01-02&PageSize=2&Page=0",
216
434
  "next_page_uri": null,
217
435
  "page": 0,
218
- "page_size": 1,
436
+ "page_size": 2,
219
437
  "previous_page_uri": null,
220
438
  "start": 0,
221
- "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?PageSize=1&Page=0"
439
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?EndTime%3C=2009-01-02&Status=completed&From=%2B987654321&To=%2B123456789&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&StartTime%3C=2008-01-02&PageSize=2&Page=0"
222
440
  }
223
441
  ]
224
442
  ))
@@ -229,20 +447,20 @@ describe 'Call' do
229
447
  expect(actual).to_not eq(nil)
230
448
  end
231
449
 
232
- it "receives read_empty responses" do
450
+ it "receives read_empty_date_fun_date_formats responses" do
233
451
  @holodeck.mock(Twilio::Response.new(
234
452
  200,
235
453
  %q[
236
454
  {
237
455
  "calls": [],
238
456
  "end": 0,
239
- "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?PageSize=1&Page=0",
457
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?EndTime%3C=2019-06-11+22%3A05%3A25.000&Status=completed&From=%2B987654321&To=%2B123456789&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&StartTime%3C=06%2F11%2F2019+22%3A05%3A25+MST&PageSize=2&Page=0",
240
458
  "next_page_uri": null,
241
459
  "page": 0,
242
- "page_size": 1,
460
+ "page_size": 2,
243
461
  "previous_page_uri": null,
244
462
  "start": 0,
245
- "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?PageSize=1&Page=0"
463
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls.json?EndTime%3C=2019-06-11+22%3A05%3A25.000&Status=completed&From=%2B987654321&To=%2B123456789&ParentCallSid=CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&StartTime%3C=06%2F11%2F2019+22%3A05%3A25+MST&PageSize=2&Page=0"
246
464
  }
247
465
  ]
248
466
  ))
@@ -0,0 +1,49 @@
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 'ExportAssistant' do
12
+ it "can fetch" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .export_assistant().fetch()
18
+ }.to raise_exception(Twilio::REST::TwilioError)
19
+
20
+ values = {}
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'get',
24
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Export',
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives fetch responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 200,
31
+ %q[
32
+ {
33
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Export",
34
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "date_created": "2015-07-30T20:00:00Z",
37
+ "status": "building",
38
+ "error_code": null,
39
+ "schema": {}
40
+ }
41
+ ]
42
+ ))
43
+
44
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
45
+ .export_assistant().fetch()
46
+
47
+ expect(actual).to_not eq(nil)
48
+ end
49
+ end