twilio-ruby 5.14.1 → 5.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +33 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -1
  5. data/lib/twilio-ruby/rest/authy.rb +55 -0
  6. data/lib/twilio-ruby/rest/authy/v1.rb +59 -0
  7. data/lib/twilio-ruby/rest/authy/v1/form.rb +190 -0
  8. data/lib/twilio-ruby/rest/authy/v1/service.rb +378 -0
  9. data/lib/twilio-ruby/rest/authy/v1/service/entity.rb +372 -0
  10. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor.rb +474 -0
  11. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +405 -0
  12. data/lib/twilio-ruby/rest/autopilot.rb +47 -0
  13. data/lib/twilio-ruby/rest/autopilot/v1.rb +43 -0
  14. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +606 -0
  15. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +215 -0
  16. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +205 -0
  17. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +417 -0
  18. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +393 -0
  19. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +390 -0
  20. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +443 -0
  21. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +215 -0
  22. data/lib/twilio-ruby/rest/{preview/understand/assistant/intent.rb → autopilot/v1/assistant/task.rb} +91 -84
  23. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +377 -0
  24. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +442 -0
  25. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +244 -0
  26. data/lib/twilio-ruby/rest/{preview/understand/assistant/intent/intent_statistics.rb → autopilot/v1/assistant/task/task_statistics.rb} +49 -51
  27. data/lib/twilio-ruby/rest/chat/v1/service.rb +1 -1
  28. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +12 -6
  29. data/lib/twilio-ruby/rest/client.rb +14 -0
  30. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1 -1
  31. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +12 -6
  32. data/lib/twilio-ruby/rest/preview/understand.rb +2 -1
  33. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +59 -29
  34. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +17 -13
  35. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +215 -0
  36. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +505 -0
  37. data/lib/twilio-ruby/rest/preview/understand/assistant/{intent → task}/field.rb +25 -25
  38. data/lib/twilio-ruby/rest/preview/understand/assistant/{intent → task}/sample.rb +30 -30
  39. data/lib/twilio-ruby/rest/preview/understand/assistant/{intent/intent_actions.rb → task/task_actions.rb} +50 -54
  40. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +224 -0
  41. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +7 -7
  42. data/lib/twilio-ruby/rest/verify/v1/service.rb +45 -6
  43. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +9 -2
  44. data/lib/twilio-ruby/rest/wireless/v1/command.rb +32 -5
  45. data/lib/twilio-ruby/twiml/voice_response.rb +66 -5
  46. data/lib/twilio-ruby/version.rb +1 -1
  47. data/spec/integration/api/v2010/account/call/recording_spec.rb +3 -3
  48. data/spec/integration/api/v2010/account/conference/participant_spec.rb +42 -1
  49. data/spec/integration/api/v2010/account/conference/recording_spec.rb +2 -2
  50. data/spec/integration/authy/v1/form_spec.rb +48 -0
  51. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +267 -0
  52. data/spec/integration/authy/v1/service/entity/factor_spec.rb +269 -0
  53. data/spec/integration/authy/v1/service/entity_spec.rb +201 -0
  54. data/spec/integration/authy/v1/service_spec.rb +227 -0
  55. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +81 -0
  56. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +47 -0
  57. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +210 -0
  58. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +246 -0
  59. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +241 -0
  60. data/spec/integration/autopilot/v1/assistant/query_spec.rb +306 -0
  61. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +81 -0
  62. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +207 -0
  63. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +253 -0
  64. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +87 -0
  65. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +50 -0
  66. data/spec/integration/autopilot/v1/assistant/task_spec.rb +262 -0
  67. data/spec/integration/autopilot/v1/assistant_spec.rb +270 -0
  68. data/spec/integration/preview/understand/assistant/query_spec.rb +8 -8
  69. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +81 -0
  70. data/spec/integration/preview/understand/assistant/{intent → task}/field_spec.rb +23 -23
  71. data/spec/integration/preview/understand/assistant/{intent → task}/sample_spec.rb +28 -28
  72. data/spec/integration/preview/understand/assistant/{intent/intent_actions_spec.rb → task/task_actions_spec.rb} +15 -15
  73. data/spec/integration/preview/understand/assistant/{intent/intent_statistics_spec.rb → task/task_statistics_spec.rb} +6 -6
  74. data/spec/integration/preview/understand/assistant/{intent_spec.rb → task_spec.rb} +53 -49
  75. data/spec/integration/preview/understand/assistant_spec.rb +12 -8
  76. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +3 -7
  77. data/spec/integration/verify/v1/service_spec.rb +30 -0
  78. data/spec/integration/wireless/v1/command_spec.rb +99 -2
  79. data/spec/twiml/voice_response_spec.rb +25 -2
  80. metadata +78 -17
