twilio-ruby 5.40.4 → 5.45.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +104 -0
- data/{LICENSE.md → LICENSE} +0 -0
- data/PULL_REQUEST_TEMPLATE.md +3 -3
- data/README.md +18 -2
- data/lib/twilio-ruby.rb +1 -1
- data/lib/twilio-ruby/jwt/access_token.rb +7 -2
- data/lib/twilio-ruby/rest/accounts.rb +12 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
- data/lib/twilio-ruby/rest/client.rb +29 -3
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +10 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +13 -3
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
- data/lib/twilio-ruby/rest/insights.rb +8 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
- data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
- data/lib/twilio-ruby/rest/preview.rb +5 -18
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +12 -27
- data/lib/twilio-ruby/rest/preview/trusted_comms/{business.rb → branded_channel.rb} +63 -77
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
- data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
- data/lib/twilio-ruby/rest/verify/v2/service.rb +54 -33
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -61
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -57
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +7 -4
- data/lib/twilio-ruby/util/configuration.rb +5 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
- data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
- data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
- data/spec/integration/api/v2010/account/call_spec.rb +20 -10
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
- data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
- data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
- data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
- data/spec/integration/events/v1/subscription_spec.rb +49 -0
- data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
- data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
- data/spec/integration/insights/v1/room_spec.rb +164 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
- data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
- data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
- data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
- data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
- data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
- data/spec/integration/verify/v2/service/entity/challenge_spec.rb +56 -20
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
- data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
- data/spec/integration/verify/v2/service_spec.rb +8 -4
- data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
- data/spec/integration/video/v1/room_spec.rb +10 -5
- data/spec/jwt/access_token_spec.rb +9 -1
- data/spec/rest/client_spec.rb +24 -2
- data/twilio-ruby.gemspec +2 -1
- metadata +42 -28
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
- data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
- data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
- data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
- data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
- data/spec/integration/preview/trusted_comms/business_spec.rb +0 -46
- data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
@@ -46,6 +46,7 @@ describe 'Recording' do
|
|
46
46
|
"status": "in-progress",
|
47
47
|
"error_code": null,
|
48
48
|
"encryption_details": null,
|
49
|
+
"track": "both",
|
49
50
|
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
|
50
51
|
}
|
51
52
|
]
|
@@ -97,6 +98,7 @@ describe 'Recording' do
|
|
97
98
|
"status": "paused",
|
98
99
|
"error_code": null,
|
99
100
|
"encryption_details": null,
|
101
|
+
"track": "both",
|
100
102
|
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
|
101
103
|
}
|
102
104
|
]
|
@@ -150,6 +152,7 @@ describe 'Recording' do
|
|
150
152
|
"source": "StartCallRecordingAPI",
|
151
153
|
"status": "completed",
|
152
154
|
"error_code": null,
|
155
|
+
"track": "both",
|
153
156
|
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
|
154
157
|
}
|
155
158
|
]
|
@@ -239,6 +242,7 @@ describe 'Recording' do
|
|
239
242
|
},
|
240
243
|
"source": "StartCallRecordingAPI",
|
241
244
|
"status": "completed",
|
245
|
+
"track": "both",
|
242
246
|
"error_code": null,
|
243
247
|
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
|
244
248
|
}
|
@@ -57,7 +57,8 @@ describe 'Call' do
|
|
57
57
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
58
58
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
59
59
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
60
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
60
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
61
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
61
62
|
},
|
62
63
|
"to": "+14158675309",
|
63
64
|
"to_formatted": "(415) 867-5309",
|
@@ -105,7 +106,8 @@ describe 'Call' do
|
|
105
106
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
106
107
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
107
108
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
108
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
109
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
110
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
109
111
|
},
|
110
112
|
"to": "+14158675309",
|
111
113
|
"to_formatted": "(415) 867-5309",
|
@@ -195,7 +197,8 @@ describe 'Call' do
|
|
195
197
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
196
198
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
197
199
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
198
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
200
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
201
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
199
202
|
},
|
200
203
|
"to": "+13051913581",
|
201
204
|
"to_formatted": "(305) 191-3581",
|
@@ -260,7 +263,8 @@ describe 'Call' do
|
|
260
263
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
261
264
|
"notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
|
262
265
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
263
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
266
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
267
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
264
268
|
},
|
265
269
|
"to": "+13051913581",
|
266
270
|
"to_formatted": "(305) 191-3581",
|
@@ -295,7 +299,8 @@ describe 'Call' do
|
|
295
299
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
296
300
|
"notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
|
297
301
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json",
|
298
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json"
|
302
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json",
|
303
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Events.json"
|
299
304
|
},
|
300
305
|
"to": "+13051913580",
|
301
306
|
"to_formatted": "(305) 191-3580",
|
@@ -355,7 +360,8 @@ describe 'Call' do
|
|
355
360
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
356
361
|
"notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
|
357
362
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
358
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
363
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
364
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
359
365
|
},
|
360
366
|
"to": "+13051913581",
|
361
367
|
"to_formatted": "(305) 191-3581",
|
@@ -390,7 +396,8 @@ describe 'Call' do
|
|
390
396
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
391
397
|
"notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
|
392
398
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json",
|
393
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json"
|
399
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json",
|
400
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Events.json"
|
394
401
|
},
|
395
402
|
"to": "+13051913580",
|
396
403
|
"to_formatted": "(305) 191-3580",
|
@@ -535,7 +542,8 @@ describe 'Call' do
|
|
535
542
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
536
543
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
537
544
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
538
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
545
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
546
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
539
547
|
},
|
540
548
|
"to": "+14158675309",
|
541
549
|
"to_formatted": "(415) 867-5309",
|
@@ -583,7 +591,8 @@ describe 'Call' do
|
|
583
591
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
584
592
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
585
593
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
586
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
594
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
595
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
587
596
|
},
|
588
597
|
"to": "+14158675309",
|
589
598
|
"to_formatted": "(415) 867-5309",
|
@@ -631,7 +640,8 @@ describe 'Call' do
|
|
631
640
|
"recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
|
632
641
|
"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
|
633
642
|
"feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
|
634
|
-
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
|
643
|
+
"payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
|
644
|
+
"events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
|
635
645
|
},
|
636
646
|
"to": "+14158675309",
|
637
647
|
"to_formatted": "(415) 867-5309",
|
@@ -479,6 +479,36 @@ describe 'Participant' do
|
|
479
479
|
expect(actual).to_not eq(nil)
|
480
480
|
end
|
481
481
|
|
482
|
+
it "receives create_with_friendly_name_recording_track responses" do
|
483
|
+
@holodeck.mock(Twilio::Response.new(
|
484
|
+
201,
|
485
|
+
%q[
|
486
|
+
{
|
487
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
488
|
+
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
489
|
+
"label": null,
|
490
|
+
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
491
|
+
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
|
492
|
+
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
|
493
|
+
"end_conference_on_exit": false,
|
494
|
+
"muted": false,
|
495
|
+
"hold": false,
|
496
|
+
"status": "complete",
|
497
|
+
"start_conference_on_enter": true,
|
498
|
+
"coaching": false,
|
499
|
+
"call_sid_to_coach": null,
|
500
|
+
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
|
501
|
+
}
|
502
|
+
]
|
503
|
+
))
|
504
|
+
|
505
|
+
actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
506
|
+
.conferences('CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
507
|
+
.participants.create(from: '+15017122661', to: '+15558675310')
|
508
|
+
|
509
|
+
expect(actual).to_not eq(nil)
|
510
|
+
end
|
511
|
+
|
482
512
|
it "can delete" do
|
483
513
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
484
514
|
|
@@ -91,13 +91,15 @@ describe 'ExportCustomJob' do
|
|
91
91
|
|
92
92
|
expect {
|
93
93
|
@client.bulkexports.v1.exports('resource_type') \
|
94
|
-
.export_custom_jobs.create()
|
94
|
+
.export_custom_jobs.create(start_day: 'start_day', end_day: 'end_day', friendly_name: 'friendly_name')
|
95
95
|
}.to raise_exception(Twilio::REST::TwilioError)
|
96
96
|
|
97
|
+
values = {'StartDay' => 'start_day', 'EndDay' => 'end_day', 'FriendlyName' => 'friendly_name', }
|
97
98
|
expect(
|
98
99
|
@holodeck.has_request?(Holodeck::Request.new(
|
99
100
|
method: 'post',
|
100
101
|
url: 'https://bulkexports.twilio.com/v1/Exports/resource_type/Jobs',
|
102
|
+
data: values,
|
101
103
|
))).to eq(true)
|
102
104
|
end
|
103
105
|
|
@@ -120,7 +122,7 @@ describe 'ExportCustomJob' do
|
|
120
122
|
))
|
121
123
|
|
122
124
|
actual = @client.bulkexports.v1.exports('resource_type') \
|
123
|
-
.export_custom_jobs.create()
|
125
|
+
.export_custom_jobs.create(start_day: 'start_day', end_day: 'end_day', friendly_name: 'friendly_name')
|
124
126
|
|
125
127
|
expect(actual).to_not eq(nil)
|
126
128
|
end
|
@@ -116,7 +116,7 @@ describe 'Conversation' do
|
|
116
116
|
"chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
117
117
|
"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab",
|
118
118
|
"friendly_name": "friendly_name",
|
119
|
-
"unique_name":
|
119
|
+
"unique_name": "unique_name",
|
120
120
|
"attributes": "{ \\"topic\\": \\"feedback\\" }",
|
121
121
|
"date_created": "2015-12-16T22:18:37Z",
|
122
122
|
"date_updated": "2015-12-16T22:18:38Z",
|
@@ -120,7 +120,7 @@ describe 'Conversation' do
|
|
120
120
|
"chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
121
121
|
"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab",
|
122
122
|
"friendly_name": "friendly_name",
|
123
|
-
"unique_name":
|
123
|
+
"unique_name": "unique_name",
|
124
124
|
"attributes": "{ \\"topic\\": \\"feedback\\" }",
|
125
125
|
"date_created": "2015-12-16T22:18:37Z",
|
126
126
|
"date_updated": "2015-12-16T22:18:38Z",
|
@@ -96,6 +96,55 @@ describe 'Subscription' do
|
|
96
96
|
expect(actual).to_not eq(nil)
|
97
97
|
end
|
98
98
|
|
99
|
+
it "receives read_results_filtered_by_sink_sid responses" do
|
100
|
+
@holodeck.mock(Twilio::Response.new(
|
101
|
+
200,
|
102
|
+
%q[
|
103
|
+
{
|
104
|
+
"subscriptions": [
|
105
|
+
{
|
106
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
107
|
+
"date_created": "2015-07-30T20:00:00Z",
|
108
|
+
"date_updated": "2015-07-30T20:01:33Z",
|
109
|
+
"sid": "DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
110
|
+
"sink_sid": "DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
111
|
+
"description": "A subscription",
|
112
|
+
"url": "https://events.twilio.com/v1/Subscriptions/DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
113
|
+
"links": {
|
114
|
+
"subscribed_events": "https://events.twilio.com/v1/Subscriptions/DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SubscribedEvents"
|
115
|
+
}
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
119
|
+
"date_created": "2015-07-30T20:00:00Z",
|
120
|
+
"date_updated": "2015-07-30T20:01:33Z",
|
121
|
+
"sid": "DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab",
|
122
|
+
"sink_sid": "DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
123
|
+
"description": "Another subscription",
|
124
|
+
"url": "https://events.twilio.com/v1/Subscriptions/DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab",
|
125
|
+
"links": {
|
126
|
+
"subscribed_events": "https://events.twilio.com/v1/Subscriptions/DFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab/SubscribedEvents"
|
127
|
+
}
|
128
|
+
}
|
129
|
+
],
|
130
|
+
"meta": {
|
131
|
+
"page": 0,
|
132
|
+
"page_size": 10,
|
133
|
+
"first_page_url": "https://events.twilio.com/v1/Subscriptions?SinkSid=DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=10&Page=0",
|
134
|
+
"previous_page_url": null,
|
135
|
+
"url": "https://events.twilio.com/v1/Subscriptions?SinkSid=DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=10&Page=0",
|
136
|
+
"next_page_url": null,
|
137
|
+
"key": "subscriptions"
|
138
|
+
}
|
139
|
+
}
|
140
|
+
]
|
141
|
+
))
|
142
|
+
|
143
|
+
actual = @client.events.v1.subscriptions.list()
|
144
|
+
|
145
|
+
expect(actual).to_not eq(nil)
|
146
|
+
end
|
147
|
+
|
99
148
|
it "can fetch" do
|
100
149
|
@holodeck.mock(Twilio::Response.new(500, ''))
|
101
150
|
|
@@ -0,0 +1,147 @@
|
|
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 'Participant' do
|
12
|
+
it "can fetch" do
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
14
|
+
|
15
|
+
expect {
|
16
|
+
@client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
17
|
+
.participants('PAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
18
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
19
|
+
|
20
|
+
expect(
|
21
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
22
|
+
method: 'get',
|
23
|
+
url: 'https://insights.twilio.com/v1/Video/Rooms/RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Participants/PAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
24
|
+
))).to eq(true)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "receives fetch responses" do
|
28
|
+
@holodeck.mock(Twilio::Response.new(
|
29
|
+
200,
|
30
|
+
%q[
|
31
|
+
{
|
32
|
+
"publisher_info": {},
|
33
|
+
"edge_location": "Ashburn",
|
34
|
+
"join_time": "2015-07-30T20:00:00Z",
|
35
|
+
"leave_time": "2015-07-30T20:00:00Z",
|
36
|
+
"end_reason": "disconnected_via_api",
|
37
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
38
|
+
"error_code": 0,
|
39
|
+
"media_region": "us1",
|
40
|
+
"properties": {},
|
41
|
+
"room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
42
|
+
"error_code_url": "error_code_url",
|
43
|
+
"participant_sid": "PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
44
|
+
"codecs": [
|
45
|
+
"VP8"
|
46
|
+
],
|
47
|
+
"status": "in_progress",
|
48
|
+
"duration_sec": 50000000,
|
49
|
+
"participant_identity": "participant_identity",
|
50
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
51
|
+
}
|
52
|
+
]
|
53
|
+
))
|
54
|
+
|
55
|
+
actual = @client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
56
|
+
.participants('PAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
57
|
+
|
58
|
+
expect(actual).to_not eq(nil)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "can read" do
|
62
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
63
|
+
|
64
|
+
expect {
|
65
|
+
@client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
66
|
+
.participants.list()
|
67
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
68
|
+
|
69
|
+
expect(
|
70
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
71
|
+
method: 'get',
|
72
|
+
url: 'https://insights.twilio.com/v1/Video/Rooms/RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Participants',
|
73
|
+
))).to eq(true)
|
74
|
+
end
|
75
|
+
|
76
|
+
it "receives read_empty responses" do
|
77
|
+
@holodeck.mock(Twilio::Response.new(
|
78
|
+
200,
|
79
|
+
%q[
|
80
|
+
{
|
81
|
+
"meta": {
|
82
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",
|
83
|
+
"key": "participants",
|
84
|
+
"first_page_url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",
|
85
|
+
"page_size": 50,
|
86
|
+
"next_page_url": null,
|
87
|
+
"page": 0,
|
88
|
+
"previous_page_url": null
|
89
|
+
},
|
90
|
+
"participants": []
|
91
|
+
}
|
92
|
+
]
|
93
|
+
))
|
94
|
+
|
95
|
+
actual = @client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
96
|
+
.participants.list()
|
97
|
+
|
98
|
+
expect(actual).to_not eq(nil)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "receives read_full responses" do
|
102
|
+
@holodeck.mock(Twilio::Response.new(
|
103
|
+
200,
|
104
|
+
%q[
|
105
|
+
{
|
106
|
+
"meta": {
|
107
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",
|
108
|
+
"key": "participants",
|
109
|
+
"first_page_url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",
|
110
|
+
"page_size": 50,
|
111
|
+
"next_page_url": null,
|
112
|
+
"page": 0,
|
113
|
+
"previous_page_url": null
|
114
|
+
},
|
115
|
+
"participants": [
|
116
|
+
{
|
117
|
+
"publisher_info": {},
|
118
|
+
"edge_location": "Ashburn",
|
119
|
+
"join_time": "2015-07-30T20:00:00Z",
|
120
|
+
"leave_time": "2015-07-30T20:00:00Z",
|
121
|
+
"end_reason": "disconnected_via_api",
|
122
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
123
|
+
"error_code": 53205,
|
124
|
+
"media_region": "us1",
|
125
|
+
"properties": {},
|
126
|
+
"room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
127
|
+
"error_code_url": "error_code_url",
|
128
|
+
"participant_sid": "PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
129
|
+
"codecs": [
|
130
|
+
"VP8"
|
131
|
+
],
|
132
|
+
"status": "in_progress",
|
133
|
+
"duration_sec": 50000000,
|
134
|
+
"participant_identity": "participant_identity",
|
135
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
136
|
+
}
|
137
|
+
]
|
138
|
+
}
|
139
|
+
]
|
140
|
+
))
|
141
|
+
|
142
|
+
actual = @client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
|
143
|
+
.participants.list()
|
144
|
+
|
145
|
+
expect(actual).to_not eq(nil)
|
146
|
+
end
|
147
|
+
end
|
@@ -0,0 +1,164 @@
|
|
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 'Room' do
|
12
|
+
it "can fetch" do
|
13
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
14
|
+
|
15
|
+
expect {
|
16
|
+
@client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
17
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
18
|
+
|
19
|
+
expect(
|
20
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
21
|
+
method: 'get',
|
22
|
+
url: 'https://insights.twilio.com/v1/Video/Rooms/RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
|
23
|
+
))).to eq(true)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "receives fetch responses" do
|
27
|
+
@holodeck.mock(Twilio::Response.new(
|
28
|
+
200,
|
29
|
+
%q[
|
30
|
+
{
|
31
|
+
"room_type": "go",
|
32
|
+
"unique_participant_identities": 0,
|
33
|
+
"codecs": [
|
34
|
+
"VP8"
|
35
|
+
],
|
36
|
+
"max_participants": 0,
|
37
|
+
"room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
38
|
+
"create_time": "2015-07-30T20:00:00Z",
|
39
|
+
"end_reason": "room_ended_via_api",
|
40
|
+
"duration_sec": 50000000,
|
41
|
+
"room_status": "in_progress",
|
42
|
+
"media_region": "us1",
|
43
|
+
"recording_enabled": false,
|
44
|
+
"edge_location": "Ashburn",
|
45
|
+
"max_concurrent_participants": 0,
|
46
|
+
"unique_participants": 0,
|
47
|
+
"room_name": "room_name",
|
48
|
+
"created_method": "sdk",
|
49
|
+
"total_participant_duration_sec": 50000000,
|
50
|
+
"status_callback_method": "GET",
|
51
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
52
|
+
"end_time": "2015-07-30T20:00:00Z",
|
53
|
+
"total_recording_duration_sec": 50000000,
|
54
|
+
"processing_state": "complete",
|
55
|
+
"concurrent_participants": 0,
|
56
|
+
"status_callback": "http://www.example.com",
|
57
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
58
|
+
"links": {
|
59
|
+
"participants": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants"
|
60
|
+
}
|
61
|
+
}
|
62
|
+
]
|
63
|
+
))
|
64
|
+
|
65
|
+
actual = @client.insights.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
|
66
|
+
|
67
|
+
expect(actual).to_not eq(nil)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "can read" do
|
71
|
+
@holodeck.mock(Twilio::Response.new(500, ''))
|
72
|
+
|
73
|
+
expect {
|
74
|
+
@client.insights.v1.rooms.list()
|
75
|
+
}.to raise_exception(Twilio::REST::TwilioError)
|
76
|
+
|
77
|
+
expect(
|
78
|
+
@holodeck.has_request?(Holodeck::Request.new(
|
79
|
+
method: 'get',
|
80
|
+
url: 'https://insights.twilio.com/v1/Video/Rooms',
|
81
|
+
))).to eq(true)
|
82
|
+
end
|
83
|
+
|
84
|
+
it "receives read_empty responses" do
|
85
|
+
@holodeck.mock(Twilio::Response.new(
|
86
|
+
200,
|
87
|
+
%q[
|
88
|
+
{
|
89
|
+
"meta": {
|
90
|
+
"first_page_url": "https://insights.twilio.com/v1/Video/Rooms?PageSize=50&Page=0",
|
91
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms?PageSize=50&Page=0",
|
92
|
+
"page_size": 50,
|
93
|
+
"next_page_url": null,
|
94
|
+
"key": "rooms",
|
95
|
+
"page": 0,
|
96
|
+
"previous_page_url": null
|
97
|
+
},
|
98
|
+
"rooms": []
|
99
|
+
}
|
100
|
+
]
|
101
|
+
))
|
102
|
+
|
103
|
+
actual = @client.insights.v1.rooms.list()
|
104
|
+
|
105
|
+
expect(actual).to_not eq(nil)
|
106
|
+
end
|
107
|
+
|
108
|
+
it "receives read_full responses" do
|
109
|
+
@holodeck.mock(Twilio::Response.new(
|
110
|
+
200,
|
111
|
+
%q[
|
112
|
+
{
|
113
|
+
"meta": {
|
114
|
+
"first_page_url": "https://insights.twilio.com/v1/Video/Rooms?PageSize=50&Page=0",
|
115
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms?PageSize=50&Page=0",
|
116
|
+
"page_size": 50,
|
117
|
+
"next_page_url": null,
|
118
|
+
"key": "rooms",
|
119
|
+
"page": 0,
|
120
|
+
"previous_page_url": null
|
121
|
+
},
|
122
|
+
"rooms": [
|
123
|
+
{
|
124
|
+
"room_type": "go",
|
125
|
+
"unique_participant_identities": 0,
|
126
|
+
"codecs": [
|
127
|
+
"VP8"
|
128
|
+
],
|
129
|
+
"max_participants": 0,
|
130
|
+
"room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
131
|
+
"create_time": "2015-07-30T20:00:00Z",
|
132
|
+
"end_reason": "room_ended_via_api",
|
133
|
+
"duration_sec": 50000000,
|
134
|
+
"room_status": "in_progress",
|
135
|
+
"media_region": "us1",
|
136
|
+
"recording_enabled": false,
|
137
|
+
"edge_location": "Ashburn",
|
138
|
+
"max_concurrent_participants": 0,
|
139
|
+
"unique_participants": 0,
|
140
|
+
"room_name": "room_name",
|
141
|
+
"created_method": "sdk",
|
142
|
+
"total_participant_duration_sec": 50000000,
|
143
|
+
"status_callback_method": "GET",
|
144
|
+
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
145
|
+
"end_time": "2015-07-30T20:00:00Z",
|
146
|
+
"total_recording_duration_sec": 50000000,
|
147
|
+
"processing_state": "complete",
|
148
|
+
"concurrent_participants": 0,
|
149
|
+
"status_callback": "http://www.example.com",
|
150
|
+
"url": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
151
|
+
"links": {
|
152
|
+
"participants": "https://insights.twilio.com/v1/Video/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants"
|
153
|
+
}
|
154
|
+
}
|
155
|
+
]
|
156
|
+
}
|
157
|
+
]
|
158
|
+
))
|
159
|
+
|
160
|
+
actual = @client.insights.v1.rooms.list()
|
161
|
+
|
162
|
+
expect(actual).to_not eq(nil)
|
163
|
+
end
|
164
|
+
end
|