webmock 0.9.1 → 1.0.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.
- data/CHANGELOG.md +47 -2
- data/README.md +68 -6
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/webmock.rb +2 -2
- data/lib/webmock/adapters/rspec.rb +1 -1
- data/lib/webmock/adapters/rspec/matchers.rb +2 -2
- data/lib/webmock/adapters/rspec/{request_profile_matcher.rb → request_pattern_matcher.rb} +5 -5
- data/lib/webmock/adapters/rspec/webmock_matcher.rb +2 -2
- data/lib/webmock/config.rb +2 -1
- data/lib/webmock/http_lib_adapters/httpclient.rb +5 -4
- data/lib/webmock/http_lib_adapters/net_http.rb +5 -3
- data/lib/webmock/http_lib_adapters/patron.rb +82 -0
- data/lib/webmock/request_execution_verifier.rb +8 -8
- data/lib/webmock/request_pattern.rb +130 -0
- data/lib/webmock/request_registry.rb +4 -9
- data/lib/webmock/request_signature.rb +18 -37
- data/lib/webmock/request_stub.rb +17 -6
- data/lib/webmock/response.rb +87 -31
- data/lib/webmock/util/headers.rb +5 -0
- data/lib/webmock/webmock.rb +10 -6
- data/spec/httpclient_spec.rb +0 -1
- data/spec/httpclient_spec_helper.rb +11 -1
- data/spec/net_http_spec.rb +8 -1
- data/spec/net_http_spec_helper.rb +11 -1
- data/spec/patron_spec.rb +83 -0
- data/spec/patron_spec_helper.rb +44 -0
- data/spec/request_execution_verifier_spec.rb +8 -8
- data/spec/request_pattern_spec.rb +243 -0
- data/spec/request_registry_spec.rb +34 -19
- data/spec/request_signature_spec.rb +23 -191
- data/spec/request_stub_spec.rb +32 -11
- data/spec/response_spec.rb +98 -5
- data/spec/spec_helper.rb +8 -16
- data/spec/webmock_spec.rb +154 -49
- data/webmock.gemspec +14 -7
- metadata +21 -7
- data/lib/webmock/request.rb +0 -29
- data/lib/webmock/request_profile.rb +0 -50
- data/spec/request_profile_spec.rb +0 -68
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'httpclient'
|
3
|
+
require 'patron' unless RUBY_PLATFORM =~ /java/
|
4
|
+
|
3
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
4
6
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
5
7
|
require 'spec'
|
@@ -29,7 +31,7 @@ def setup_expectations_for_real_example_com_request(options = {})
|
|
29
31
|
defaults = { :host => "www.example.com", :port => 80, :method => "GET",
|
30
32
|
:path => "/",
|
31
33
|
:response_code => 200, :response_message => "OK",
|
32
|
-
:response_body => "<title>
|
34
|
+
:response_body => "<title>example</title>" }
|
33
35
|
setup_expectations_for_real_request(defaults.merge(options))
|
34
36
|
end
|
35
37
|
|
@@ -38,23 +40,13 @@ def client_specific_request_string(string)
|
|
38
40
|
has_body = string.include?(" with body")
|
39
41
|
default_headers = default_client_request_headers(method, has_body)
|
40
42
|
if default_headers
|
41
|
-
|
42
|
-
default_headers_string.gsub!(/[{}]/, "")
|
43
|
-
if string.include?(" with headers")
|
43
|
+
if string.include?(" with headers")
|
44
44
|
current_headers = JSON.parse(string.gsub(/.*with headers (\{[^}]+\}).*/, '\1').gsub("=>",":").gsub("'","\""))
|
45
45
|
default_headers = WebMock::Util::Headers.normalize_headers(default_headers)
|
46
|
-
default_headers.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
else
|
51
|
-
headers_string =
|
52
|
-
" with headers #{WebMock::Util::Headers.normalize_headers(default_headers).inspect.gsub("\"","'")}"
|
53
|
-
string << headers_string
|
54
|
-
end
|
46
|
+
default_headers.merge!(current_headers)
|
47
|
+
string.gsub!(/(.*) with headers.*/,'\1')
|
48
|
+
end
|
49
|
+
string << " with headers #{WebMock::Util::Headers.sorted_headers_string(default_headers)}"
|
55
50
|
end
|
56
51
|
string
|
57
52
|
end
|
58
|
-
|
59
|
-
|
60
|
-
|
data/spec/webmock_spec.rb
CHANGED
@@ -24,13 +24,17 @@ describe "WebMock", :shared => true do
|
|
24
24
|
it "should make a real web request if request is not stubbed" do
|
25
25
|
setup_expectations_for_real_example_com_request
|
26
26
|
http_request(:get, "http://www.example.com/").
|
27
|
-
body.should =~ /.*
|
27
|
+
body.should =~ /.*example.*/
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should make a real https request if request is not stubbed" do
|
31
|
-
setup_expectations_for_real_example_com_request(
|
32
|
-
|
33
|
-
|
31
|
+
setup_expectations_for_real_example_com_request(
|
32
|
+
:host => "www.paypal.com",
|
33
|
+
:port => 443,
|
34
|
+
:response_body => "hello paypal"
|
35
|
+
)
|
36
|
+
http_request(:get, "https://www.paypal.com/").
|
37
|
+
body.should =~ /.*paypal.*/
|
34
38
|
end
|
35
39
|
|
36
40
|
it "should return stubbed response if request was stubbed" do
|
@@ -56,6 +60,28 @@ describe "WebMock", :shared => true do
|
|
56
60
|
end
|
57
61
|
end
|
58
62
|
|
63
|
+
describe "is not allowed with exception for localhost" do
|
64
|
+
before(:each) do
|
65
|
+
WebMock.disable_net_connect!(:allow_localhost => true)
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should return stubbed response if request was stubbed" do
|
69
|
+
stub_http_request(:get, "www.example.com").to_return(:body => "abc")
|
70
|
+
http_request(:get, "http://www.example.com/").body.should == "abc"
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should raise exception if request was not stubbed" do
|
74
|
+
lambda {
|
75
|
+
http_request(:get, "http://www.example.com/")
|
76
|
+
}.should fail_with(client_specific_request_string("Real HTTP connections are disabled. Unregistered request: GET http://www.example.com/"))
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should allow a real request localhost" do
|
80
|
+
lambda {
|
81
|
+
http_request(:get, "http://localhost:12345/")
|
82
|
+
}.should raise_error(connection_refused_exception_class)
|
83
|
+
end
|
84
|
+
end
|
59
85
|
end
|
60
86
|
|
61
87
|
describe "when matching requests" do
|
@@ -90,9 +116,9 @@ describe "WebMock", :shared => true do
|
|
90
116
|
stub_http_request(:get, "www.example.com")
|
91
117
|
http_request(:get, "http://www.example.com/").status.should == "200"
|
92
118
|
lambda {
|
93
|
-
http_request(:
|
119
|
+
http_request(:delete, "http://www.example.com/")
|
94
120
|
}.should fail_with(client_specific_request_string(
|
95
|
-
"Real HTTP connections are disabled. Unregistered request:
|
121
|
+
"Real HTTP connections are disabled. Unregistered request: DELETE http://www.example.com/")
|
96
122
|
)
|
97
123
|
end
|
98
124
|
|
@@ -236,14 +262,14 @@ describe "WebMock", :shared => true do
|
|
236
262
|
end
|
237
263
|
|
238
264
|
end
|
239
|
-
|
265
|
+
|
240
266
|
describe "with block" do
|
241
|
-
|
267
|
+
|
242
268
|
it "should match if block returns true" do
|
243
269
|
stub_http_request(:get, "www.example.com").with { |request| true }
|
244
270
|
http_request(:get, "http://www.example.com/").status.should == "200"
|
245
271
|
end
|
246
|
-
|
272
|
+
|
247
273
|
it "should not match if block returns false" do
|
248
274
|
stub_http_request(:get, "www.example.com").with { |request| false }
|
249
275
|
lambda {
|
@@ -251,7 +277,7 @@ describe "WebMock", :shared => true do
|
|
251
277
|
}.should fail_with(client_specific_request_string(
|
252
278
|
"Real HTTP connections are disabled. Unregistered request: GET http://www.example.com/"))
|
253
279
|
end
|
254
|
-
|
280
|
+
|
255
281
|
it "should pass the request to the block" do
|
256
282
|
stub_http_request(:post, "www.example.com").with { |request| request.body == "wadus" }
|
257
283
|
http_request(
|
@@ -262,7 +288,7 @@ describe "WebMock", :shared => true do
|
|
262
288
|
}.should fail_with(client_specific_request_string(
|
263
289
|
"Real HTTP connections are disabled. Unregistered request: POST http://www.example.com/ with body 'jander'"))
|
264
290
|
end
|
265
|
-
|
291
|
+
|
266
292
|
end
|
267
293
|
|
268
294
|
end
|
@@ -287,6 +313,25 @@ describe "WebMock", :shared => true do
|
|
287
313
|
end
|
288
314
|
|
289
315
|
|
316
|
+
describe "raising timeout errors" do
|
317
|
+
|
318
|
+
it "should raise timeout exception if declared in a stubbed response" do
|
319
|
+
stub_http_request(:get, "www.example.com").to_timeout
|
320
|
+
lambda {
|
321
|
+
http_request(:get, "http://www.example.com/")
|
322
|
+
}.should raise_error(client_timeout_exception_class)
|
323
|
+
end
|
324
|
+
|
325
|
+
it "should raise exception if declared in a stubbed response after returning declared response" do
|
326
|
+
stub_http_request(:get, "www.example.com").to_return(:body => "abc").then.to_timeout
|
327
|
+
http_request(:get, "http://www.example.com/").body.should == "abc"
|
328
|
+
lambda {
|
329
|
+
http_request(:get, "http://www.example.com/")
|
330
|
+
}.should raise_error(client_timeout_exception_class)
|
331
|
+
end
|
332
|
+
|
333
|
+
end
|
334
|
+
|
290
335
|
describe "returning stubbed responses" do
|
291
336
|
|
292
337
|
it "should return declared body" do
|
@@ -300,10 +345,25 @@ describe "WebMock", :shared => true do
|
|
300
345
|
response.headers["Content-Length"].should == "8888"
|
301
346
|
end
|
302
347
|
|
303
|
-
it "should return declared status" do
|
348
|
+
it "should return declared status code" do
|
304
349
|
stub_http_request(:get, "www.example.com").to_return(:status => 500)
|
305
350
|
http_request(:get, "http://www.example.com/").status.should == "500"
|
306
351
|
end
|
352
|
+
|
353
|
+
it "should return declared status message" do
|
354
|
+
stub_http_request(:get, "www.example.com").to_return(:status => [500, "Internal Server Error"])
|
355
|
+
http_request(:get, "http://www.example.com/").message.should == "Internal Server Error"
|
356
|
+
end
|
357
|
+
|
358
|
+
it "should return default status code" do
|
359
|
+
stub_http_request(:get, "www.example.com")
|
360
|
+
http_request(:get, "http://www.example.com/").status.should == "200"
|
361
|
+
end
|
362
|
+
|
363
|
+
it "should return default empty message" do
|
364
|
+
stub_http_request(:get, "www.example.com")
|
365
|
+
http_request(:get, "http://www.example.com/").message.should == ""
|
366
|
+
end
|
307
367
|
|
308
368
|
it "should return body declared as IO" do
|
309
369
|
stub_http_request(:get, "www.example.com").to_return(:body => File.new(__FILE__))
|
@@ -322,7 +382,7 @@ describe "WebMock", :shared => true do
|
|
322
382
|
@file.should be_closed
|
323
383
|
end
|
324
384
|
|
325
|
-
describe "dynamic
|
385
|
+
describe "dynamic response parts" do
|
326
386
|
|
327
387
|
it "should return evaluated response body" do
|
328
388
|
stub_http_request(:post, "www.example.com").to_return(:body => lambda { |request| request.body })
|
@@ -331,11 +391,48 @@ describe "WebMock", :shared => true do
|
|
331
391
|
|
332
392
|
it "should return evaluated response headers" do
|
333
393
|
stub_http_request(:post, "www.example.com").to_return(:headers => lambda { |request| request.headers })
|
334
|
-
http_request(:post, "http://www.example.com/", :headers => {'A' => 'B'}).headers['A'].should == 'B'
|
394
|
+
http_request(:post, "http://www.example.com/", :body => "abc", :headers => {'A' => 'B'}).headers['A'].should == 'B'
|
335
395
|
end
|
336
396
|
|
337
397
|
end
|
338
398
|
|
399
|
+
describe "dynamic responses" do
|
400
|
+
|
401
|
+
class Responder
|
402
|
+
def call(request)
|
403
|
+
{:body => request.body}
|
404
|
+
end
|
405
|
+
end
|
406
|
+
|
407
|
+
it "should return evaluated response body" do
|
408
|
+
stub_http_request(:post, "www.example.com").to_return(lambda { |request|
|
409
|
+
{:body => request.body}
|
410
|
+
})
|
411
|
+
http_request(:post, "http://www.example.com/", :body => "echo").body.should == "echo"
|
412
|
+
end
|
413
|
+
|
414
|
+
it "should return evaluated response headers" do
|
415
|
+
stub_http_request(:get, "www.example.com").to_return(lambda { |request|
|
416
|
+
{:headers => request.headers}
|
417
|
+
})
|
418
|
+
http_request(:get, "http://www.example.com/", :headers => {'A' => 'B'}).headers['A'].should == 'B'
|
419
|
+
end
|
420
|
+
|
421
|
+
it "should create dynamic responses from blocks" do
|
422
|
+
stub_http_request(:post, "www.example.com").to_return do |request|
|
423
|
+
{:body => request.body}
|
424
|
+
end
|
425
|
+
http_request(:post, "http://www.example.com/", :body => "echo").body.should == "echo"
|
426
|
+
end
|
427
|
+
|
428
|
+
it "should create dynamic responses from objects responding to call" do
|
429
|
+
stub_http_request(:post, "www.example.com").to_return(Responder.new)
|
430
|
+
http_request(:post, "http://www.example.com/", :body => "echo").body.should == "echo"
|
431
|
+
end
|
432
|
+
|
433
|
+
end
|
434
|
+
|
435
|
+
|
339
436
|
describe "replying raw responses from file" do
|
340
437
|
|
341
438
|
before(:each) do
|
@@ -356,10 +453,14 @@ describe "WebMock", :shared => true do
|
|
356
453
|
it "should return recorded body" do
|
357
454
|
@response.body.size.should == 438
|
358
455
|
end
|
359
|
-
|
456
|
+
|
360
457
|
it "should return recorded status" do
|
361
458
|
@response.status.should == "202"
|
362
|
-
end
|
459
|
+
end
|
460
|
+
|
461
|
+
it "should return recorded status message" do
|
462
|
+
@response.message.should == "OK"
|
463
|
+
end
|
363
464
|
|
364
465
|
it "should ensure file is closed" do
|
365
466
|
@file.should be_closed
|
@@ -391,6 +492,10 @@ describe "WebMock", :shared => true do
|
|
391
492
|
it "should return recorded status" do
|
392
493
|
@response.status.should == "202"
|
393
494
|
end
|
495
|
+
|
496
|
+
it "should return recorded status message" do
|
497
|
+
@response.message.should == "OK"
|
498
|
+
end
|
394
499
|
end
|
395
500
|
|
396
501
|
describe "sequences of responses" do
|
@@ -437,7 +542,7 @@ describe "WebMock", :shared => true do
|
|
437
542
|
end
|
438
543
|
|
439
544
|
describe "repeating declared responses more than once" do
|
440
|
-
|
545
|
+
|
441
546
|
it "should repeat one response declared number of times" do
|
442
547
|
stub_http_request(:get, "www.example.com").
|
443
548
|
to_return({:body => "1"}).times(2).
|
@@ -446,8 +551,8 @@ describe "WebMock", :shared => true do
|
|
446
551
|
http_request(:get, "http://www.example.com/").body.should == "1"
|
447
552
|
http_request(:get, "http://www.example.com/").body.should == "2"
|
448
553
|
end
|
449
|
-
|
450
|
-
|
554
|
+
|
555
|
+
|
451
556
|
it "should repeat sequence of response declared number of times" do
|
452
557
|
stub_http_request(:get, "www.example.com").
|
453
558
|
to_return({:body => "1"}, {:body => "2"}).times(2).
|
@@ -456,10 +561,10 @@ describe "WebMock", :shared => true do
|
|
456
561
|
http_request(:get, "http://www.example.com/").body.should == "2"
|
457
562
|
http_request(:get, "http://www.example.com/").body.should == "1"
|
458
563
|
http_request(:get, "http://www.example.com/").body.should == "2"
|
459
|
-
http_request(:get, "http://www.example.com/").body.should == "3"
|
564
|
+
http_request(:get, "http://www.example.com/").body.should == "3"
|
460
565
|
end
|
461
|
-
|
462
|
-
|
566
|
+
|
567
|
+
|
463
568
|
it "should repeat infinitely last response even if number of declared times is lower" do
|
464
569
|
stub_http_request(:get, "www.example.com").
|
465
570
|
to_return({:body => "1"}).times(2)
|
@@ -467,17 +572,17 @@ describe "WebMock", :shared => true do
|
|
467
572
|
http_request(:get, "http://www.example.com/").body.should == "1"
|
468
573
|
http_request(:get, "http://www.example.com/").body.should == "1"
|
469
574
|
end
|
470
|
-
|
575
|
+
|
471
576
|
it "should give error if times is declared without specifying response" do
|
472
577
|
lambda {
|
473
578
|
stub_http_request(:get, "www.example.com").times(3)
|
474
579
|
}.should raise_error("Invalid WebMock stub declaration. times(N) can be declared only after response declaration.")
|
475
580
|
end
|
476
|
-
|
581
|
+
|
477
582
|
end
|
478
|
-
|
583
|
+
|
479
584
|
describe "raising declared exceptions more than once" do
|
480
|
-
|
585
|
+
|
481
586
|
it "should repeat raising exception declared number of times" do
|
482
587
|
stub_http_request(:get, "www.example.com").
|
483
588
|
to_raise(MyException).times(2).
|
@@ -490,7 +595,7 @@ describe "WebMock", :shared => true do
|
|
490
595
|
}.should raise_error(MyException, "Exception from WebMock")
|
491
596
|
http_request(:get, "http://www.example.com/").body.should == "2"
|
492
597
|
end
|
493
|
-
|
598
|
+
|
494
599
|
it "should repeat raising sequence of exceptions declared number of times" do
|
495
600
|
stub_http_request(:get, "www.example.com").
|
496
601
|
to_raise(MyException, ArgumentError).times(2).
|
@@ -574,7 +679,7 @@ describe "WebMock", :shared => true do
|
|
574
679
|
|
575
680
|
it "should fail if request was executed with different method" do
|
576
681
|
lambda {
|
577
|
-
http_request(:post, "http://www.example.com/")
|
682
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
578
683
|
request(:get, "http://www.example.com").should have_been_made
|
579
684
|
}.should fail_with("The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times")
|
580
685
|
end
|
@@ -667,8 +772,8 @@ describe "WebMock", :shared => true do
|
|
667
772
|
|
668
773
|
it "should succeed if request was executed with the same body" do
|
669
774
|
lambda {
|
670
|
-
http_request(:
|
671
|
-
request(:
|
775
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
776
|
+
request(:post, "www.example.com").with(:body => "abc").should have_been_made
|
672
777
|
}.should_not raise_error
|
673
778
|
end
|
674
779
|
|
@@ -682,8 +787,8 @@ describe "WebMock", :shared => true do
|
|
682
787
|
|
683
788
|
it "should succeed if request was executed with the same body" do
|
684
789
|
lambda {
|
685
|
-
http_request(:
|
686
|
-
request(:
|
790
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
791
|
+
request(:post, "www.example.com").with(:body => /^abc$/).should have_been_made
|
687
792
|
}.should_not raise_error
|
688
793
|
end
|
689
794
|
|
@@ -754,7 +859,7 @@ describe "WebMock", :shared => true do
|
|
754
859
|
with(:headers => { :user_agent => /^MyAppName$/ }).should have_been_made
|
755
860
|
}.should fail_with("The request GET http://www.example.com/ with headers {'User-Agent'=>/^MyAppName$/} was expected to execute 1 time but it executed 0 times")
|
756
861
|
end
|
757
|
-
|
862
|
+
|
758
863
|
it "should suceed if request was executed and block evaluated to true" do
|
759
864
|
lambda {
|
760
865
|
http_request(:post, "http://www.example.com/", :body => "wadus")
|
@@ -764,9 +869,9 @@ describe "WebMock", :shared => true do
|
|
764
869
|
|
765
870
|
it "should fail if request was executed and block evaluated to false" do
|
766
871
|
lambda {
|
767
|
-
http_request(:post, "http://www.example.com/")
|
872
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
768
873
|
request(:post, "www.example.com").with { |req| req.body == "wadus" }.should have_been_made
|
769
|
-
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 1 time but it executed 0 times")
|
874
|
+
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 1 time but it executed 0 times")
|
770
875
|
end
|
771
876
|
|
772
877
|
it "should fail if request was not expected but it executed and block matched request" do
|
@@ -809,11 +914,11 @@ describe "WebMock", :shared => true do
|
|
809
914
|
request(:get, "http://www.example.com").should have_been_made.once
|
810
915
|
}.should fail_with("The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times")
|
811
916
|
end
|
812
|
-
|
917
|
+
|
813
918
|
it "should be order insensitive" do
|
814
|
-
stub_request(:post, "http://www.example.com")
|
815
|
-
http_request(:post, "http://www.example.com/", :body => "def")
|
816
|
-
http_request(:post, "http://www.example.com/", :body => "abc")
|
919
|
+
stub_request(:post, "http://www.example.com")
|
920
|
+
http_request(:post, "http://www.example.com/", :body => "def")
|
921
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
817
922
|
WebMock.should have_requested(:post, "www.example.com").with(:body => "abc")
|
818
923
|
WebMock.should have_requested(:post, "www.example.com").with(:body => "def")
|
819
924
|
end
|
@@ -831,8 +936,8 @@ describe "WebMock", :shared => true do
|
|
831
936
|
|
832
937
|
it "should verify expected requests occured" do
|
833
938
|
lambda {
|
834
|
-
http_request(:
|
835
|
-
WebMock.should have_requested(:
|
939
|
+
http_request(:post, "http://www.example.com/", :body => "abc", :headers => {'A' => 'a'})
|
940
|
+
WebMock.should have_requested(:post, "http://www.example.com").with(:body => "abc", :headers => {'A' => 'a'}).once
|
836
941
|
}.should_not raise_error
|
837
942
|
end
|
838
943
|
|
@@ -842,7 +947,7 @@ describe "WebMock", :shared => true do
|
|
842
947
|
WebMock.should_not have_requested(:get, "http://www.example.com")
|
843
948
|
}.should fail_with("The request GET http://www.example.com/ was expected to execute 0 times but it executed 1 time")
|
844
949
|
end
|
845
|
-
|
950
|
+
|
846
951
|
it "should succeed if request was executed and block evaluated to true" do
|
847
952
|
lambda {
|
848
953
|
http_request(:post, "http://www.example.com/", :body => "wadus")
|
@@ -852,9 +957,9 @@ describe "WebMock", :shared => true do
|
|
852
957
|
|
853
958
|
it "should fail if request was executed and block evaluated to false" do
|
854
959
|
lambda {
|
855
|
-
http_request(:post, "http://www.example.com/")
|
960
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
856
961
|
WebMock.should have_requested(:post, "www.example.com").with { |req| req.body == "wadus" }
|
857
|
-
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 1 time but it executed 0 times")
|
962
|
+
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 1 time but it executed 0 times")
|
858
963
|
end
|
859
964
|
|
860
965
|
it "should fail if request was not expected but executed and block matched request" do
|
@@ -879,8 +984,8 @@ describe "WebMock", :shared => true do
|
|
879
984
|
|
880
985
|
it "should verify expected requests occured" do
|
881
986
|
lambda {
|
882
|
-
http_request(:
|
883
|
-
assert_requested(:
|
987
|
+
http_request(:post, "http://www.example.com/", :body => "abc", :headers => {'A' => 'a'})
|
988
|
+
assert_requested(:post, "http://www.example.com", :body => "abc", :headers => {'A' => 'a'})
|
884
989
|
}.should_not raise_error
|
885
990
|
end
|
886
991
|
|
@@ -890,14 +995,14 @@ describe "WebMock", :shared => true do
|
|
890
995
|
assert_not_requested(:get, "http://www.example.com")
|
891
996
|
}.should fail_with("The request GET http://www.example.com/ was expected to execute 0 times but it executed 1 time")
|
892
997
|
end
|
893
|
-
|
998
|
+
|
894
999
|
it "should verify if non expected request executed and block evaluated to true" do
|
895
1000
|
lambda {
|
896
1001
|
http_request(:post, "http://www.example.com/", :body => "wadus")
|
897
1002
|
assert_not_requested(:post, "www.example.com") { |req| req.body == "wadus" }
|
898
1003
|
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 0 times but it executed 1 time")
|
899
1004
|
end
|
900
|
-
|
1005
|
+
|
901
1006
|
it "should verify if request was executed and block evaluated to true" do
|
902
1007
|
lambda {
|
903
1008
|
http_request(:post, "http://www.example.com/", :body => "wadus")
|
@@ -907,7 +1012,7 @@ describe "WebMock", :shared => true do
|
|
907
1012
|
|
908
1013
|
it "should verify if request was executed and block evaluated to false" do
|
909
1014
|
lambda {
|
910
|
-
http_request(:post, "http://www.example.com/")
|
1015
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
911
1016
|
assert_requested(:post, "www.example.com") { |req| req.body == "wadus" }
|
912
1017
|
}.should fail_with("The request POST http://www.example.com/ with given block was expected to execute 1 time but it executed 0 times")
|
913
1018
|
end
|