twilio-ruby 5.35.0 → 5.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +28 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +87 -87
  5. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +14 -0
  6. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +71 -71
  7. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +29 -29
  8. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +27 -4
  9. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +2 -1
  10. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
  11. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +6 -3
  12. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +26 -0
  13. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +239 -0
  14. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +266 -0
  15. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +197 -0
  16. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +7 -0
  17. data/lib/twilio-ruby/rest/supersim.rb +11 -1
  18. data/lib/twilio-ruby/rest/supersim/v1.rb +16 -1
  19. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +10 -1
  20. data/lib/twilio-ruby/rest/supersim/v1/network.rb +315 -0
  21. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +53 -12
  22. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +352 -0
  23. data/lib/twilio-ruby/rest/verify.rb +9 -0
  24. data/lib/twilio-ruby/rest/verify/v2.rb +16 -0
  25. data/lib/twilio-ruby/rest/verify/v2/form.rb +197 -0
  26. data/lib/twilio-ruby/rest/verify/v2/service.rb +26 -0
  27. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +379 -0
  28. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +500 -0
  29. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor/challenge.rb +494 -0
  30. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +8 -4
  31. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +8 -4
  32. data/lib/twilio-ruby/version.rb +1 -1
  33. data/spec/integration/api/v2010/account/call_spec.rb +5 -5
  34. data/spec/integration/api/v2010/account/conference_spec.rb +42 -14
  35. data/spec/integration/conversations/v1/conversation/participant_spec.rb +7 -0
  36. data/spec/integration/flex_api/v1/configuration_spec.rb +3 -0
  37. data/spec/integration/preview/trusted_comms/business/brand/branded_channel/channel_spec.rb +54 -0
  38. data/spec/integration/preview/trusted_comms/business/brand/branded_channel_spec.rb +52 -0
  39. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +49 -0
  40. data/spec/integration/preview/trusted_comms/business_spec.rb +1 -0
  41. data/spec/integration/serverless/v1/service/environment/log_spec.rb +1 -0
  42. data/spec/integration/supersim/v1/fleet_spec.rb +4 -0
  43. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +179 -0
  44. data/spec/integration/supersim/v1/network_access_profile_spec.rb +20 -5
  45. data/spec/integration/supersim/v1/network_spec.rb +139 -0
  46. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +13 -13
  47. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +23 -23
  48. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +28 -28
  49. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +17 -17
  50. data/spec/integration/trunking/v1/trunk_spec.rb +33 -33
  51. data/spec/integration/verify/v2/form_spec.rb +48 -0
  52. data/spec/integration/verify/v2/service/entity/factor/challenge_spec.rb +353 -0
  53. data/spec/integration/verify/v2/service/entity/factor_spec.rb +298 -0
  54. data/spec/integration/verify/v2/service/entity_spec.rb +201 -0
  55. data/spec/integration/verify/v2/service_spec.rb +24 -4
  56. metadata +29 -2
@@ -13,14 +13,14 @@ describe 'Trunk' do
13
13
  @holodeck.mock(Twilio::Response.new(500, ''))
14
14
 
15
15
  expect {
16
- @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
16
+ @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
17
17
  }.to raise_exception(Twilio::REST::TwilioError)
18
18
 
19
19
  values = {}
20
20
  expect(
21
21
  @holodeck.has_request?(Holodeck::Request.new(
22
22
  method: 'get',
23
- url: 'https://trunking.twilio.com/v1/Trunks/TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
23
+ url: 'https://trunking.twilio.com/v1/Trunks/TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
24
24
  ))).to eq(true)
25
25
  end
26
26
 
@@ -29,7 +29,7 @@ describe 'Trunk' do
29
29
  200,
