osc_ruby 0.7.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +25 -25
- data/.gitignore +15 -15
- data/.rspec +1 -1
- data/.rubocop.yml +1156 -1156
- data/.travis.yml +9 -9
- data/Gemfile +3 -3
- data/License.txt +21 -0
- data/README.md +95 -242
- data/Rakefile +2 -2
- data/lib/ext/string.rb +18 -18
- data/lib/osc_ruby/classes/query_results.rb +40 -60
- data/lib/osc_ruby/client.rb +40 -40
- data/lib/osc_ruby/configuration.rb +14 -13
- data/lib/osc_ruby/connect.rb +218 -209
- data/lib/osc_ruby/modules/normalize_module.rb +121 -121
- data/lib/osc_ruby/modules/query_module.rb +69 -69
- data/lib/osc_ruby/modules/validations_module.rb +168 -168
- data/lib/osc_ruby/version.rb +2 -2
- data/lib/osc_ruby.rb +4 -10
- data/osc_ruby.gemspec +28 -29
- data/spec/core/client_spec.rb +96 -96
- data/spec/core/configuration_spec.rb +4 -4
- data/spec/core/connect_spec.rb +366 -364
- data/spec/core/query_results_spec.rb +107 -133
- data/spec/core/spec_helper.rb +25 -25
- data/tasks/rspec.rake +2 -2
- metadata +23 -22
- data/LICENSE.txt +0 -22
- data/lib/osc_ruby/classes/account.rb +0 -75
- data/lib/osc_ruby/classes/answer.rb +0 -117
- data/lib/osc_ruby/classes/incident.rb +0 -13
- data/lib/osc_ruby/classes/product_category_shared.rb +0 -118
- data/lib/osc_ruby/classes/service_category.rb +0 -6
- data/lib/osc_ruby/classes/service_class.rb +0 -66
- data/lib/osc_ruby/classes/service_product.rb +0 -6
- data/lib/osc_ruby/modules/class_factory_module.rb +0 -165
- data/lib/osc_ruby/modules/nested_resource_module.rb +0 -10
- data/spec/core/account_spec.rb +0 -497
- data/spec/core/answer_spec.rb +0 -545
- data/spec/core/service_category_spec.rb +0 -445
- data/spec/core/service_product_spec.rb +0 -443
data/spec/core/connect_spec.rb
CHANGED
@@ -1,365 +1,367 @@
|
|
1
|
-
require 'core/spec_helper'
|
2
|
-
require 'json'
|
3
|
-
require 'uri'
|
4
|
-
|
5
|
-
describe OSCRuby::Connect do
|
6
|
-
|
7
|
-
subject { connect }
|
8
|
-
|
9
|
-
let(:client) {
|
10
|
-
|
11
|
-
OSCRuby::Client.new do |config|
|
12
|
-
|
13
|
-
config.interface = ENV['
|
14
|
-
|
15
|
-
config.username = ENV['OSC_ADMIN']
|
16
|
-
|
17
|
-
config.password = ENV['OSC_PASSWORD']
|
18
|
-
|
19
|
-
config.suppress_rules = true
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
names
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
expect(test
|
211
|
-
|
212
|
-
expect(test.
|
213
|
-
|
214
|
-
expect
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
expect
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
expect
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
names
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
:
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
expect(test
|
312
|
-
|
313
|
-
expect(test.
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
expect(test
|
358
|
-
|
359
|
-
expect(test.
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
1
|
+
require 'core/spec_helper'
|
2
|
+
require 'json'
|
3
|
+
require 'uri'
|
4
|
+
|
5
|
+
describe OSCRuby::Connect do
|
6
|
+
|
7
|
+
subject { connect }
|
8
|
+
|
9
|
+
let(:client) {
|
10
|
+
|
11
|
+
OSCRuby::Client.new do |config|
|
12
|
+
|
13
|
+
config.interface = ENV['OSC_SITE']
|
14
|
+
|
15
|
+
config.username = ENV['OSC_ADMIN']
|
16
|
+
|
17
|
+
config.password = ENV['OSC_PASSWORD']
|
18
|
+
|
19
|
+
config.suppress_rules = true
|
20
|
+
|
21
|
+
config.demo_site = true
|
22
|
+
|
23
|
+
end
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
context '#generate_url_and_config' do
|
28
|
+
|
29
|
+
it 'should take at least a config parameter that is an instance of an OSCRuby::Client' do
|
30
|
+
|
31
|
+
expect(client).to be_an(OSCRuby::Client)
|
32
|
+
|
33
|
+
expect do
|
34
|
+
|
35
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
36
|
+
|
37
|
+
end.not_to raise_error
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should take an optional resource_url parameter' do
|
41
|
+
|
42
|
+
expect do
|
43
|
+
|
44
|
+
OSCRuby::Connect.generate_url_and_config(client, 'serviceProducts')
|
45
|
+
|
46
|
+
end.not_to raise_error
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should change the final configured url if the resource_url parameter is specified' do
|
50
|
+
|
51
|
+
test = OSCRuby::Connect.generate_url_and_config(client, 'serviceProducts')
|
52
|
+
|
53
|
+
interface = client.config.interface
|
54
|
+
|
55
|
+
expect(test['site_url']).to eq(URI("https://#{interface}.rightnowdemo.com/services/rest/connect/v1.3/serviceProducts"))
|
56
|
+
|
57
|
+
expect(test['site_url']).to be_an(URI::HTTPS)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should raise an error if client is nil' do
|
61
|
+
|
62
|
+
expect do
|
63
|
+
|
64
|
+
client = nil
|
65
|
+
|
66
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
67
|
+
|
68
|
+
end.to raise_error("Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings")
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'should raise an error if client.config is nil' do
|
73
|
+
|
74
|
+
expect do
|
75
|
+
|
76
|
+
client.config = nil
|
77
|
+
|
78
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
79
|
+
|
80
|
+
end.to raise_error("Client configuration cannot be nil or blank")
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should raise an error if client interface is absent' do
|
85
|
+
|
86
|
+
expect do
|
87
|
+
|
88
|
+
client.config.interface = nil
|
89
|
+
|
90
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
91
|
+
|
92
|
+
end.to raise_error("The configured client interface cannot be nil or blank")
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'should raise an error if client username is absent' do
|
97
|
+
|
98
|
+
expect do
|
99
|
+
|
100
|
+
client.config.username = nil
|
101
|
+
|
102
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
103
|
+
|
104
|
+
end.to raise_error("The configured client username cannot be nil or blank")
|
105
|
+
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'should raise an error if client password is absent' do
|
109
|
+
|
110
|
+
expect do
|
111
|
+
|
112
|
+
client.config.password = nil
|
113
|
+
|
114
|
+
OSCRuby::Connect.generate_url_and_config(client)
|
115
|
+
|
116
|
+
end.to raise_error("The configured client password cannot be nil or blank")
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
it 'should create an Hash object with a site_url, username, password properties' do
|
122
|
+
|
123
|
+
final_config = OSCRuby::Connect.generate_url_and_config(client)
|
124
|
+
|
125
|
+
expect(final_config).to be_an(Hash)
|
126
|
+
|
127
|
+
expect(final_config['site_url']).to be_an(URI::HTTPS)
|
128
|
+
|
129
|
+
expect(final_config['username']).to eq(ENV['OSC_ADMIN'])
|
130
|
+
|
131
|
+
expect(final_config['password']).to eq(ENV['OSC_PASSWORD'])
|
132
|
+
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
let(:json_content){
|
138
|
+
{:test => 'content'}
|
139
|
+
}
|
140
|
+
|
141
|
+
context '#post_or_patch' do
|
142
|
+
|
143
|
+
it 'should take at least a config parameter that is an instance of an OSCRuby::Client', :vcr do
|
144
|
+
|
145
|
+
expect(client).to be_an(OSCRuby::Client)
|
146
|
+
|
147
|
+
expect do
|
148
|
+
|
149
|
+
OSCRuby::Connect.post_or_patch(client,'serviceProducts',json_content)
|
150
|
+
|
151
|
+
end.not_to raise_error
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'should raise an error if client is nil' do
|
155
|
+
|
156
|
+
expect do
|
157
|
+
|
158
|
+
client = nil
|
159
|
+
|
160
|
+
OSCRuby::Connect.post_or_patch(client,'serviceProducts',json_content)
|
161
|
+
|
162
|
+
end.to raise_error("Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings")
|
163
|
+
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'should raise an error if resource_url is nil' do
|
167
|
+
|
168
|
+
expect do
|
169
|
+
|
170
|
+
OSCRuby::Connect.post_or_patch(client, nil, json_content)
|
171
|
+
|
172
|
+
end.to raise_error("There is no URL resource provided; please specify a URL resource that you would like to send a POST or PATCH request to")
|
173
|
+
|
174
|
+
end
|
175
|
+
|
176
|
+
it 'should raise an error if json_content is nil' do
|
177
|
+
|
178
|
+
expect do
|
179
|
+
|
180
|
+
OSCRuby::Connect.post_or_patch(client,'serviceProducts')
|
181
|
+
|
182
|
+
end.to raise_error("There is no json content provided; please specify json content that you would like to send a POST or PATCH request with")
|
183
|
+
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'should produce a Net::HTTPResponse, should produce a 201 response code, and should produce a JSON Response form the response body', :vcr do
|
187
|
+
|
188
|
+
names = []
|
189
|
+
|
190
|
+
names[0] = {:labelText => 'PRODUCT-TEST', :language => {:id => 1}}
|
191
|
+
# names[1] = {:labelText => 'PRODUCT-TEST', :language => {:id => 11}}
|
192
|
+
|
193
|
+
# parent = {:id => 102}
|
194
|
+
|
195
|
+
displayOrder = {:id => 4}
|
196
|
+
|
197
|
+
admin_user_visible_interfaces = []
|
198
|
+
admin_user_visible_interfaces[0] = {:id => 1}
|
199
|
+
|
200
|
+
end_user_visible_interfaces = []
|
201
|
+
end_user_visible_interfaces[0] = {:id => 1}
|
202
|
+
|
203
|
+
new_prod = []
|
204
|
+
new_prod[0] = {:names => names,
|
205
|
+
:adminVisibleInterfaces => admin_user_visible_interfaces,
|
206
|
+
:endUserVisibleInterfaces => end_user_visible_interfaces}
|
207
|
+
|
208
|
+
test = OSCRuby::Connect.post_or_patch(client,'serviceProducts',new_prod[0])
|
209
|
+
|
210
|
+
expect(test).to be_an(Net::HTTPResponse)
|
211
|
+
|
212
|
+
expect(test.code).to eq("201")
|
213
|
+
|
214
|
+
expect(test.body).to be_an(String)
|
215
|
+
|
216
|
+
expect{JSON.parse(test.body)}.not_to raise_error
|
217
|
+
|
218
|
+
end
|
219
|
+
|
220
|
+
end
|
221
|
+
|
222
|
+
context '#get' do
|
223
|
+
|
224
|
+
it 'should take at least a config parameter that is an instance of an OSCRuby::Client', :vcr do
|
225
|
+
|
226
|
+
expect(client).to be_an(OSCRuby::Client)
|
227
|
+
|
228
|
+
expect do
|
229
|
+
|
230
|
+
OSCRuby::Connect.get(client)
|
231
|
+
|
232
|
+
end.not_to raise_error
|
233
|
+
end
|
234
|
+
|
235
|
+
|
236
|
+
it 'should raise an error if client is nil' do
|
237
|
+
|
238
|
+
expect do
|
239
|
+
|
240
|
+
client = nil
|
241
|
+
|
242
|
+
OSCRuby::Connect.get(client)
|
243
|
+
|
244
|
+
end.to raise_error("Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings")
|
245
|
+
|
246
|
+
end
|
247
|
+
|
248
|
+
it 'should produce a Net::HTTPResponse', :vcr do
|
249
|
+
|
250
|
+
test = OSCRuby::Connect.get(client)
|
251
|
+
|
252
|
+
expect(test).to be_an(Net::HTTPResponse)
|
253
|
+
|
254
|
+
end
|
255
|
+
|
256
|
+
it 'should produce a 200 response code', :vcr do
|
257
|
+
|
258
|
+
test = OSCRuby::Connect.get(client)
|
259
|
+
|
260
|
+
expect(test.code).to eq("200")
|
261
|
+
|
262
|
+
end
|
263
|
+
|
264
|
+
it 'should produce a JSON Response from the response body', :vcr do
|
265
|
+
|
266
|
+
test = OSCRuby::Connect.get(client)
|
267
|
+
|
268
|
+
expect(test.body).to be_an(String)
|
269
|
+
|
270
|
+
expect{JSON.parse(test.body)}.not_to raise_error
|
271
|
+
end
|
272
|
+
|
273
|
+
end
|
274
|
+
|
275
|
+
|
276
|
+
context '#post_or_patch' do
|
277
|
+
|
278
|
+
it 'should take an optional parameter to allow PATCH request; it should produce a Net::HTTPResponse, should produce a 200 code', :vcr do
|
279
|
+
|
280
|
+
resource = URI.escape("queryResults/?query=select id from serviceproducts where lookupname = 'PRODUCT-TEST';")
|
281
|
+
|
282
|
+
product_test = OSCRuby::Connect.get(client,resource)
|
283
|
+
|
284
|
+
prod_json = JSON.parse(product_test.body).to_hash
|
285
|
+
|
286
|
+
product_test_id = prod_json['items'][0]['rows'][0][0].to_i
|
287
|
+
|
288
|
+
names = []
|
289
|
+
|
290
|
+
names[0] = {:labelText => 'PRODUCT-TEST-updated', :language => {:id => 1}}
|
291
|
+
# names[1] = {:labelText => 'PRODUCT-TEST-updated', :language => {:id => 11}}
|
292
|
+
|
293
|
+
# parent = {:id => 102}
|
294
|
+
|
295
|
+
displayOrder = {:id => 4}
|
296
|
+
|
297
|
+
admin_user_visible_interfaces = []
|
298
|
+
admin_user_visible_interfaces[0] = {:id => 1}
|
299
|
+
|
300
|
+
end_user_visible_interfaces = []
|
301
|
+
end_user_visible_interfaces[0] = {:id => 1}
|
302
|
+
|
303
|
+
new_prod = []
|
304
|
+
new_prod[0] = {:names => names,
|
305
|
+
# :parent => parent,
|
306
|
+
:adminVisibleInterfaces => admin_user_visible_interfaces,
|
307
|
+
:endUserVisibleInterfaces => end_user_visible_interfaces}
|
308
|
+
|
309
|
+
test = OSCRuby::Connect.post_or_patch(client,"serviceProducts/#{product_test_id}",new_prod[0],true)
|
310
|
+
|
311
|
+
expect(test).to be_an(Net::HTTPResponse)
|
312
|
+
|
313
|
+
expect(test.body).to eq("")
|
314
|
+
|
315
|
+
expect(test.code).to eq("200")
|
316
|
+
|
317
|
+
end
|
318
|
+
|
319
|
+
end
|
320
|
+
|
321
|
+
context '#delete' do
|
322
|
+
|
323
|
+
it 'should raise an error if client is nil' do
|
324
|
+
|
325
|
+
expect do
|
326
|
+
|
327
|
+
client = nil
|
328
|
+
|
329
|
+
OSCRuby::Connect.delete(client)
|
330
|
+
|
331
|
+
end.to raise_error("Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings")
|
332
|
+
|
333
|
+
end
|
334
|
+
|
335
|
+
it 'should raise an error if the resource_url is not specified' do
|
336
|
+
|
337
|
+
expect do
|
338
|
+
|
339
|
+
OSCRuby::Connect.delete(client)
|
340
|
+
|
341
|
+
end.to raise_error("There is no URL resource provided; please specify a URL resource that you would like to send a POST or PATCH request to")
|
342
|
+
|
343
|
+
end
|
344
|
+
|
345
|
+
it 'it should produce a Net::HTTPResponse, should produce a 200 code', :vcr do
|
346
|
+
|
347
|
+
resource = URI.escape("queryResults/?query=select id from serviceproducts where lookupname = 'PRODUCT-TEST-updated';")
|
348
|
+
|
349
|
+
product_test_updated = OSCRuby::Connect.get(client,resource)
|
350
|
+
|
351
|
+
prod_json = JSON.parse(product_test_updated.body).to_hash
|
352
|
+
|
353
|
+
product_test_updated_id = prod_json['items'][0]['rows'][0][0].to_i
|
354
|
+
|
355
|
+
test = OSCRuby::Connect.delete(client,"serviceProducts/#{product_test_updated_id}")
|
356
|
+
|
357
|
+
expect(test).to be_an(Net::HTTPResponse)
|
358
|
+
|
359
|
+
expect(test.body).to eq("")
|
360
|
+
|
361
|
+
expect(test.code).to eq("200")
|
362
|
+
|
363
|
+
end
|
364
|
+
|
365
|
+
end
|
366
|
+
|
365
367
|
end
|