twilio-ruby 5.0.0.rc3 → 5.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +9 -0
  3. data/lib/twilio-ruby/rest/client.rb +7 -4
  4. data/lib/twilio-ruby/rest/conversations/v1/conversation/completed.rb +0 -7
  5. data/lib/twilio-ruby/rest/conversations/v1/conversation/in_progress.rb +0 -7
  6. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +1 -1
  7. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +1 -1
  8. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  9. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1 -1
  10. data/lib/twilio-ruby/rest/notifications/v1/service/binding.rb +440 -0
  11. data/lib/twilio-ruby/rest/notifications/v1/service/notification.rb +217 -0
  12. data/lib/twilio-ruby/rest/notifications/v1/service.rb +478 -0
  13. data/lib/twilio-ruby/rest/notifications/v1.rb +35 -0
  14. data/lib/twilio-ruby/rest/notifications.rb +40 -0
  15. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +96 -5
  16. data/lib/twilio-ruby/version.rb +1 -1
  17. data/spec/integration/ip_messaging/v1/credential_spec.rb +136 -0
  18. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +133 -0
  19. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +171 -1
  20. data/spec/integration/ip_messaging/v1/service/role_spec.rb +167 -1
  21. data/spec/integration/ip_messaging/v1/service/user_spec.rb +151 -1
  22. data/spec/integration/ip_messaging/v1/service_spec.rb +177 -1
  23. data/spec/integration/notifications/v1/service/binding_spec.rb +210 -0
  24. data/spec/integration/notifications/v1/service/notification_spec.rb +57 -0
  25. data/spec/integration/notifications/v1/service_spec.rb +244 -0
  26. metadata +14 -3
@@ -23,6 +23,36 @@ describe 'Channel' do
23
23
  ))).to eq(true)
24
24
  end
25
25
 
26
+ it "receives fetch responses" do
27
+ @holodeck.mock(Twilio::TwilioResponse.new(
28
+ 200,
29
+ %q[
30
+ {
31
+ "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
32
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
33
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
+ "friendly_name": "d816d8da-51c0-44e1-928a-44822f49bc95",
35
+ "unique_name": "c64ad6b0-0090-4cfc-b574-b1ce5208ac0b",
36
+ "attributes": null,
37
+ "type": "public",
38
+ "date_created": "2015-12-16T22:18:37Z",
39
+ "date_updated": "2015-12-16T22:18:37Z",
40
+ "created_by": "system",
41
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
42
+ "links": {
43
+ "members": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
44
+ "messages": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages"
45
+ }
46
+ }
47
+ ]
48
+ ))
49
+
50
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
51
+ .channels("CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
52
+
53
+ expect(actual).to_not eq(nil)
54
+ end
55
+
26
56
  it "can delete" do
27
57
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
28
58
 
@@ -34,11 +64,23 @@ describe 'Channel' do
34
64
  values = {}
35
65
  expect(
36
66
  @holodeck.has_request?(Holodeck::Request.new(
37
- method: 'get',
67
+ method: 'delete',
38
68
  url: 'https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
39
69
  ))).to eq(true)
40
70
  end
41
71
 
72
+ it "receives delete responses" do
73
+ @holodeck.mock(Twilio::TwilioResponse.new(
74
+ 204,
75
+ nil,
76
+ ))
77
+
78
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
79
+ .channels("CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
80
+
81
+ expect(actual).to eq(true)
82
+ end
83
+
42
84
  it "can create" do
43
85
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
44
86
 
@@ -59,6 +101,36 @@ describe 'Channel' do
59
101
  ))).to eq(true)
60
102
  end
61
103
 
