webmock 2.0.3 → 2.1.0

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/Gemfile +2 -7
  4. data/README.md +54 -53
  5. data/Rakefile +1 -1
  6. data/lib/webmock/callback_registry.rb +1 -1
  7. data/lib/webmock/http_lib_adapters/curb_adapter.rb +68 -6
  8. data/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +4 -4
  9. data/lib/webmock/http_lib_adapters/excon_adapter.rb +9 -9
  10. data/lib/webmock/http_lib_adapters/http_rb/request.rb +2 -2
  11. data/lib/webmock/http_lib_adapters/http_rb/response.rb +5 -5
  12. data/lib/webmock/http_lib_adapters/http_rb/webmock.rb +3 -3
  13. data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +5 -5
  14. data/lib/webmock/http_lib_adapters/manticore_adapter.rb +7 -7
  15. data/lib/webmock/http_lib_adapters/net_http.rb +3 -3
  16. data/lib/webmock/http_lib_adapters/patron_adapter.rb +4 -4
  17. data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +14 -14
  18. data/lib/webmock/matchers/hash_including_matcher.rb +1 -1
  19. data/lib/webmock/rack_response.rb +3 -3
  20. data/lib/webmock/request_pattern.rb +8 -8
  21. data/lib/webmock/request_stub.rb +5 -5
  22. data/lib/webmock/util/uri.rb +2 -2
  23. data/lib/webmock/version.rb +1 -1
  24. data/minitest/webmock_spec.rb +3 -3
  25. data/spec/acceptance/curb/curb_spec.rb +64 -47
  26. data/spec/acceptance/curb/curb_spec_helper.rb +4 -4
  27. data/spec/acceptance/em_http_request/em_http_request_spec.rb +32 -32
  28. data/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +9 -9
  29. data/spec/acceptance/excon/excon_spec.rb +14 -14
  30. data/spec/acceptance/excon/excon_spec_helper.rb +6 -6
  31. data/spec/acceptance/http_rb/http_rb_spec.rb +1 -1
  32. data/spec/acceptance/http_rb/http_rb_spec_helper.rb +7 -7
  33. data/spec/acceptance/httpclient/httpclient_spec.rb +20 -20
  34. data/spec/acceptance/httpclient/httpclient_spec_helper.rb +5 -5
  35. data/spec/acceptance/manticore/manticore_spec.rb +11 -11
  36. data/spec/acceptance/manticore/manticore_spec_helper.rb +3 -3
  37. data/spec/acceptance/net_http/net_http_shared.rb +4 -4
  38. data/spec/acceptance/net_http/net_http_spec.rb +25 -25
  39. data/spec/acceptance/net_http/net_http_spec_helper.rb +4 -4
  40. data/spec/acceptance/net_http/real_net_http_spec.rb +1 -1
  41. data/spec/acceptance/patron/patron_spec.rb +10 -10
  42. data/spec/acceptance/patron/patron_spec_helper.rb +5 -5
  43. data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +36 -36
  44. data/spec/acceptance/shared/callbacks.rb +11 -11
  45. data/spec/acceptance/shared/complex_cross_concern_behaviors.rb +5 -5
  46. data/spec/acceptance/shared/enabling_and_disabling_webmock.rb +4 -4
  47. data/spec/acceptance/shared/precedence_of_stubs.rb +4 -4
  48. data/spec/acceptance/shared/request_expectations.rb +90 -90
  49. data/spec/acceptance/shared/returning_declared_responses.rb +49 -49
  50. data/spec/acceptance/shared/stubbing_requests.rb +78 -78
  51. data/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +11 -11
  52. data/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +8 -8
  53. data/spec/spec_helper.rb +6 -3
  54. data/spec/support/webmock_server.rb +1 -1
  55. data/spec/unit/api_spec.rb +2 -2
  56. data/spec/unit/errors_spec.rb +3 -3
  57. data/spec/unit/matchers/hash_including_matcher_spec.rb +16 -16
  58. data/spec/unit/rack_response_spec.rb +2 -2
  59. data/spec/unit/request_body_diff_spec.rb +1 -1
  60. data/spec/unit/request_execution_verifier_spec.rb +1 -1
  61. data/spec/unit/request_pattern_spec.rb +115 -115
  62. data/spec/unit/request_signature_snippet_spec.rb +2 -2
  63. data/spec/unit/request_signature_spec.rb +16 -16
  64. data/spec/unit/request_stub_spec.rb +20 -20
  65. data/spec/unit/response_spec.rb +28 -28
  66. data/spec/unit/stub_registry_spec.rb +10 -10
  67. data/spec/unit/stub_request_snippet_spec.rb +6 -6
  68. data/spec/unit/util/hash_keys_stringifier_spec.rb +4 -4
  69. data/spec/unit/util/query_mapper_spec.rb +2 -2
  70. data/spec/unit/util/uri_spec.rb +1 -1
  71. data/test/http_request.rb +3 -3
  72. data/test/shared_test.rb +6 -6
  73. data/webmock.gemspec +4 -2
  74. metadata +32 -4