30
30
  %q[
31
31
  {
32
- "sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
32
+ "sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
33
33
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
34
  "domain_name": "test.pstn.twilio.com",
35
35
  "disaster_recovery_method": "POST",
@@ -45,18 +45,18 @@ describe 'Trunk' do
45
45
  "auth_type_set": [],
46
46
  "date_created": "2015-01-02T11:23:45Z",
47
47
  "date_updated": "2015-01-02T11:23:45Z",
48
- "url": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
+ "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "links": {
50
- "origination_urls": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
51
- "credential_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
52
- "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
53
- "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
50
+ "origination_urls": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
51
+ "credential_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
52
+ "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
53
+ "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
54
54
  }
55
55
  }
56
56
  ]
57
57
  ))
58
58
 
59
- actual = @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
59
+ actual = @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
60
60
 
61
61
  expect(actual).to_not eq(nil)
62
62
  end
@@ -65,14 +65,14 @@ describe 'Trunk' do
65
65
  @holodeck.mock(Twilio::Response.new(500, ''))
66
66
 
67
67
  expect {
68
- @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
68
+ @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
69
69
  }.to raise_exception(Twilio::REST::TwilioError)
70
70
 
71
71
  values = {}
72
72
  expect(
73
73
  @holodeck.has_request?(Holodeck::Request.new(
74
74
  method: 'delete',
75
- url: 'https://trunking.twilio.com/v1/Trunks/TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
75
+ url: 'https://trunking.twilio.com/v1/Trunks/TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
76
76
  ))).to eq(true)
77
77
  end
78
78
 
@@ -82,7 +82,7 @@ describe 'Trunk' do
82
82
  nil,
83
83
  ))
84
84
 
85
- actual = @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
85
+ actual = @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
86
86
 
87
87
  expect(actual).to eq(true)
88
88
  end
@@ -107,7 +107,7 @@ describe 'Trunk' do
107
107
  201,
108
108
  %q[
109
109
  {
110
- "sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
110
+ "sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
111
111
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
112
112
  "domain_name": "test.pstn.twilio.com",
113
113
  "disaster_recovery_method": "POST",
@@ -123,12 +123,12 @@ describe 'Trunk' do
123
123
  "auth_type_set": [],
124
124
  "date_created": "2015-01-02T11:23:45Z",
125
125
  "date_updated": "2015-01-02T11:23:45Z",
126
- "url": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
126
+ "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
127
127
  "links": {
128
- "origination_urls": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
129
- "credential_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
130
- "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
131
- "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
128
+ "origination_urls": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
129
+ "credential_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
130
+ "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
131
+ "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
132
132
  }
133
133
  }
134
134
  ]
@@ -170,7 +170,7 @@ describe 'Trunk' do
170
170
  },
171
171
  "trunks": [
172
172
  {
173
- "sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
173
+ "sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
174
174
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
175
175
  "domain_name": "test.pstn.twilio.com",
176
176
  "disaster_recovery_method": "POST",
@@ -186,12 +186,12 @@ describe 'Trunk' do
186
186
  "auth_type_set": [],
187
187
  "date_created": "2015-01-02T11:23:45Z",
188
188
  "date_updated": "2015-01-02T11:23:45Z",
189
- "url": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
189
+ "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
190
190
  "links": {
191
- "origination_urls": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
192
- "credential_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
193
- "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
194
- "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
191
+ "origination_urls": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
192
+ "credential_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
193
+ "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
194
+ "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
195
195
  }
196
196
  }
197
197
  ]
@@ -232,14 +232,14 @@ describe 'Trunk' do
232
232
  @holodeck.mock(Twilio::Response.new(500, ''))
233
233
 
234
234
  expect {
235
- @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
235
+ @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
236
236
  }.to raise_exception(Twilio::REST::TwilioError)
237
237
 
238
238
  values = {}
239
239
  expect(
240
240
  @holodeck.has_request?(Holodeck::Request.new(
241
241
  method: 'post',
242
- url: 'https://trunking.twilio.com/v1/Trunks/TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
242
+ url: 'https://trunking.twilio.com/v1/Trunks/TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
243
243
  ))).to eq(true)
244
244
  end
245
245
 