104
+ it "receives create responses" do
105
+ @holodeck.mock(Twilio::TwilioResponse.new(
106
+ 201,
107
+ %q[
108
+ {
109
+ "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
110
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
111
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
112
+ "friendly_name": "d816d8da-51c0-44e1-928a-44822f49bc95",
113
+ "unique_name": "c64ad6b0-0090-4cfc-b574-b1ce5208ac0b",
114
+ "attributes": null,
115
+ "type": "public",
116
+ "date_created": "2015-12-16T22:18:37Z",
117
+ "date_updated": "2015-12-16T22:18:37Z",
118
+ "created_by": "system",
119
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
120
+ "links": {
121
+ "members": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
122
+ "messages": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages"
123
+ }
124
+ }
125
+ ]
126
+ ))
127
+
128
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
129
+ .channels.create(friendly_name: "friendly_name", unique_name: "unique_name")
130
+
131
+ expect(actual).to_not eq(nil)
132
+ end
133
+
62
134
  it "can read" do
63
135
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
64
136
 
@@ -75,6 +147,74 @@ describe 'Channel' do
75
147
  ))).to eq(true)
76
148
  end
77
149
 
150
+ it "receives read_full responses" do
151
+ @holodeck.mock(Twilio::TwilioResponse.new(
152
+ 200,
153
+ %q[
154
+ {
155
+ "channels": [
156
+ {
157
+ "sid": "CHc12e6f1419b244fe8da312bc2cdebebc",
158
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
159
+ "service_sid": "IS034e4a0c83f94e10a2ab4a3c19a16a86",
160
+ "friendly_name": "d816d8da-51c0-44e1-928a-44822f49bc95",
161
+ "unique_name": "c64ad6b0-0090-4cfc-b574-b1ce5208ac0b",
162
+ "attributes": null,
163
+ "type": "public",
164
+ "date_created": "2015-12-16T22:18:37Z",
165
+ "date_updated": "2015-12-16T22:18:37Z",
166
+ "created_by": "system",
167
+ "url": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels/CHc12e6f1419b244fe8da312bc2cdebebc",
168
+ "links": {
169
+ "members": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels/CHc12e6f1419b244fe8da312bc2cdebebc/Members",
170
+ "messages": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels/CHc12e6f1419b244fe8da312bc2cdebebc/Messages"
171
+ }
172
+ }
173
+ ],
174
+ "meta": {
175
+ "page": 0,
176
+ "page_size": 1,
177
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels?PageSize=1&Page=0",
178
+ "previous_page_url": null,
179
+ "url": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels?PageSize=1&Page=0",
180
+ "next_page_url": null,
181
+ "key": "channels"
182
+ }
183
+ }
184
+ ]
185
+ ))
186
+
187
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
188
+ .channels.list()
189
+
190
+ expect(actual).to_not eq(nil)
191
+ end
192
+
193
+ it "receives read_empty responses" do
194
+ @holodeck.mock(Twilio::TwilioResponse.new(
195
+ 200,
196
+ %q[
197
+ {
198
+ "channels": [],
199
+ "meta": {
200
+ "page": 0,
201
+ "page_size": 1,
202
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels?PageSize=1&Page=0",
203
+ "previous_page_url": null,
204
+ "url": "https://ip-messaging.twilio.com/v1/Services/IS034e4a0c83f94e10a2ab4a3c19a16a86/Channels?PageSize=1&Page=0",
205
+ "next_page_url": null,
206
+ "key": "channels"
207
+ }
208
+ }
209
+ ]
210
+ ))
211
+
212
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
213
+ .channels.list()
214
+
215
+ expect(actual).to_not eq(nil)
216
+ end
217
+
78
218
  it "can update" do
79
219
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
80
220
 
@@ -90,4 +230,34 @@ describe 'Channel' do
90
230
  url: 'https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
91
231
  ))).to eq(true)
92
232
  end
