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,246 @@
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 'FieldType' do
12
+ it "can fetch" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
18
+ }.to raise_exception(Twilio::REST::TwilioError)
19
+
20
+ values = {}
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'get',
24
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/FieldTypes/UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives fetch responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 200,
31
+ %q[
32
+ {
33
+ "unique_name": "unique_name",
34
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "date_created": "2015-07-30T20:00:00Z",
37
+ "friendly_name": "friendly_name",
38
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
39
+ "date_updated": "2015-07-30T20:00:00Z",
40
+ "links": {
41
+ "field_values": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldValues"
42
+ },
43
+ "sid": "UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
44
+ }
45
+ ]
46
+ ))
47
+
48
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
49
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
50
+
51
+ expect(actual).to_not eq(nil)
52
+ end
53
+
54
+ it "can read" do
55
+ @holodeck.mock(Twilio::Response.new(500, ''))
56
+
57
+ expect {
58
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
59
+ .field_types.list()
60
+ }.to raise_exception(Twilio::REST::TwilioError)
61
+
62
+ values = {}
63
+ expect(
64
+ @holodeck.has_request?(Holodeck::Request.new(
65
+ method: 'get',
66
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/FieldTypes',
67
+ ))).to eq(true)
68
+ end
69
+
70
+ it "receives read_empty responses" do
71
+ @holodeck.mock(Twilio::Response.new(
72
+ 200,
73
+ %q[
74
+ {
75
+ "meta": {
76
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes?PageSize=50&Page=0",
77
+ "first_page_url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes?PageSize=50&Page=0",
78
+ "previous_page_url": null,
79
+ "page": 0,
80
+ "page_size": 50,
81
+ "next_page_url": null,
82
+ "key": "field_types"
83
+ },
84
+ "field_types": []
85
+ }
86
+ ]
87
+ ))
88
+
89
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
90
+ .field_types.list()
91
+
92
+ expect(actual).to_not eq(nil)
93
+ end
94
+
95
+ it "receives read_full responses" do
96
+ @holodeck.mock(Twilio::Response.new(
97
+ 200,
98
+ %q[
99
+ {
100
+ "meta": {
101
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes?PageSize=50&Page=0",
102
+ "first_page_url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes?PageSize=50&Page=0",
103
+ "previous_page_url": null,
104
+ "page": 0,
105
+ "page_size": 50,
106
+ "next_page_url": null,
107
+ "key": "field_types"
108
+ },
109
+ "field_types": [
110
+ {
111
+ "unique_name": "unique_name",
112
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
113
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
114
+ "date_created": "2015-07-30T20:00:00Z",
115
+ "friendly_name": "friendly_name",
116
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
117
+ "date_updated": "2015-07-30T20:00:00Z",
118
+ "links": {
119
+ "field_values": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldValues"
120
+ },
121
+ "sid": "UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
122
+ }
123
+ ]
124
+ }
125
+ ]
126
+ ))
127
+
128
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
129
+ .field_types.list()
130
+
131
+ expect(actual).to_not eq(nil)
132
+ end
133
+
134
+ it "can create" do
135
+ @holodeck.mock(Twilio::Response.new(500, ''))
136
+
137
+ expect {
138
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
139
+ .field_types.create(unique_name: 'unique_name')
140
+ }.to raise_exception(Twilio::REST::TwilioError)
141
+
142
+ values = {'UniqueName' => 'unique_name', }
143
+ expect(
144
+ @holodeck.has_request?(Holodeck::Request.new(
145
+ method: 'post',
146
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/FieldTypes',
147
+ data: values,
148
+ ))).to eq(true)
149
+ end
150
+
151
+ it "receives create responses" do
152
+ @holodeck.mock(Twilio::Response.new(
153
+ 201,
154
+ %q[
155
+ {
156
+ "unique_name": "unique_name",
157
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
159
+ "date_created": "2015-07-30T20:00:00Z",
160
+ "friendly_name": "friendly_name",
161
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
162
+ "date_updated": "2015-07-30T20:00:00Z",
163
+ "links": {
164
+ "field_values": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldValues"
165
+ },
166
+ "sid": "UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
167
+ }
168
+ ]
169
+ ))
170
+
171
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
172
+ .field_types.create(unique_name: 'unique_name')
173
+
174
+ expect(actual).to_not eq(nil)
175
+ end
176
+
177
+ it "can update" do
178
+ @holodeck.mock(Twilio::Response.new(500, ''))
179
+
180
+ expect {
181
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
182
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
183
+ }.to raise_exception(Twilio::REST::TwilioError)
184
+
185
+ values = {}
186
+ expect(
187
+ @holodeck.has_request?(Holodeck::Request.new(
188
+ method: 'post',
189
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/FieldTypes/UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
190
+ ))).to eq(true)
191
+ end
192
+
193
+ it "receives update responses" do
194
+ @holodeck.mock(Twilio::Response.new(
195
+ 200,
196
+ %q[
197
+ {
198
+ "unique_name": "unique_name",
199
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
200
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
201
+ "date_created": "2015-07-30T20:00:00Z",
202
+ "friendly_name": "friendly_name",
203
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
204
+ "date_updated": "2015-07-30T20:00:00Z",
205
+ "links": {
206
+ "field_values": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldTypes/UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/FieldValues"
207
+ },
208
+ "sid": "UBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
209
+ }
210
+ ]
211
+ ))
212
+
213
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
214
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
215
+
216
+ expect(actual).to_not eq(nil)
217
+ end
218
+
219
+ it "can delete" do
220
+ @holodeck.mock(Twilio::Response.new(500, ''))
221
+
222
+ expect {
223
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
224
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
225
+ }.to raise_exception(Twilio::REST::TwilioError)
226
+
227
+ values = {}
228
+ expect(
229
+ @holodeck.has_request?(Holodeck::Request.new(
230
+ method: 'delete',
231
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/FieldTypes/UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
232
+ ))).to eq(true)
233
+ end
234
+
235
+ it "receives delete responses" do
236
+ @holodeck.mock(Twilio::Response.new(
237
+ 204,
238
+ nil,
239
+ ))
240
+
241
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
242
+ .field_types('UBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
243
+
244
+ expect(actual).to eq(true)
245
+ end
246
+ end
@@ -0,0 +1,241 @@
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 'ModelBuild' do
12
+ it "can fetch" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
18
+ }.to raise_exception(Twilio::REST::TwilioError)
19
+
20
+ values = {}
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'get',
24
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ModelBuilds/UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives fetch responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 200,
31
+ %q[
32
+ {
33
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
+ "date_updated": "2015-07-30T20:00:00Z",
35
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds/UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "status": "enqueued",
37
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
38
+ "date_created": "2015-07-30T20:00:00Z",
39
+ "sid": "UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
40
+ "unique_name": "unique_name",
41
+ "build_duration": null,
42
+ "error_code": null
43
+ }
44
+ ]
45
+ ))
46
+
47
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
48
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
49
+
50
+ expect(actual).to_not eq(nil)
51
+ end
52
+
53
+ it "can read" do
54
+ @holodeck.mock(Twilio::Response.new(500, ''))
55
+
56
+ expect {
57
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
58
+ .model_builds.list()
59
+ }.to raise_exception(Twilio::REST::TwilioError)
60
+
61
+ values = {}
62
+ expect(
63
+ @holodeck.has_request?(Holodeck::Request.new(
64
+ method: 'get',
65
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ModelBuilds',
66
+ ))).to eq(true)
67
+ end
68
+
69
+ it "receives read_empty responses" do
70
+ @holodeck.mock(Twilio::Response.new(
71
+ 200,
72
+ %q[
73
+ {
74
+ "meta": {
75
+ "page": 0,
76
+ "key": "model_builds",
77
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds?PageSize=50&Page=0",
78
+ "first_page_url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds?PageSize=50&Page=0",
79
+ "next_page_url": null,
80
+ "previous_page_url": null,
81
+ "page_size": 50
82
+ },
83
+ "model_builds": []
84
+ }
85
+ ]
86
+ ))
87
+
88
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
89
+ .model_builds.list()
90
+
91
+ expect(actual).to_not eq(nil)
92
+ end
93
+
94
+ it "receives read_full responses" do
95
+ @holodeck.mock(Twilio::Response.new(
96
+ 200,
97
+ %q[
98
+ {
99
+ "meta": {
100
+ "page": 0,
101
+ "key": "model_builds",
102
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds?PageSize=50&Page=0",
103
+ "first_page_url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds?PageSize=50&Page=0",
104
+ "next_page_url": null,
105
+ "previous_page_url": null,
106
+ "page_size": 50
107
+ },
108
+ "model_builds": [
109
+ {
110
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
111
+ "date_updated": "2015-07-30T20:00:00Z",
112
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds/UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
113
+ "status": "failed",
114
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
115
+ "date_created": "2015-07-30T20:00:00Z",
116
+ "sid": "UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
117
+ "unique_name": "unique_name",
118
+ "build_duration": null,
119
+ "error_code": 23001
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ ))
125
+
126
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
127
+ .model_builds.list()
128
+
129
+ expect(actual).to_not eq(nil)
130
+ end
131
+
132
+ it "can create" do
133
+ @holodeck.mock(Twilio::Response.new(500, ''))
134
+
135
+ expect {
136
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
137
+ .model_builds.create()
138
+ }.to raise_exception(Twilio::REST::TwilioError)
139
+
140
+ values = {}
141
+ expect(
142
+ @holodeck.has_request?(Holodeck::Request.new(
143
+ method: 'post',
144
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ModelBuilds',
145
+ ))).to eq(true)
146
+ end
147
+
148
+ it "receives create responses" do
149
+ @holodeck.mock(Twilio::Response.new(
150
+ 201,
151
+ %q[
152
+ {
153
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
154
+ "date_updated": "2015-07-30T20:00:00Z",
155
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds/UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
156
+ "status": "enqueued",
157
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "date_created": "2015-07-30T20:00:00Z",
159
+ "sid": "UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
160
+ "unique_name": "unique_name",
161
+ "build_duration": null,
162
+ "error_code": null
163
+ }
164
+ ]
165
+ ))
166
+
167
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
168
+ .model_builds.create()
169
+
170
+ expect(actual).to_not eq(nil)
171
+ end
172
+
173
+ it "can update" do
174
+ @holodeck.mock(Twilio::Response.new(500, ''))
175
+
176
+ expect {
177
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
178
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
179
+ }.to raise_exception(Twilio::REST::TwilioError)
180
+
181
+ values = {}
182
+ expect(
183
+ @holodeck.has_request?(Holodeck::Request.new(
184
+ method: 'post',
185
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ModelBuilds/UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
186
+ ))).to eq(true)
187
+ end
188
+
189
+ it "receives update responses" do
190
+ @holodeck.mock(Twilio::Response.new(
191
+ 200,
192
+ %q[
193
+ {
194
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
195
+ "date_updated": "2015-07-30T20:00:00Z",
196
+ "url": "https://autopilot.twilio.com/v1/Assistants/UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ModelBuilds/UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
197
+ "status": "completed",
198
+ "assistant_sid": "UAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
199
+ "date_created": "2015-07-30T20:00:00Z",
200
+ "sid": "UGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
201
+ "unique_name": "unique_name",
202
+ "build_duration": 100,
203
+ "error_code": null
204
+ }
205
+ ]
206
+ ))
207
+
208
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
209
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
210
+
211
+ expect(actual).to_not eq(nil)
212
+ end
213
+
214
+ it "can delete" do
215
+ @holodeck.mock(Twilio::Response.new(500, ''))
216
+
217
+ expect {
218
+ @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
219
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
220
+ }.to raise_exception(Twilio::REST::TwilioError)
221
+
222
+ values = {}
223
+ expect(
224
+ @holodeck.has_request?(Holodeck::Request.new(
225
+ method: 'delete',
226
+ url: 'https://autopilot.twilio.com/v1/Assistants/UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ModelBuilds/UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
227
+ ))).to eq(true)
228
+ end
229
+
230
+ it "receives delete responses" do
231
+ @holodeck.mock(Twilio::Response.new(
232
+ 204,
233
+ nil,
234
+ ))
235
+
236
+ actual = @client.autopilot.v1.assistants('UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
237
+ .model_builds('UGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
238
+
239
+ expect(actual).to eq(true)
240
+ end
241
+ end