@@ -248,7 +248,7 @@ describe 'Trunk' do
248
248
  200,
249
249
  %q[
250
250
  {
251
- "sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
251
+ "sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
252
252
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
253
253
  "domain_name": "test.pstn.twilio.com",
254
254
  "disaster_recovery_method": "GET",
@@ -264,18 +264,18 @@ describe 'Trunk' do
264
264
  "auth_type_set": [],
265
265
  "date_created": "2015-01-02T11:23:45Z",
266
266
  "date_updated": "2015-01-02T11:23:45Z",
267
- "url": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
267
+ "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
268
268
  "links": {
269
- "origination_urls": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
270
- "credential_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
271
- "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
272
- "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
269
+ "origination_urls": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/OriginationUrls",
270
+ "credential_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CredentialLists",
271
+ "ip_access_control_lists": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IpAccessControlLists",
272
+ "phone_numbers": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PhoneNumbers"
273
273
  }
274
274
  }
275
275
  ]
276
276
  ))
277
277
 
278
- actual = @client.trunking.v1.trunks('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
278
+ actual = @client.trunking.v1.trunks('TKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
279
279
 
280
280
  expect(actual).to_not eq(nil)
281
281
  end
@@ -0,0 +1,48 @@
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 'Form' do
12
+ it "can fetch" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.verify.v2.forms('form-app-push').fetch()
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://verify.twilio.com/v2/Forms/form-app-push',
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
+ "form_type": "form-sms",
33
+ "forms": {
34
+ "create_factor": {},
35
+ "verify_factor": {},
36
+ "create_challenge": {}
37
+ },
38
+ "form_meta": {},
39
+ "url": "https://verify.twilio.com/v2/Forms/form-sms"
40
+ }
41
+ ]
42
+ ))
43
+
44
+ actual = @client.verify.v2.forms('form-app-push').fetch()
45
+
46
+ expect(actual).to_not eq(nil)
47
+ end
48
+ end
@@ -0,0 +1,353 @@
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 'Challenge' do
12
+ it "can create" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .entities('identity') \
18
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
19
+ .challenges.create()
20
+ }.to raise_exception(Twilio::REST::TwilioError)
21
+
22
+ values = {}
23
+ expect(
24
+ @holodeck.has_request?(Holodeck::Request.new(
25
+ method: 'post',
26
+ url: 'https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Challenges',
27
+ ))).to eq(true)
28
+ end
29
+
30
+ it "receives create responses" do
31
+ @holodeck.mock(Twilio::Response.new(
32
+ 201,
33
+ %q[
34
+ {
35
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
38
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
39
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
40
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
41
+ "date_created": "2015-07-30T20:00:00Z",
42
+ "date_updated": "2015-07-30T20:00:00Z",
43
+ "date_responded": "2015-07-30T20:00:00Z",
44
+ "expiration_date": "2015-07-30T20:00:00Z",
45
+ "status": "pending",
46
+ "responded_reason": "none",
47
+ "details": "Hi! Mr. John Doe, would you like to sign up?",
48
+ "hidden_details": "Hidden details about the sign up",
49
+ "factor_type": "sms",
50
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
51
+ }
52
+ ]
53
+ ))
54
+
55
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
56
+ .entities('identity') \
57
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
58
+ .challenges.create()
59
+
60
+ expect(actual).to_not eq(nil)
61
+ end
62
+
63
+ it "can delete" do
64
+ @holodeck.mock(Twilio::Response.new(500, ''))
65
+
66
+ expect {
67
+ @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
68
+ .entities('identity') \
69
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
70
+ .challenges('sid').delete()
71
+ }.to raise_exception(Twilio::REST::TwilioError)
72
+
73
+ values = {}
74
+ expect(
75
+ @holodeck.has_request?(Holodeck::Request.new(
76
+ method: 'delete',
77
+ url: 'https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Challenges/sid',
78
+ ))).to eq(true)
79
+ end
80
+
81
+ it "receives delete responses" do
82
+ @holodeck.mock(Twilio::Response.new(
83
+ 204,
84
+ nil,
85
+ ))
86
+
87
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
88
+ .entities('identity') \
89
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
90
+ .challenges('sid').delete()
91
+
92
+ expect(actual).to eq(true)
93
+ end
94
+
95
+ it "can fetch" do
96
+ @holodeck.mock(Twilio::Response.new(500, ''))
97
+
98
+ expect {
99
+ @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
100
+ .entities('identity') \
101
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
102
+ .challenges('sid').fetch()
103
+ }.to raise_exception(Twilio::REST::TwilioError)
104
+
105
+ values = {}
106
+ expect(
107
+ @holodeck.has_request?(Holodeck::Request.new(
108
+ method: 'get',
109
+ url: 'https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Challenges/sid',
110
+ ))).to eq(true)
111
+ end
112
+
113
+ it "receives fetch_sid responses" do
114
+ @holodeck.mock(Twilio::Response.new(
115
+ 200,
116
+ %q[
117
+ {
118
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
119
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
120
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
121
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
122
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
123
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
124
+ "date_created": "2015-07-30T20:00:00Z",
125
+ "date_updated": "2015-07-30T20:00:00Z",
126
+ "date_responded": "2015-07-30T20:00:00Z",
127
+ "expiration_date": "2015-07-30T20:00:00Z",
128
+ "status": "pending",
129
+ "responded_reason": "none",
130
+ "details": "details",
131
+ "hidden_details": "hidden_details",
132
+ "factor_type": "sms",
133
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
134
+ }
135
+ ]
136
+ ))
137
+
138
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
139
+ .entities('identity') \
140
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
141
+ .challenges('sid').fetch()
142
+
143
+ expect(actual).to_not eq(nil)
144
+ end
145
+
146
+ it "receives fetch_latest responses" do
147
+ @holodeck.mock(Twilio::Response.new(
148
+ 200,
149
+ %q[
150
+ {
151
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
152
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
153
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
154
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
155
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
156
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
157
+ "date_created": "2015-07-30T20:00:00Z",
158
+ "date_updated": "2015-07-30T20:00:00Z",
159
+ "date_responded": "2015-07-30T20:00:00Z",
160
+ "expiration_date": "2015-07-30T20:00:00Z",
161
+ "status": "pending",
162
+ "responded_reason": "none",
163
+ "details": "details",
164
+ "hidden_details": "hidden_details",
165
+ "factor_type": "sms",
166
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
167
+ }
168
+ ]
169
+ ))
170
+
171
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
172
+ .entities('identity') \
173
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
174
+ .challenges('sid').fetch()
175
+
176
+ expect(actual).to_not eq(nil)
177
+ end
178
+
179
+ it "can read" do
180
+ @holodeck.mock(Twilio::Response.new(500, ''))
181
+
182
+ expect {
183
+ @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
184
+ .entities('identity') \
185
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
186
+ .challenges.list()
187
+ }.to raise_exception(Twilio::REST::TwilioError)
188
+
189
+ values = {}
190
+ expect(
191
+ @holodeck.has_request?(Holodeck::Request.new(
192
+ method: 'get',
193
+ url: 'https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Challenges',
194
+ ))).to eq(true)
195
+ end
196
+
197
+ it "receives read_empty responses" do
198
+ @holodeck.mock(Twilio::Response.new(
199
+ 200,
200
+ %q[
201
+ {
202
+ "challenges": [],
203
+ "meta": {
204
+ "page": 0,
205
+ "page_size": 50,
206
+ "first_page_url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges?PageSize=50&Page=0",
207
+ "previous_page_url": null,
208
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges?PageSize=50&Page=0",
209
+ "next_page_url": null,
210
+ "key": "challenges"
211
+ }
212
+ }
213
+ ]
214
+ ))
215
+
216
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
217
+ .entities('identity') \
218
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
219
+ .challenges.list()
220
+
221
+ expect(actual).to_not eq(nil)
222
+ end
223
+
224
+ it "receives read_full responses" do
225
+ @holodeck.mock(Twilio::Response.new(
226
+ 200,
227
+ %q[
228
+ {
229
+ "challenges": [
230
+ {
231
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
232
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
233
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
234
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
235
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
236
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
237
+ "date_created": "2015-07-30T20:00:00Z",
238
+ "date_updated": "2015-07-30T20:00:00Z",
239
+ "date_responded": "2015-07-30T20:00:00Z",
240
+ "expiration_date": "2015-07-30T20:00:00Z",
241
+ "status": "pending",
242
+ "responded_reason": "none",
243
+ "details": "details",
244
+ "hidden_details": "hidden_details",
245
+ "factor_type": "sms",
246
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
247
+ }
248
+ ],
249
+ "meta": {
250
+ "page": 0,
251
+ "page_size": 50,
252
+ "first_page_url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges?PageSize=50&Page=0",
253
+ "previous_page_url": null,
254
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges?PageSize=50&Page=0",
255
+ "next_page_url": null,
256
+ "key": "challenges"
257
+ }
258
+ }
259
+ ]
260
+ ))
261
+
262
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
263
+ .entities('identity') \
264
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
265
+ .challenges.list()
266
+
267
+ expect(actual).to_not eq(nil)
268
+ end
269
+
270
+ it "can update" do
271
+ @holodeck.mock(Twilio::Response.new(500, ''))
272
+
273
+ expect {
274
+ @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
275
+ .entities('identity') \
276
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
277
+ .challenges('sid').update()
278
+ }.to raise_exception(Twilio::REST::TwilioError)
279
+
280
+ values = {}
281
+ expect(
282
+ @holodeck.has_request?(Holodeck::Request.new(
283
+ method: 'post',
284
+ url: 'https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Challenges/sid',
285
+ ))).to eq(true)
286
+ end
287
+
288
+ it "receives verify_sid responses" do
289
+ @holodeck.mock(Twilio::Response.new(
290
+ 200,
291
+ %q[
292
+ {
293
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
294
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
295
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
296
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
297
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
298
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
299
+ "date_created": "2015-07-30T20:00:00Z",
300
+ "date_updated": "2015-07-30T20:00:00Z",
301
+ "date_responded": "2015-07-30T20:00:00Z",
302
+ "expiration_date": "2015-07-30T20:00:00Z",
303
+ "status": "approved",
304
+ "responded_reason": "none",
305
+ "details": "Hi! Mr. John Doe, would you like to sign up?",
306
+ "hidden_details": "Hidden details about the sign up",
307
+ "factor_type": "sms",
308
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
309
+ }
310
+ ]
311
+ ))
312
+
313
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
314
+ .entities('identity') \
315
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
316
+ .challenges('sid').update()
317
+
318
+ expect(actual).to_not eq(nil)
319
+ end
320
+
321
+ it "receives verify_latest responses" do
322
+ @holodeck.mock(Twilio::Response.new(
323
+ 200,
324
+ %q[
325
+ {
326
+ "sid": "YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
327
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
328
+ "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
329
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
330
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
331
+ "factor_sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
332
+ "date_created": "2015-07-30T20:00:00Z",
333
+ "date_updated": "2015-07-30T20:00:00Z",
334
+ "date_responded": "2015-07-30T20:00:00Z",
335
+ "expiration_date": "2015-07-30T20:00:00Z",
336
+ "status": "approved",
337
+ "responded_reason": "none",
338
+ "details": "Hi! Mr. John Doe, would you like to sign up?",
339
+ "hidden_details": "Hidden details about the sign up",
340
+ "factor_type": "sms",
341
+ "url": "https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges/YCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
342
+ }
343
+ ]
344
+ ))
345
+
346
+ actual = @client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
347
+ .entities('identity') \
348
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
349
+ .challenges('sid').update()
350
+
351
+ expect(actual).to_not eq(nil)
352
+ end
353
+ end