233
+
234
+ it "receives update responses" do
235
+ @holodeck.mock(Twilio::TwilioResponse.new(
236
+ 200,
237
+ %q[
238
+ {
239
+ "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
240
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
241
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
242
+ "friendly_name": "d816d8da-51c0-44e1-928a-44822f49bc95",
243
+ "unique_name": "c64ad6b0-0090-4cfc-b574-b1ce5208ac0b",
244
+ "attributes": null,
245
+ "type": "public",
246
+ "date_created": "2015-12-16T22:18:37Z",
247
+ "date_updated": "2015-12-16T22:18:37Z",
248
+ "created_by": "system",
249
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
250
+ "links": {
251
+ "members": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members",
252
+ "messages": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages"
253
+ }
254
+ }
255
+ ]
256
+ ))
257
+
258
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
259
+ .channels("CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update()
260
+
261
+ expect(actual).to_not eq(nil)
262
+ end
93
263
  end
@@ -23,6 +23,35 @@ describe 'Role' do
23
23
  ))).to eq(true)
24
24
  end
25
25
 
26
+ it "receives fetch responses" do
27
+ @holodeck.mock(Twilio::TwilioResponse.new(
28
+ 200,
29
+ %q[
30
+ {
31
+ "sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
32
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
33
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
+ "friendly_name": "channel user",
35
+ "type": "channel",
36
+ "permissions": [
37
+ "sendMessage",
38
+ "leaveChannel",
39
+ "editOwnMessage",
40
+ "deleteOwnMessage"
41
+ ],
42
+ "date_created": "2016-03-03T19:47:15Z",
43
+ "date_updated": "2016-03-03T19:47:15Z",
44
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles/RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
45
+ }
46
+ ]
47
+ ))
48
+
49
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
50
+ .roles("RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
51
+
52
+ expect(actual).to_not eq(nil)
53
+ end
54
+
26
55
  it "can delete" do
27
56
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
28
57
 
@@ -34,11 +63,23 @@ describe 'Role' do
34
63
  values = {}
35
64
  expect(
36
65
  @holodeck.has_request?(Holodeck::Request.new(
37
- method: 'get',
66
+ method: 'delete',
38
67
  url: 'https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles/RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
39
68
  ))).to eq(true)
40
69
  end
41
70
 
71
+ it "receives delete responses" do
72
+ @holodeck.mock(Twilio::TwilioResponse.new(
73
+ 204,
74
+ nil,
75
+ ))
76
+
77
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
78
+ .roles("RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
79
+
80
+ expect(actual).to eq(true)
81
+ end
82
+
42
83
  it "can create" do
43
84
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
44
85
 
@@ -60,6 +101,35 @@ describe 'Role' do
60
101
  ))).to eq(true)
61
102
  end
62
103
 
104
+ it "receives create responses" do
105
+ @holodeck.mock(Twilio::TwilioResponse.new(
106
+ 201,
107
+ %q[
108
+ {
109
+ "sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
110
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
111
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
112
+ "friendly_name": "channel user",
113
+ "type": "channel",
114
+ "permissions": [
115
+ "sendMessage",
116
+ "leaveChannel",
117
+ "editOwnMessage",
118
+ "deleteOwnMessage"
119
+ ],
120
+ "date_created": "2016-03-03T19:47:15Z",
121
+ "date_updated": "2016-03-03T19:47:15Z",
122
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles/RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
123
+ }
124
+ ]
125
+ ))
126
+
127
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
128
+ .roles.create(friendly_name: "friendly_name", type: "channel", permission: ['permission'])
129
+
130
+ expect(actual).to_not eq(nil)
131
+ end
132
+
63
133
  it "can read" do
64
134
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
65
135
 
@@ -76,6 +146,73 @@ describe 'Role' do
76
146
  ))).to eq(true)
77
147
  end
78
148
 