@@ -0,0 +1,269 @@
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 'Factor' do
12
+ it "can create" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .entities('identity') \
18
+ .factors.create(binding: 'binding', factor_type: 'factor_type', friendly_name: 'friendly_name')
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ values = {'Binding' => 'binding', 'FactorType' => 'factor_type', 'FriendlyName' => 'friendly_name', }
22
+ expect(
23
+ @holodeck.has_request?(Holodeck::Request.new(
24
+ method: 'post',
25
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors',
26
+ data: values,
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": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
38
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
39
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
40
+ "date_created": "2015-07-30T20:00:00Z",
41
+ "date_updated": "2015-07-30T20:00:00Z",
42
+ "friendly_name": "friendly_name",
43
+ "status": "unverified",
44
+ "type": "sms",
45
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
46
+ "links": {
47
+ "challenges": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges"
48
+ }
49
+ }
50
+ ]
51
+ ))
52
+
53
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
54
+ .entities('identity') \
55
+ .factors.create(binding: 'binding', factor_type: 'factor_type', friendly_name: 'friendly_name')
56
+
57
+ expect(actual).to_not eq(nil)
58
+ end
59
+
60
+ it "can delete" do
61
+ @holodeck.mock(Twilio::Response.new(500, ''))
62
+
63
+ expect {
64
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
65
+ .entities('identity') \
66
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
67
+ }.to raise_exception(Twilio::REST::TwilioError)
68
+
69
+ values = {}
70
+ expect(
71
+ @holodeck.has_request?(Holodeck::Request.new(
72
+ method: 'delete',
73
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
74
+ ))).to eq(true)
75
+ end
76
+
77
+ it "receives delete responses" do
78
+ @holodeck.mock(Twilio::Response.new(
79
+ 204,
80
+ nil,
81
+ ))
82
+
83
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
84
+ .entities('identity') \
85
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
86
+
87
+ expect(actual).to eq(true)
88
+ end
89
+
90
+ it "can fetch" do
91
+ @holodeck.mock(Twilio::Response.new(500, ''))
92
+
93
+ expect {
94
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
95
+ .entities('identity') \
96
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
97
+ }.to raise_exception(Twilio::REST::TwilioError)
98
+
99
+ values = {}
100
+ expect(
101
+ @holodeck.has_request?(Holodeck::Request.new(
102
+ method: 'get',
103
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
104
+ ))).to eq(true)
105
+ end
106
+
107
+ it "receives fetch responses" do
108
+ @holodeck.mock(Twilio::Response.new(
109
+ 200,
110
+ %q[
111
+ {
112
+ "sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
113
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
114
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
115
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
116
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
117
+ "date_created": "2015-07-30T20:00:00Z",
118
+ "date_updated": "2015-07-30T20:00:00Z",
119
+ "friendly_name": "friendly_name",
120
+ "status": "unverified",
121
+ "type": "sms",
122
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
123
+ "links": {
124
+ "challenges": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges"
125
+ }
126
+ }
127
+ ]
128
+ ))
129
+
130
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
131
+ .entities('identity') \
132
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
133
+
134
+ expect(actual).to_not eq(nil)
135
+ end
136
+
137
+ it "can read" do
138
+ @holodeck.mock(Twilio::Response.new(500, ''))
139
+
140
+ expect {
141
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
142
+ .entities('identity') \
143
+ .factors.list()
144
+ }.to raise_exception(Twilio::REST::TwilioError)
145
+
146
+ values = {}
147
+ expect(
148
+ @holodeck.has_request?(Holodeck::Request.new(
149
+ method: 'get',
150
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors',
151
+ ))).to eq(true)
152
+ end
153
+
154
+ it "receives read_empty responses" do
155
+ @holodeck.mock(Twilio::Response.new(
156
+ 200,
157
+ %q[
158
+ {
159
+ "factors": [],
160
+ "meta": {
161
+ "page": 0,
162
+ "page_size": 50,
163
+ "first_page_url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors?PageSize=50&Page=0",
164
+ "previous_page_url": null,
165
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors?PageSize=50&Page=0",
166
+ "next_page_url": null,
167
+ "key": "factors"
168
+ }
169
+ }
170
+ ]
171
+ ))
172
+
173
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
174
+ .entities('identity') \
175
+ .factors.list()
176
+
177
+ expect(actual).to_not eq(nil)
178
+ end
179
+
180
+ it "receives read_full responses" do
181
+ @holodeck.mock(Twilio::Response.new(
182
+ 200,
183
+ %q[
184
+ {
185
+ "factors": [
186
+ {
187
+ "sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
188
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
189
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
190
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
191
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
192
+ "date_created": "2015-07-30T20:00:00Z",
193
+ "date_updated": "2015-07-30T20:00:00Z",
194
+ "friendly_name": "friendly_name",
195
+ "status": "unverified",
196
+ "type": "sms",
197
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
198
+ "links": {
199
+ "challenges": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges"
200
+ }
201
+ }
202
+ ],
203
+ "meta": {
204
+ "page": 0,
205
+ "page_size": 50,
206
+ "first_page_url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors?PageSize=50&Page=0",
207
+ "previous_page_url": null,
208
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors?PageSize=50&Page=0",
209
+ "next_page_url": null,
210
+ "key": "factors"
211
+ }
212
+ }
213
+ ]
214
+ ))
215
+
216
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
217
+ .entities('identity') \
218
+ .factors.list()
219
+
220
+ expect(actual).to_not eq(nil)
221
+ end
222
+
223
+ it "can update" do
224
+ @holodeck.mock(Twilio::Response.new(500, ''))
225
+
226
+ expect {
227
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
228
+ .entities('identity') \
229
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
230
+ }.to raise_exception(Twilio::REST::TwilioError)
231
+
232
+ values = {}
233
+ expect(
234
+ @holodeck.has_request?(Holodeck::Request.new(
235
+ method: 'post',
236
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity/Factors/YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
237
+ ))).to eq(true)
238
+ end
239
+
240
+ it "receives verify responses" do
241
+ @holodeck.mock(Twilio::Response.new(
242
+ 200,
243
+ %q[
244
+ {
245
+ "sid": "YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
246
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
247
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
248
+ "entity_sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
249
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
250
+ "date_created": "2015-07-30T20:00:00Z",
251
+ "date_updated": "2015-07-30T20:00:00Z",
252
+ "friendly_name": "friendly_name",
253
+ "status": "verified",
254
+ "type": "sms",
255
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
256
+ "links": {
257
+ "challenges": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors/YFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Challenges"
258
+ }
259
+ }
260
+ ]
261
+ ))
262
+
263
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
264
+ .entities('identity') \
265
+ .factors('YFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
266
+
267
+ expect(actual).to_not eq(nil)
268
+ end
269
+ end
@@ -0,0 +1,201 @@
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 'Entity' do
12
+ it "can create" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .entities.create(identity: 'identity')
18
+ }.to raise_exception(Twilio::REST::TwilioError)
19
+
20
+ values = {'Identity' => 'identity', }
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'post',
24
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities',
25
+ data: values,
26
+ ))).to eq(true)
27
+ end
28
+
29
+ it "receives create responses" do
30
+ @holodeck.mock(Twilio::Response.new(
31
+ 201,
32
+ %q[
33
+ {
34
+ "sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
36
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
38
+ "date_created": "2015-07-30T20:00:00Z",
39
+ "date_updated": "2015-07-30T20:00:00Z",
40
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f",
41
+ "links": {
42
+ "factors": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors"
43
+ }
44
+ }
45
+ ]
46
+ ))
47
+
48
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
49
+ .entities.create(identity: 'identity')
50
+
51
+ expect(actual).to_not eq(nil)
52
+ end
53
+
54
+ it "can delete" do
55
+ @holodeck.mock(Twilio::Response.new(500, ''))
56
+
57
+ expect {
58
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
59
+ .entities('identity').delete()
60
+ }.to raise_exception(Twilio::REST::TwilioError)
61
+
62
+ values = {}
63
+ expect(
64
+ @holodeck.has_request?(Holodeck::Request.new(
65
+ method: 'delete',
66
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity',
67
+ ))).to eq(true)
68
+ end
69
+
70
+ it "receives delete responses" do
71
+ @holodeck.mock(Twilio::Response.new(
72
+ 204,
73
+ nil,
74
+ ))
75
+
76
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
77
+ .entities('identity').delete()
78
+
79
+ expect(actual).to eq(true)
80
+ end
81
+
82
+ it "can fetch" do
83
+ @holodeck.mock(Twilio::Response.new(500, ''))
84
+
85
+ expect {
86
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
87
+ .entities('identity').fetch()
88
+ }.to raise_exception(Twilio::REST::TwilioError)
89
+
90
+ values = {}
91
+ expect(
92
+ @holodeck.has_request?(Holodeck::Request.new(
93
+ method: 'get',
94
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities/identity',
95
+ ))).to eq(true)
96
+ end
97
+
98
+ it "receives fetch responses" do
99
+ @holodeck.mock(Twilio::Response.new(
100
+ 200,
101
+ %q[
102
+ {
103
+ "sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
104
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
105
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
106
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
107
+ "date_created": "2015-07-30T20:00:00Z",
108
+ "date_updated": "2015-07-30T20:00:00Z",
109
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f",
110
+ "links": {
111
+ "factors": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors"
112
+ }
113
+ }
114
+ ]
115
+ ))
116
+
117
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
118
+ .entities('identity').fetch()
119
+
120
+ expect(actual).to_not eq(nil)
121
+ end
122
+
123
+ it "can read" do
124
+ @holodeck.mock(Twilio::Response.new(500, ''))
125
+
126
+ expect {
127
+ @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
128
+ .entities.list()
129
+ }.to raise_exception(Twilio::REST::TwilioError)
130
+
131
+ values = {}
132
+ expect(
133
+ @holodeck.has_request?(Holodeck::Request.new(
134
+ method: 'get',
135
+ url: 'https://authy.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities',
136
+ ))).to eq(true)
137
+ end
138
+
139
+ it "receives read_empty responses" do
140
+ @holodeck.mock(Twilio::Response.new(
141
+ 200,
142
+ %q[
143
+ {
144
+ "entities": [],
145
+ "meta": {
146
+ "page": 0,
147
+ "page_size": 50,
148
+ "first_page_url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities?PageSize=50&Page=0",
149
+ "previous_page_url": null,
150
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities?PageSize=50&Page=0",
151
+ "next_page_url": null,
152
+ "key": "entities"
153
+ }
154
+ }
155
+ ]
156
+ ))
157
+
158
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
159
+ .entities.list()
160
+
161
+ expect(actual).to_not eq(nil)
162
+ end
163
+
164
+ it "receives read_full responses" do
165
+ @holodeck.mock(Twilio::Response.new(
166
+ 200,
167
+ %q[
168
+ {
169
+ "entities": [
170
+ {
171
+ "sid": "YEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
172
+ "identity": "ff483d1ff591898a9942916050d2ca3f",
173
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
174
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
175
+ "date_created": "2015-07-30T20:00:00Z",
176
+ "date_updated": "2015-07-30T20:00:00Z",
177
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f",
178
+ "links": {
179
+ "factors": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities/ff483d1ff591898a9942916050d2ca3f/Factors"
180
+ }
181
+ }
182
+ ],
183
+ "meta": {
184
+ "page": 0,
185
+ "page_size": 50,
186
+ "first_page_url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities?PageSize=50&Page=0",
187
+ "previous_page_url": null,
188
+ "url": "https://authy.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Entities?PageSize=50&Page=0",
189
+ "next_page_url": null,
190
+ "key": "entities"
191
+ }
192
+ }
193
+ ]
194
+ ))
195
+
196
+ actual = @client.authy.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
197
+ .entities.list()
198
+
199
+ expect(actual).to_not eq(nil)
200
+ end
201
+ end