@@ -14,8 +14,8 @@ module WebMock
14
14
  NORMALIZED_URIS = Hash.new do |hash, uri|
15
15
  normalized_uri = WebMock::Util::URI.heuristic_parse(uri)
16
16
  if normalized_uri.query_values
17
- sorted_query_values = sort_query_values(WebMock::Util::QueryMapper.query_to_values(normalized_uri.query, :notation => Config.instance.query_values_notation) || {})
18
- normalized_uri.query = WebMock::Util::QueryMapper.values_to_query(sorted_query_values, :notation => WebMock::Config.instance.query_values_notation)
17
+ sorted_query_values = sort_query_values(WebMock::Util::QueryMapper.query_to_values(normalized_uri.query, notation: Config.instance.query_values_notation) || {})
18
+ normalized_uri.query = WebMock::Util::QueryMapper.values_to_query(sorted_query_values, notation: WebMock::Config.instance.query_values_notation)
19
19
  end
20
20
  normalized_uri = normalized_uri.normalize #normalize! is slower
21
21
  normalized_uri.query = normalized_uri.query.gsub("+", "%2B") if normalized_uri.query
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '2.0.3' unless defined?(::WebMock::VERSION)
2
+ VERSION = '2.1.0' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -25,20 +25,20 @@ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
25
25
 
26
26
  it "should verify that expected request occured" do
27
27
  http_request(:get, "http://www.example.com/")
28
- assert_requested(:get, "http://www.example.com", :times => 1)
28
+ assert_requested(:get, "http://www.example.com", times: 1)
29
29
  assert_requested(:get, "http://www.example.com")
30
30
  end
31
31
 
32
32
  it "should verify that expected http stub occured" do
33
33
  http_request(:get, "http://www.example.com/")
34
- assert_requested(@stub_http, :times => 1)
34
+ assert_requested(@stub_http, times: 1)
35
35
  assert_requested(@stub_http)
36
36
  end
37
37
 
38
38
  it "should verify that expected https stub occured" do
39
39
  http_request(:get, "https://www.example.com/")
40
40
  http_request(:get, "https://www.example.com/")
41
- assert_requested(@stub_https, :times => 2)
41
+ assert_requested(@stub_https, times: 2)
42
42
  end
43
43
 
44
44
  it "should verify that expect request didn't occur" do
@@ -11,8 +11,8 @@ unless RUBY_PLATFORM =~ /java/
11
11
 
12
12
  describe "when doing PUTs" do
13
13
  it "should stub them" do