149
+ it "receives read_full responses" do
150
+ @holodeck.mock(Twilio::TwilioResponse.new(
151
+ 200,
152
+ %q[
153
+ {
154
+ "meta": {
155
+ "page": 0,
156
+ "page_size": 1,
157
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles?PageSize=1&Page=0",
158
+ "previous_page_url": null,
159
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles?PageSize=1&Page=0",
160
+ "next_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles?PageSize=1&Page=1&PageToken=PTRL3ea1a94dd9cd408c8b29d18bf0f99033",
161
+ "key": "roles"
162
+ },
163
+ "roles": [
164
+ {
165
+ "sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
166
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
167
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
168
+ "friendly_name": "channel user",
169
+ "type": "channel",
170
+ "permissions": [
171
+ "sendMessage",
172
+ "leaveChannel",
173
+ "editOwnMessage",
174
+ "deleteOwnMessage"
175
+ ],
176
+ "date_created": "2016-03-03T19:47:15Z",
177
+ "date_updated": "2016-03-03T19:47:15Z",
178
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles/RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
179
+ }
180
+ ]
181
+ }
182
+ ]
183
+ ))
184
+
185
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
186
+ .roles.list()
187
+
188
+ expect(actual).to_not eq(nil)
189
+ end
190
+
191
+ it "receives read_empty responses" do
192
+ @holodeck.mock(Twilio::TwilioResponse.new(
193
+ 200,
194
+ %q[
195
+ {
196
+ "meta": {
197
+ "page": 0,
198
+ "page_size": 1,
199
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles?PageSize=1&Page=0",
200
+ "previous_page_url": null,
201
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles?PageSize=1&Page=0",
202
+ "next_page_url": null,
203
+ "key": "roles"
204
+ },
205
+ "roles": []
206
+ }
207
+ ]
208
+ ))
209
+
210
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
211
+ .roles.list()
212
+
213
+ expect(actual).to_not eq(nil)
214
+ end
215
+
79
216
  it "can update" do
80
217
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
81
218
 
@@ -95,4 +232,33 @@ describe 'Role' do
95
232
  data: values,
96
233
  ))).to eq(true)
97
234
  end
235
+
236
+ it "receives update responses" do
237
+ @holodeck.mock(Twilio::TwilioResponse.new(
238
+ 200,
239
+ %q[
240
+ {
241
+ "sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
242
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
243
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
244
+ "friendly_name": "channel user",
245
+ "type": "channel",
246
+ "permissions": [
247
+ "sendMessage",
248
+ "leaveChannel",
249
+ "editOwnMessage",
250
+ "deleteOwnMessage"
251
+ ],
252
+ "date_created": "2016-03-03T19:47:15Z",
253
+ "date_updated": "2016-03-03T19:47:15Z",
254
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles/RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
255
+ }
256
+ ]
257
+ ))
258
+
259
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
260
+ .roles("RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update(friendly_name: "friendly_name", permission: ['permission'])
261
+
262
+ expect(actual).to_not eq(nil)
263
+ end
98
264
  end
@@ -23,6 +23,31 @@ describe 'User' do
23
23
  ))).to eq(true)
24
24
  end
25
25
 
26
+ it "receives fetch responses" do
27
+ @holodeck.mock(Twilio::TwilioResponse.new(
28
+ 200,
29
+ %q[
30
+ {
31
+ "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
32
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
33
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
+ "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "identity": "jing",
36
+ "attributes": null,
37
+ "friendly_name": null,
38
+ "date_created": "2016-03-24T21:05:19Z",
39
+ "date_updated": "2016-03-24T21:05:19Z",
40
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
41
+ }
42
+ ]
43
+ ))
44
+
45
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
46
+ .users("USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").fetch()
47
+
48
+ expect(actual).to_not eq(nil)
49
+ end
50
+
26
51
  it "can delete" do
27
52
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
28
53
 
@@ -34,11 +59,23 @@ describe 'User' do
34
59
  values = {}
35
60
  expect(
36
61
  @holodeck.has_request?(Holodeck::Request.new(
37
- method: 'get',
62
+ method: 'delete',
38
63
  url: 'https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
39
64
  ))).to eq(true)
40
65
  end
41
66
 
