twilio-ruby 5.41.0 → 5.45.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +99 -0
  3. data/{LICENSE.md → LICENSE} +0 -0
  4. data/PULL_REQUEST_TEMPLATE.md +3 -3
  5. data/README.md +18 -2
  6. data/lib/twilio-ruby.rb +1 -1
  7. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  14. data/lib/twilio-ruby/rest/client.rb +29 -3
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  16. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  17. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  18. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
  19. data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
  20. data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
  21. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  22. data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
  23. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  24. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
  25. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  26. data/lib/twilio-ruby/rest/insights.rb +8 -0
  27. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  28. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  29. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  30. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  31. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  32. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  33. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  34. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  35. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  36. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  37. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  38. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  39. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  40. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  41. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  42. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  43. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  44. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  45. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  46. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  47. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  48. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  49. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  50. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  51. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  52. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  53. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  54. data/lib/twilio-ruby/rest/preview.rb +0 -21
  55. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  56. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  57. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
  58. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  59. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  60. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  61. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
  62. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
  63. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  64. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  65. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  66. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  67. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  68. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  69. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  70. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
  71. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
  72. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
  73. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
  74. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
  75. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
  76. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  77. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  78. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  79. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  80. data/lib/twilio-ruby/rest/verify/v2/service.rb +3 -3
  81. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  82. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
  83. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +27 -49
  84. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +24 -42
  85. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  86. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  87. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  88. data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
  89. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  90. data/lib/twilio-ruby/twiml/voice_response.rb +8 -4
  91. data/lib/twilio-ruby/util/configuration.rb +5 -1
  92. data/lib/twilio-ruby/version.rb +1 -1
  93. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  94. data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
  95. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  96. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  97. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  98. data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
  99. data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
  100. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
  101. data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
  102. data/spec/integration/conversations/v1/user_spec.rb +9 -4
  103. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  104. data/spec/integration/events/v1/subscription_spec.rb +49 -0
  105. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  106. data/spec/integration/insights/v1/room_spec.rb +164 -0
  107. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  108. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  109. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  110. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  111. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  112. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  113. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  114. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  115. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  116. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  117. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  118. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  119. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  120. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  121. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  122. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  123. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  124. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  125. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  126. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  127. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  128. data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
  129. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  130. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
  131. data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
  132. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +4 -12
  133. data/spec/integration/verify/v2/service/entity/factor_spec.rb +5 -15
  134. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  135. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  136. data/spec/integration/video/v1/room_spec.rb +10 -5
  137. data/spec/jwt/access_token_spec.rb +9 -1
  138. data/spec/rest/client_spec.rb +24 -2
  139. data/twilio-ruby.gemspec +2 -1
  140. metadata +30 -19
  141. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  142. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
  143. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  144. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  145. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  146. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  147. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  148. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  149. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
  150. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
@@ -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
@@ -19,7 +19,7 @@ describe 'Credential' do
19
19
  expect(
20
20
  @holodeck.has_request?(Holodeck::Request.new(
21
21
  method: 'get',
22
- url: 'https://chat.twilio.com/v1/Credentials',
22
+ url: 'https://ip-messaging.twilio.com/v1/Credentials',
23
23
  ))).to eq(true)
24
24
  end
25
25
 
@@ -37,15 +37,15 @@ describe 'Credential' do
37
37
  "sandbox": "False",
38
38
  "date_created": "2015-10-07T17:50:01Z",
39
39
  "date_updated": "2015-10-07T17:50:01Z",
40
- "url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
40
+ "url": "https://ip-messaging.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
41
41
  }
42
42
  ],
43
43
  "meta": {
44
44
  "page": 0,
45
45
  "page_size": 1,
46
- "first_page_url": "https://chat.twilio.com/v1/Credentials?PageSize=1&Page=0",
46
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Credentials?PageSize=1&Page=0",
47
47
  "previous_page_url": null,
48
- "url": "https://chat.twilio.com/v1/Credentials?PageSize=1&Page=0",
48
+ "url": "https://ip-messaging.twilio.com/v1/Credentials?PageSize=1&Page=0",
49
49
  "next_page_url": null,
50
50
  "key": "credentials"
51
51
  }
@@ -67,9 +67,9 @@ describe 'Credential' do
67
67
  "meta": {
68
68
  "page": 0,
69
69
  "page_size": 1,
70
- "first_page_url": "https://chat.twilio.com/v1/Credentials?PageSize=1&Page=0",
70
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Credentials?PageSize=1&Page=0",
71
71
  "previous_page_url": null,
72
- "url": "https://chat.twilio.com/v1/Credentials?PageSize=1&Page=0",
72
+ "url": "https://ip-messaging.twilio.com/v1/Credentials?PageSize=1&Page=0",
73
73
  "next_page_url": null,
74
74
  "key": "credentials"
75
75
  }
@@ -93,7 +93,7 @@ describe 'Credential' do
93
93
  expect(
94
94
  @holodeck.has_request?(Holodeck::Request.new(
95
95
  method: 'post',
96
- url: 'https://chat.twilio.com/v1/Credentials',
96
+ url: 'https://ip-messaging.twilio.com/v1/Credentials',
97
97
  data: values,
98
98
  ))).to eq(true)