14
- stub_request(:put, "www.example.com").with(:body => "01234")
15
- expect(http_request(:put, "http://www.example.com", :body => "01234").
14
+ stub_request(:put, "www.example.com").with(body: "01234")
15
+ expect(http_request(:put, "http://www.example.com", body: "01234").
16
16
  status).to eq("200")
17
17
  end
18
18
  end
@@ -30,9 +30,26 @@ unless RUBY_PLATFORM =~ /java/
30
30
  @curl.url = "http://example.com"
31
31
  end
32
32
 
33
+ describe 'on_debug' do
34
+ it "should call on_debug" do
35
+ stub_request(:any, "example.com").
36
+ to_return(status: 200, headers: { 'Server' => 'nginx' }, body: { hello: :world }.to_json)
37
+
38
+ test = []
39
+
40
+ @curl.on_debug do |message, operation|
41
+ test << "#{operation} -> #{message}"
42
+ end
43
+ @curl.headers['Content-Type'] = 'application/json'
44
+ @curl.http_post({ hello: :world }.to_json)
45
+
46
+ expect(test).to_not be_empty
47
+ end
48
+ end
49
+
33
50
  it "should call on_success with 2xx response" do
34
51
  body = "on_success fired"
35
- stub_request(:any, "example.com").to_return(:body => body)
52
+ stub_request(:any, "example.com").to_return(body: body)
36
53
 
37
54
  test = nil
38
55
  @curl.on_success do |c|
@@ -45,7 +62,7 @@ unless RUBY_PLATFORM =~ /java/
45
62
  it "should call on_missing with 4xx response" do
46
63
  response_code = 403
47
64
  stub_request(:any, "example.com").
48
- to_return(:status => [response_code, "None shall pass"])
65
+ to_return(status: [response_code, "None shall pass"])
49
66
 
50
67
  test = nil
51
68
  @curl.on_missing do |c, code|
@@ -58,7 +75,7 @@ unless RUBY_PLATFORM =~ /java/
58
75
  it "should call on_failure with 5xx response" do
59
76
  response_code = 599
60
77
  stub_request(:any, "example.com").
61
- to_return(:status => [response_code, "Server On Fire"])
78
+ to_return(status: [response_code, "Server On Fire"])
62
79
 
63
80
  test = nil
64
81
  @curl.on_failure do |c, code|
@@ -71,7 +88,7 @@ unless RUBY_PLATFORM =~ /java/
71
88
  it "should call on_body when response body is read" do
72
89
  body = "on_body fired"
73
90
  stub_request(:any, "example.com").
74
- to_return(:body => body)
91
+ to_return(body: body)
75
92
 
76
93
  test = nil
77
94
  @curl.on_body do |data|
@@ -83,8 +100,8 @@ unless RUBY_PLATFORM =~ /java/
83
100
 
84
101
  it "should call on_body for each chunk with chunked response" do
85
102
  stub_request(:any, "example.com").
86
- to_return(:body => ["first_chunk", "second_chunk"],
87
- :headers => {"Transfer-Encoding" => "chunked"})
103
+ to_return(body: ["first_chunk", "second_chunk"],
104
+ headers: {"Transfer-Encoding" => "chunked"})
88
105
 
89
106
  test = []
90
107
  @curl.on_body do |data|
@@ -96,7 +113,7 @@ unless RUBY_PLATFORM =~ /java/
96
113
 
97
114
  it "should call on_header when response headers are read" do
98
115
  stub_request(:any, "example.com").
99
- to_return(:headers => {:one => 1})
116
+ to_return(headers: {one: 1})
100
117
 
101
118
  test = []
102
119
  @curl.on_header do |data|
@@ -111,7 +128,7 @@ unless RUBY_PLATFORM =~ /java/
111
128
 
112
129
  it "should call on_complete when request is complete" do
113
130
  body = "on_complete fired"
114
- stub_request(:any, "example.com").to_return(:body => body)
131
+ stub_request(:any, "example.com").to_return(body: body)
115
132
 
116
133
  test = nil
117
134
  @curl.on_complete do |curl|
@@ -122,7 +139,7 @@ unless RUBY_PLATFORM =~ /java/
122
139
  end
123
140
 
124
141
  it "should call on_progress when portion of response body is read" do
125
- stub_request(:any, "example.com").to_return(:body => "01234")
142
+ stub_request(:any, "example.com").to_return(body: "01234")
126
143
 
127
144
  test = nil
128
145
  @curl.on_progress do |*args|
@@ -150,7 +167,7 @@ unless RUBY_PLATFORM =~ /java/
150
167
  end
151
168
 
152
169
  it "should call callbacks in correct order on failed request" do
153
- stub_request(:any, "example.com").to_return(:status => [500, ""])
170
+ stub_request(:any, "example.com").to_return(status: [500, ""])
154
171
  order = []
155
172
  @curl.on_success {|*args| order << :on_success }
156
173
  @curl.on_missing {|*args| order << :on_missing }
@@ -165,7 +182,7 @@ unless RUBY_PLATFORM =~ /java/
165
182
  end
166
183
 
167
184
  it "should call callbacks in correct order on missing request" do
168
- stub_request(:any, "example.com").to_return(:status => [403, ""])
185
+ stub_request(:any, "example.com").to_return(status: [403, ""])
169
186
  order = []
170
187
  @curl.on_success {|*args| order << :on_success }
171
188
  @curl.on_missing {|*args| order << :on_missing }
@@ -191,9 +208,9 @@ unless RUBY_PLATFORM =~ /java/
191
208
 
192
209
  it 'should be the same as #url even with a location header' do
193
210
  stub_request(:any, 'example.com').
194
- to_return(:body => "abc",
195
- :status => 302,
196
- :headers => { 'Location' => 'http://www.example.com' })
211
+ to_return(body: "abc",
212
+ status: 302,
213
+ headers: { 'Location' => 'http://www.example.com' })
197
214
 
198
215
  @curl.http_get
199
216
  expect(@curl.last_effective_url).to eq('http://example.com')
@@ -211,7 +228,7 @@ unless RUBY_PLATFORM =~ /java/
211
228
 
212
229
  it 'should be the value of the location header when present' do
213
230
  stub_request(:any, 'example.com').
214
- to_return(:headers => { 'Location' => 'http://www.example.com' })
231
+ to_return(headers: { 'Location' => 'http://www.example.com' })
215
232
  stub_request(:any, 'www.example.com')
216
233
 
217
234
  @curl.http_get
@@ -220,9 +237,9 @@ unless RUBY_PLATFORM =~ /java/
220
237
 
221
238
  it 'should work with more than one redirect' do
222
239
  stub_request(:any, 'example.com').
223
- to_return(:headers => { 'Location' => 'http://www.example.com' })
240
+ to_return(headers: { 'Location' => 'http://www.example.com' })
224
241
  stub_request(:any, 'www.example.com').
225
- to_return(:headers => { 'Location' => 'http://blog.example.com' })
242
+ to_return(headers: { 'Location' => 'http://blog.example.com' })
226
243
  stub_request(:any, 'blog.example.com')
227
244
 
228
245
  @curl.http_get
@@ -231,7 +248,7 @@ unless RUBY_PLATFORM =~ /java/
231
248
 
232
249
  it 'should maintain the original url' do
233
250
  stub_request(:any, 'example.com').
234
- to_return(:headers => { 'Location' => 'http://www.example.com' })
251
+ to_return(headers: { 'Location' => 'http://www.example.com' })
235
252
  stub_request(:any, 'www.example.com')
236
253
 
237
254
  @curl.http_get
@@ -240,10 +257,10 @@ unless RUBY_PLATFORM =~ /java/
240
257
 
241
258
  it 'should have the redirected-to attrs (body, response code)' do
242
259
  stub_request(:any, 'example.com').
243
- to_return(:body => 'request A',
244
- :status => 302,
245
- :headers => { 'Location' => 'http://www.example.com' })
246
- stub_request(:any, 'www.example.com').to_return(:body => 'request B')
260
+ to_return(body: 'request A',
261
+ status: 302,
262
+ headers: { 'Location' => 'http://www.example.com' })
263
+ stub_request(:any, 'www.example.com').to_return(body: 'request B')
247
264
 
248
265
  @curl.http_get
249
266
  expect(@curl.body_str).to eq('request B')
@@ -252,10 +269,10 @@ unless RUBY_PLATFORM =~ /java/
252
269
 
253
270
  it 'should follow more than one redirect' do
254
271
  stub_request(:any, 'example.com').
255
- to_return(:headers => { 'Location' => 'http://www.example.com' })
272
+ to_return(headers: { 'Location' => 'http://www.example.com' })
256
273
  stub_request(:any, 'www.example.com').
257
- to_return(:headers => { 'Location' => 'http://blog.example.com' })
258
- stub_request(:any, 'blog.example.com').to_return(:body => 'blog post')
274
+ to_return(headers: { 'Location' => 'http://blog.example.com' })
275
+ stub_request(:any, 'blog.example.com').to_return(body: 'blog post')
259
276
 
260
277
  @curl.http_get
261
278
  expect(@curl.url).to eq('http://example.com')
@@ -275,9 +292,9 @@ unless RUBY_PLATFORM =~ /java/
275
292
  content_type = "application/json"
276
293
 
277
294
  stub_request(:any, 'example.com').
278
- to_return(:body => "abc",
279
- :status => 200,
280
- :headers => { 'Content-Type' => content_type })
295
+ to_return(body: "abc",
296
+ status: 200,
297
+ headers: { 'Content-Type' => content_type })
281
298
 
282
299
  @curl.http_get
283
300
  expect(@curl.content_type).to eq(content_type)
@@ -288,8 +305,8 @@ unless RUBY_PLATFORM =~ /java/
288
305
  it "returns nil for content_type" do
289
306
 
290
307
  stub_request(:any, 'example.com').
291
- to_return(:body => "abc",
292
- :status => 200 )
308
+ to_return(body: "abc",
309
+ status: 200 )
293
310
 
294
311
  @curl.http_get
295
312
  expect(@curl.content_type).to be_nil
@@ -305,9 +322,9 @@ unless RUBY_PLATFORM =~ /java/
305
322
 
306
323
  it "is true when Transfer-Encoding is 'chunked' and body responds to each" do
307
324
  stub_request(:any, 'example.com').
308
- to_return(:body => ["abc", "def"],
309
- :status => 200,
310
- :headers => { 'Transfer-Encoding' => 'chunked' })
325
+ to_return(body: ["abc", "def"],
326
+ status: 200,
327
+ headers: { 'Transfer-Encoding' => 'chunked' })
311
328
 
312
329
  @curl.http_get
313
330
  expect(@curl).to be_chunked_response
@@ -315,8 +332,8 @@ unless RUBY_PLATFORM =~ /java/
315
332
 
316
333
  it "is false when Transfer-Encoding is not 'chunked'" do
317
334
  stub_request(:any, 'example.com').
318
- to_return(:body => ["abc", "def"],
319
- :status => 200)
335
+ to_return(body: ["abc", "def"],
336
+ status: 200)
320
337
 
321
338
  @curl.http_get
322
339
  expect(@curl).not_to be_chunked_response
@@ -324,8 +341,8 @@ unless RUBY_PLATFORM =~ /java/
324
341
 
325
342
  it "is false when Transfer-Encoding is 'chunked' but body does not respond to each" do
326
343
  stub_request(:any, 'example.com').
327
- to_return(:body => "abc",
328
- :status => 200)
344
+ to_return(body: "abc",
345
+ status: 200)
329
346
 
330
347
  @curl.http_get
331
348
  expect(@curl).not_to be_chunked_response
@@ -339,7 +356,7 @@ unless RUBY_PLATFORM =~ /java/
339
356
  include CurbSpecHelper::DynamicHttp
340
357
 
341
358
  it "should work with uppercase arguments" do
342
- stub_request(:get, "www.example.com").to_return(:body => "abc")
359
+ stub_request(:get, "www.example.com").to_return(body: "abc")
343
360
 
344
361
  c = Curl::Easy.new
345
362
  c.url = "http://www.example.com"
@@ -348,7 +365,7 @@ unless RUBY_PLATFORM =~ /java/
348
365
  end
349
366
 
350
367
  it "should alias body to body_str" do
351
- stub_request(:get, "www.example.com").to_return(:body => "abc")
368
+ stub_request(:get, "www.example.com").to_return(body: "abc")
352
369
 
353
370
  c = Curl::Easy.new
354
371
  c.url = "http://www.example.com"
@@ -357,7 +374,7 @@ unless RUBY_PLATFORM =~ /java/
357
374
  end
358
375
 
359
376
  it "supports array headers passed to Curl::Easy" do
360
- stub_request(:get, "www.example.com").with(headers: {'X-One' => '1'}).to_return(:body => "abc")
377
+ stub_request(:get, "www.example.com").with(headers: {'X-One' => '1'}).to_return(body: "abc")
361
378
 
362
379
  c = Curl::Easy.new
363
380
  c.url = "http://www.example.com"
@@ -372,7 +389,7 @@ unless RUBY_PLATFORM =~ /java/
372
389
  include CurbSpecHelper::NamedHttp
373
390
 
374
391
  it "should work with blank arguments for post" do
375
- stub_request(:post, "www.example.com").with(:body => "01234")
392
+ stub_request(:post, "www.example.com").with(body: "01234")
376
393
  c = Curl::Easy.new
377
394
  c.url = "http://www.example.com"
378
395
  c.post_body = "01234"
@@ -381,13 +398,13 @@ unless RUBY_PLATFORM =~ /java/
381
398
  end
382
399
 
383
400
  it "should work with several body arguments for post using the class method" do
384
- stub_request(:post, "www.example.com").with(:body => {:user => {:first_name=>'Bartosz', :last_name=>'Blimke'}})
401
+ stub_request(:post, "www.example.com").with(body: {user: {first_name: 'Bartosz', last_name: 'Blimke'}})
385
402
  c = Curl::Easy.http_post "http://www.example.com", 'user[first_name]=Bartosz', 'user[last_name]=Blimke'
386
403
  expect(c.response_code).to eq(200)
387
404
  end
388
405
 
389
406
  it "should work with blank arguments for put" do
390
- stub_request(:put, "www.example.com").with(:body => "01234")
407
+ stub_request(:put, "www.example.com").with(body: "01234")
391
408
  c = Curl::Easy.new
392
409
  c.url = "http://www.example.com"
393
410
  c.put_data = "01234"
@@ -396,9 +413,9 @@ unless RUBY_PLATFORM =~ /java/
396
413
  end
397
414
 
398
415
  it "should work with multiple arguments for post" do
399
- data = { :name => "john", :address => "111 example ave" }
416
+ data = { name: "john", address: "111 example ave" }
400
417
 
401
- stub_request(:post, "www.example.com").with(:body => data)
418
+ stub_request(:post, "www.example.com").with(body: data)
402
419
  c = Curl::Easy.new
403
420
  c.url = "http://www.example.com"
404
421
  c.http_post Curl::PostField.content('name', data[:name]), Curl::PostField.content('address', data[:address])
@@ -21,10 +21,10 @@ module CurbSpecHelper
21
21
  end
22
22
 
23
23
  OpenStruct.new(
24
- :body => curl.body_str,
25
- :headers => WebMock::Util::Headers.normalize_headers(response_headers),
26
- :status => curl.response_code.to_s,
27
- :message => status
24
+ body: curl.body_str,
25
+ headers: WebMock::Util::Headers.normalize_headers(response_headers),
26
+ status: curl.response_code.to_s,
27
+ message: status
28
28
  )
29
29
  end
30
30
 
@@ -13,7 +13,7 @@ unless RUBY_PLATFORM =~ /java/
13
13
 
14
14
  #functionality only supported for em-http-request 1.x
15
15
  if defined?(EventMachine::HttpConnection)
16
- context 'when a real request is made and redirects are followed', :net_connect => true do
16
+ context 'when a real request is made and redirects are followed', net_connect: true do
17
17
  before { WebMock.allow_net_connect! }
18
18
 
19
19
  # This url redirects to the https URL.
@@ -22,7 +22,7 @@ unless RUBY_PLATFORM =~ /java/
22
22
 
23
23
  def make_request
24
24
  EM.run do
25
- request = EM::HttpRequest.new(http_url).get(:redirects => 1)
25
+ request = EM::HttpRequest.new(http_url).get(redirects: 1)
26
26
  request.callback { EM.stop }
27
27
  end
28
28
  end
@@ -49,7 +49,7 @@ unless RUBY_PLATFORM =~ /java/
49
49
  describe "with middleware" do
50
50
 
51
51
  it "should work with request middleware" do
52
- stub_request(:get, "www.example.com").with(:body => 'bar')
52
+ stub_request(:get, "www.example.com").with(body: 'bar')
53
53
 
54
54
  middleware = Class.new do
55
55
  def request(client, head, body)
@@ -62,10 +62,10 @@ unless RUBY_PLATFORM =~ /java/
62
62
 
63
63
  conn.use middleware
64
64
 
65
- http = conn.get(:body => 'foo')
65
+ http = conn.get(body: 'foo')
66
66
 
67
67
  http.callback do
68
- expect(WebMock).to have_requested(:get, "www.example.com").with(:body => 'bar')
68
+ expect(WebMock).to have_requested(:get, "www.example.com").with(body: 'bar')
69
69
  EM.stop
70
70
  end
71
71
  end
@@ -80,7 +80,7 @@ unless RUBY_PLATFORM =~ /java/
80
80
  end
81
81
 
82
82
  it "should work with response middleware" do
83
- stub_request(:get, "www.example.com").to_return(:body => 'foo')
83
+ stub_request(:get, "www.example.com").to_return(body: 'foo')
84
84
 
85
85
  EM.run do
86
86
  conn = EventMachine::HttpRequest.new('http://www.example.com/')
@@ -116,13 +116,13 @@ unless RUBY_PLATFORM =~ /java/
116
116
  end
117
117
  end
118
118
 
119
- context 'making a real request', :net_connect => true do
119
+ context 'making a real request', net_connect: true do
120
120
  before { WebMock.allow_net_connect! }
121
121
  include_examples "em-http-request middleware/after_request hook integration"
122
122
  end
123
123
 
124
124
  context 'when the request is stubbed' do
125
- before { stub_request(:get, webmock_server_url).to_return(:body => 'hello world') }
125
+ before { stub_request(:get, webmock_server_url).to_return(body: 'hello world') }
126
126
  include_examples "em-http-request middleware/after_request hook integration"
127
127
  end
128
128
  end
@@ -160,11 +160,11 @@ unless RUBY_PLATFORM =~ /java/
160
160
  end
161
161
 
162
162
  it "should work" do
163
- stub_request(:post, /.*.testserver.com*/).to_return(:status => 200, :body => 'ok')
163
+ stub_request(:post, /.*.testserver.com*/).to_return(status: 200, body: 'ok')
164
164
  expect {
165
165
  EM.run do
166
166
  fiber = Fiber.new do
167
- EM::HttpRequest.new("http://www.testserver.com").post :body => "foo=bar&baz=bang", :timeout => 60
167
+ EM::HttpRequest.new("http://www.testserver.com").post body: "foo=bar&baz=bang", timeout: 60
168
168
  EM.stop
169
169
  end
170
170
  fiber.resume
@@ -187,7 +187,7 @@ unless RUBY_PLATFORM =~ /java/
187
187
  end
188
188
 
189
189
  it "should work with streaming" do
190
- stub_request(:get, "www.example.com").to_return(:body => "abc")
190
+ stub_request(:get, "www.example.com").to_return(body: "abc")
191
191
  response = ""
192
192
  EM.run {
193
193
  http = EventMachine::HttpRequest.new('http://www.example.com/').get
@@ -197,41 +197,41 @@ unless RUBY_PLATFORM =~ /java/
197
197
  end
198
198
 
199
199
  it "should work with responses that use chunked transfer encoding" do
200
- stub_request(:get, "www.example.com").to_return(:body => "abc", :headers => { 'Transfer-Encoding' => 'chunked' })
200
+ stub_request(:get, "www.example.com").to_return(body: "abc", headers: { 'Transfer-Encoding' => 'chunked' })
201
201
  expect(http_request(:get, "http://www.example.com").body).to eq("abc")
202
202
  end
203
203
 
204
204
  it "should work with optional query params" do
205
- stub_request(:get, "www.example.com/?x=3&a[]=b&a[]=c").to_return(:body => "abc")
206
- expect(http_request(:get, "http://www.example.com/?x=3", :query => {"a" => ["b", "c"]}).body).to eq("abc")
205
+ stub_request(:get, "www.example.com/?x=3&a[]=b&a[]=c").to_return(body: "abc")
206
+ expect(http_request(:get, "http://www.example.com/?x=3", query: {"a" => ["b", "c"]}).body).to eq("abc")
207
207
  end
208
208
 
209
209
  it "should work with optional query params declared as string" do
210
- stub_request(:get, "www.example.com/?x=3&a[]=b&a[]=c").to_return(:body => "abc")
211
- expect(http_request(:get, "http://www.example.com/?x=3", :query => "a[]=b&a[]=c").body).to eq("abc")
210
+ stub_request(:get, "www.example.com/?x=3&a[]=b&a[]=c").to_return(body: "abc")
211
+ expect(http_request(:get, "http://www.example.com/?x=3", query: "a[]=b&a[]=c").body).to eq("abc")
212
212
  end
213
213
 
214
214
  it "should work when the body is passed as a Hash" do
215
- stub_request(:post, "www.example.com").with(:body => {:a => "1", :b => "2"}).to_return(:body => "ok")
216
- expect(http_request(:post, "http://www.example.com", :body => {:a => "1", :b => "2"}).body).to eq("ok")
215
+ stub_request(:post, "www.example.com").with(body: {a: "1", b: "2"}).to_return(body: "ok")
216
+ expect(http_request(:post, "http://www.example.com", body: {a: "1", b: "2"}).body).to eq("ok")
217
217
  end
218
218
 
219
219
  if defined?(EventMachine::HttpConnection)
220
220
  it "should work when a file is passed as body" do
221
- stub_request(:post, "www.example.com").with(:body => File.read(__FILE__)).to_return(:body => "ok")
222
- expect(http_request(:post, "http://www.example.com", :file => __FILE__).body).to eq("ok")
221
+ stub_request(:post, "www.example.com").with(body: File.read(__FILE__)).to_return(body: "ok")
222
+ expect(http_request(:post, "http://www.example.com", file: __FILE__).body).to eq("ok")
223
223
  end
224
224
  end
225
225
 
226
226
  it "should work with UTF-8 strings" do
227
227
  body = "Привет, Мир!"
228
- stub_request(:post, "www.example.com").to_return(:body => body)
228
+ stub_request(:post, "www.example.com").to_return(body: body)
229
229
  expect(http_request(:post, "http://www.example.com").body.bytesize).to eq(body.bytesize)
230
230
  end
231
231
 
232
232
  it "should work with multiple requests to the same connection" do
233
- stub_request(:get, "www.example.com/foo").to_return(:body => "bar")
234
- stub_request(:get, "www.example.com/baz").to_return(:body => "wombat")
233
+ stub_request(:get, "www.example.com/foo").to_return(body: "bar")
234
+ stub_request(:get, "www.example.com/baz").to_return(body: "wombat")
235
235
  err1 = nil
236
236
  err2 = nil
237
237
  body1 = nil
@@ -240,7 +240,7 @@ unless RUBY_PLATFORM =~ /java/
240
240
 
241
241
  EM.run do
242
242
  conn = EM::HttpRequest.new("http://www.example.com")
243
- conn.get(:path => "/foo").callback do |resp|
243
+ conn.get(path: "/foo").callback do |resp|
244
244
  body1 = resp.response
245
245
  i += 1; EM.stop if i == 2
246
246
  end.errback do |resp|
@@ -248,7 +248,7 @@ unless RUBY_PLATFORM =~ /java/
248
248
  i += 1; EM.stop if i == 2
249
249
  end
250
250
 
251
- conn.get(:path => "/baz").callback do |resp|
251
+ conn.get(path: "/baz").callback do |resp|
252
252
  body2 = resp.response
253
253
  i += 1; EM.stop if i == 2
254
254
  end.errback do |resp|
@@ -264,17 +264,17 @@ unless RUBY_PLATFORM =~ /java/
264
264
  end
265
265
 
266
266
  it "should work with multiple requests to the same connection when the first request times out" do
267
- stub_request(:get, "www.example.com/foo").to_timeout.then.to_return(:status => 200, :body => "wombat")
267
+ stub_request(:get, "www.example.com/foo").to_timeout.then.to_return(status: 200, body: "wombat")
268
268
  err = nil
269
269
  body = nil
270
270
 
271
271
  EM.run do
272
272
  conn = EM::HttpRequest.new("http://www.example.com")
273
- conn.get(:path => "/foo").callback do |resp|
273
+ conn.get(path: "/foo").callback do |resp|
274
274
  err = :success_from_timeout
275
275
  EM.stop
276
276
  end.errback do |resp|
277
- conn.get(:path => "/foo").callback do |retry_resp|
277
+ conn.get(path: "/foo").callback do |retry_resp|
278
278
  expect(retry_resp.response_header.status).to eq(200)
279
279
  body = retry_resp.response
280
280
  EM.stop
@@ -319,7 +319,7 @@ unless RUBY_PLATFORM =~ /java/
319
319
 
320
320
  context "with a query" do
321
321
  let(:uri) { "http://www.example.com/?a=1&b=2" }
322
- subject { client("http://www.example.com/?a=1", :query => { 'b' => 2 }) }
322
+ subject { client("http://www.example.com/?a=1", query: { 'b' => 2 }) }
323
323
 
324
324
  it "#request_signature doesn't mutate the original uri" do
325
325
  expect(subject.uri).to eq(Addressable::URI.parse("http://www.example.com/?a=1"))
@@ -333,9 +333,9 @@ unless RUBY_PLATFORM =~ /java/
333
333
  before(:each) do
334
334
  stub_request(:get, "http://example.org/").
335
335
  to_return(
336
- :status => 200,
337
- :body => "",
338
- :headers => { 'Set-Cookie' => cookie_string }
336
+ status: 200,
337
+ body: "",
338
+ headers: { 'Set-Cookie' => cookie_string }
339
339
  )
340
340
  end
341
341