67
+ it "receives delete responses" do
68
+ @holodeck.mock(Twilio::TwilioResponse.new(
69
+ 204,
70
+ nil,
71
+ ))
72
+
73
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
74
+ .users("USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
75
+
76
+ expect(actual).to eq(true)
77
+ end
78
+
42
79
  it "can create" do
43
80
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
44
81
 
@@ -59,6 +96,31 @@ describe 'User' do
59
96
  ))).to eq(true)
60
97
  end
61
98
 
99
+ it "receives create responses" do
100
+ @holodeck.mock(Twilio::TwilioResponse.new(
101
+ 201,
102
+ %q[
103
+ {
104
+ "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
105
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
106
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
107
+ "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
108
+ "identity": "jing",
109
+ "attributes": null,
110
+ "friendly_name": null,
111
+ "date_created": "2016-03-24T21:05:19Z",
112
+ "date_updated": "2016-03-24T21:05:19Z",
113
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
114
+ }
115
+ ]
116
+ ))
117
+
118
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
119
+ .users.create(identity: "identity", role_sid: "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
120
+
121
+ expect(actual).to_not eq(nil)
122
+ end
123
+
62
124
  it "can read" do
63
125
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
64
126
 
@@ -75,6 +137,69 @@ describe 'User' do
75
137
  ))).to eq(true)
76
138
  end
77
139
 
140
+ it "receives read_full responses" do
141
+ @holodeck.mock(Twilio::TwilioResponse.new(
142
+ 200,
143
+ %q[
144
+ {
145
+ "meta": {
146
+ "page": 0,
147
+ "page_size": 1,
148
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=1&Page=0",
149
+ "previous_page_url": null,
150
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=1&Page=0",
151
+ "next_page_url": null,
152
+ "key": "users"
153
+ },
154
+ "users": [
155
+ {
156
+ "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
157
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
159
+ "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
160
+ "identity": "jing",
161
+ "attributes": null,
162
+ "friendly_name": null,
163
+ "date_created": "2016-03-24T21:05:19Z",
164
+ "date_updated": "2016-03-24T21:05:19Z",
165
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
166
+ }
167
+ ]
168
+ }
169
+ ]
170
+ ))
171
+
172
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
173
+ .users.list()
174
+
175
+ expect(actual).to_not eq(nil)
176
+ end
177
+
178
+ it "receives read_empty responses" do
179
+ @holodeck.mock(Twilio::TwilioResponse.new(
180
+ 200,
181
+ %q[
182
+ {
183
+ "meta": {
184
+ "page": 0,
185
+ "page_size": 1,
186
+ "first_page_url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=1&Page=0",
187
+ "previous_page_url": null,
188
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=1&Page=0",
189
+ "next_page_url": null,
190
+ "key": "users"
191
+ },
192
+ "users": []
193
+ }
194
+ ]
195
+ ))
196
+
197
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
198
+ .users.list()
199
+
200
+ expect(actual).to_not eq(nil)
201
+ end
202
+
78
203
  it "can update" do
79
204
  @holodeck.mock(Twilio::TwilioResponse.new(500, ''))
80
205
 
@@ -93,4 +218,29 @@ describe 'User' do
93
218
  data: values,
94
219
  ))).to eq(true)
95
220
  end
221
+
222
+ it "receives update responses" do
223
+ @holodeck.mock(Twilio::TwilioResponse.new(
224
+ 200,
225
+ %q[
226
+ {
227
+ "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
228
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
229
+ "service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
230
+ "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
231
+ "identity": "jing",
232
+ "attributes": null,
233
+ "friendly_name": null,
234
+ "date_created": "2016-03-24T21:05:19Z",
235
+ "date_updated": "2016-03-24T21:05:19Z",
236
+ "url": "https://ip-messaging.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
237
+ }
238
+ ]
239
+ ))
240
+
241
+ actual = @client.ip_messaging.v1.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
242
+ .users("USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update(role_sid: "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
243
+
244
+ expect(actual).to_not eq(nil)
245
+ end
96
246
  end