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