99
99
  end
@@ -110,7 +110,7 @@ describe 'Credential' do
110
110
  "sandbox": "False",
111
111
  "date_created": "2015-10-07T17:50:01Z",
112
112
  "date_updated": "2015-10-07T17:50:01Z",
113
- "url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
113
+ "url": "https://ip-messaging.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
114
114
  }
115
115
  ]
116
116
  ))
@@ -130,7 +130,7 @@ describe 'Credential' do
130
130
  expect(
131
131
  @holodeck.has_request?(Holodeck::Request.new(
132
132
  method: 'get',
133
- url: 'https://chat.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
133
+ url: 'https://ip-messaging.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
134
134
  ))).to eq(true)
135
135
  end
136
136
 
@@ -146,7 +146,7 @@ describe 'Credential' do
146
146
  "sandbox": "False",
147
147
  "date_created": "2015-10-07T17:50:01Z",
148
148
  "date_updated": "2015-10-07T17:50:01Z",
149
- "url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
149
+ "url": "https://ip-messaging.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
150
150
  }
151
151
  ]
152
152
  ))
@@ -166,7 +166,7 @@ describe 'Credential' do
166
166
  expect(
167
167
  @holodeck.has_request?(Holodeck::Request.new(
168
168
  method: 'post',
169
- url: 'https://chat.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
169
+ url: 'https://ip-messaging.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
170
170
  ))).to eq(true)
171
171
  end
172
172
 
@@ -182,7 +182,7 @@ describe 'Credential' do
182
182
  "sandbox": "False",
183
183
  "date_created": "2015-10-07T17:50:01Z",
184
184
  "date_updated": "2015-10-07T17:50:01Z",
185
- "url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
185
+ "url": "https://ip-messaging.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
186
186
  }
187
187
  ]
188
188
  ))
@@ -202,7 +202,7 @@ describe 'Credential' do
202
202
  expect(
203
203
  @holodeck.has_request?(Holodeck::Request.new(
204
204
  method: 'delete',
205
- url: 'https://chat.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
205
+ url: 'https://ip-messaging.twilio.com/v1/Credentials/CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
206
206
  ))).to eq(true)
207
207
  end
208
208
 
@@ -21,7 +21,7 @@ describe 'Invite' do
21
21
  expect(
22
22
  @holodeck.has_request?(Holodeck::Request.new(
23
23
  method: 'get',
24
- url: 'https://chat.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites/INXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
24
+ url: 'https://ip-messaging.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites/INXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
25
25
  ))).to eq(true)
26
26
  end
27
27
 
@@ -39,7 +39,7 @@ describe 'Invite' do
39
39
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
40
40
  "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
41
41
  "sid": "INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
42
- "url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
42
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
43
43
  }
44
44
  ]
45
45
  ))
@@ -64,7 +64,7 @@ describe 'Invite' do
64
64
  expect(
65
65
  @holodeck.has_request?(Holodeck::Request.new(
66
66
  method: 'post',
67
- url: 'https://chat.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites',
67
+ url: 'https://ip-messaging.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites',
68
68
  data: values,
69
69
  ))).to eq(true)
70
70
  end
@@ -83,7 +83,7 @@ describe 'Invite' do
83
83
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
84
84
  "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
85
85
  "sid": "INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
86
- "url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
86
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
87
87
  }
88
88
  ]
89
89
  ))
@@ -107,7 +107,7 @@ describe 'Invite' do
107
107
  expect(
108
108
  @holodeck.has_request?(Holodeck::Request.new(
109
109
  method: 'get',
110
- url: 'https://chat.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites',
110
+ url: 'https://ip-messaging.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites',
111
111
  ))).to eq(true)
112
112
  end
113
113
 
@@ -118,13 +118,13 @@ describe 'Invite' do
118
118
  {
119
119
  "invites": [],
120
120
  "meta": {
121
- "first_page_url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0",
121
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0",
122
122
  "key": "invites",
123
123
  "next_page_url": null,
124
124
  "page": 0,
125
125
  "page_size": 50,
126
126
  "previous_page_url": null,
127
- "url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0"
127
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0"
128
128
  }
129
129
  }
130
130
  ]
@@ -153,17 +153,17 @@ describe 'Invite' do
153
153
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
154
154
  "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
155
155
  "sid": "INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
156
- "url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
156
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites/INaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
157
157
  }
158
158
  ],
159
159
  "meta": {
160
- "first_page_url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0",
160
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0",
161
161
  "key": "invites",
162
162
  "next_page_url": null,
163
163
  "page": 0,
164
164
  "page_size": 50,
165
165
  "previous_page_url": null,
166
- "url": "https://chat.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0"
166
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Invites?Identity=identity&PageSize=50&Page=0"
167
167
  }
168
168
  }
169
169
  ]
@@ -188,7 +188,7 @@ describe 'Invite' do
188
188
  expect(
189
189
  @holodeck.has_request?(Holodeck::Request.new(
190
190
  method: 'delete',
191
- url: 'https://chat.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites/INXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
191
+ url: 'https://ip-messaging.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels/CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Invites/INXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
192
192
  ))).to eq(true)
193
193
  end
194
194