webmock 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/CHANGELOG.md +35 -0
  2. data/README.md +10 -24
  3. data/VERSION +1 -1
  4. data/lib/webmock.rb +4 -0
  5. data/lib/webmock/api.rb +1 -1
  6. data/lib/webmock/assertion_failure.rb +2 -4
  7. data/lib/webmock/cucumber.rb +8 -0
  8. data/lib/webmock/errors.rb +13 -1
  9. data/lib/webmock/http_lib_adapters/curb.rb +2 -2
  10. data/lib/webmock/http_lib_adapters/em_http_request.rb +31 -17
  11. data/lib/webmock/http_lib_adapters/httpclient.rb +3 -3
  12. data/lib/webmock/http_lib_adapters/net_http.rb +2 -2
  13. data/lib/webmock/http_lib_adapters/patron.rb +2 -2
  14. data/lib/webmock/request_execution_verifier.rb +18 -4
  15. data/lib/webmock/request_pattern.rb +1 -1
  16. data/lib/webmock/request_registry.rb +13 -28
  17. data/lib/webmock/request_signature.rb +15 -2
  18. data/lib/webmock/rspec.rb +32 -1
  19. data/lib/webmock/{adapters/rspec → rspec}/matchers.rb +4 -0
  20. data/lib/webmock/{adapters/rspec → rspec/matchers}/request_pattern_matcher.rb +0 -0
  21. data/lib/webmock/{adapters/rspec → rspec/matchers}/webmock_matcher.rb +0 -0
  22. data/lib/webmock/stub_registry.rb +43 -0
  23. data/lib/webmock/stub_request_snippet.rb +27 -0
  24. data/lib/webmock/test_unit.rb +20 -1
  25. data/lib/webmock/util/hash_counter.rb +9 -4
  26. data/lib/webmock/util/hash_keys_stringifier.rb +23 -0
  27. data/lib/webmock/webmock.rb +14 -4
  28. data/spec/curb_spec.rb +1 -1
  29. data/spec/curb_spec_helper.rb +0 -4
  30. data/spec/em_http_request_spec.rb +5 -0
  31. data/spec/em_http_request_spec_helper.rb +0 -4
  32. data/spec/errors_spec.rb +17 -0
  33. data/spec/httpclient_spec_helper.rb +0 -4
  34. data/spec/net_http_spec_helper.rb +2 -8
  35. data/spec/patron_spec_helper.rb +4 -11
  36. data/spec/request_execution_verifier_spec.rb +14 -4
  37. data/spec/request_registry_spec.rb +29 -80
  38. data/spec/request_signature_spec.rb +77 -3
  39. data/spec/spec_helper.rb +0 -18
  40. data/spec/stub_registry_spec.rb +86 -0
  41. data/spec/stub_request_snippet_spec.rb +47 -0
  42. data/spec/util/hash_counter_spec.rb +15 -0
  43. data/spec/util/hash_keys_stringifier_spec.rb +27 -0
  44. data/spec/webmock_shared.rb +63 -66
  45. data/test/test_helper.rb +5 -1
  46. data/test/test_webmock.rb +5 -2
  47. data/webmock.gemspec +17 -7
  48. metadata +19 -9
  49. data/lib/webmock/adapters/rspec.rb +0 -33
  50. data/lib/webmock/adapters/test_unit.rb +0 -19
@@ -11,6 +11,10 @@ class Test::Unit::TestCase
11
11
  AssertionFailedError = Test::Unit::AssertionFailedError rescue MiniTest::Assertion
12
12
  def assert_fail(message, &block)
13
13
  e = assert_raise(AssertionFailedError, &block)
14
- assert_equal(message, e.message)
14
+ if message.is_a?(Regexp)
15
+ assert_match(message, e.message)
16
+ else
17
+ assert_equal(message, e.message)
18
+ end
15
19
  end
16
20
  end
@@ -46,7 +46,9 @@ class TestWebMock < Test::Unit::TestCase
46
46
  end
47
47
 
48
48
  def test_verification_that_expected_request_didnt_occur
49
- assert_fail("The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times") do
49
+ expected_message = "The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times"
50
+ expected_message << "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
51
+ assert_fail(expected_message) do
50
52
  assert_requested(:get, "http://www.example.com")
51
53
  end
52
54
  end
@@ -59,7 +61,8 @@ class TestWebMock < Test::Unit::TestCase
59
61
  end
60
62
 
61
63
  def test_verification_that_non_expected_request_didnt_occur
62
- assert_fail("The request GET http://www.example.com/ was expected to execute 0 times but it executed 1 time") do
64
+ expected_message = %r(The request GET http://www.example.com/ was expected to execute 0 times but it executed 1 time\n\nThe following requests were made:\n\nGET http://www.example.com/ with headers .+ was made 1 time\n\n============================================================)
65
+ assert_fail(expected_message) do
63
66
  http_request(:get, "http://www.example.com/")
64
67
  assert_not_requested(:get, "http://www.example.com")
65
68
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{webmock}
8
- s.version = "1.5.0"
8
+ s.version = "1.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bartosz Blimke"]
12
- s.date = %q{2010-11-02}
12
+ s.date = %q{2010-11-12}
13
13
  s.description = %q{WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.}
14
14
  s.email = %q{bartosz.blimke@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -24,15 +24,11 @@ Gem::Specification.new do |s|
24
24
  "Rakefile",
25
25
  "VERSION",
26
26
  "lib/webmock.rb",
27
- "lib/webmock/adapters/rspec.rb",
28
- "lib/webmock/adapters/rspec/matchers.rb",
29
- "lib/webmock/adapters/rspec/request_pattern_matcher.rb",
30
- "lib/webmock/adapters/rspec/webmock_matcher.rb",
31
- "lib/webmock/adapters/test_unit.rb",
32
27
  "lib/webmock/api.rb",
33
28
  "lib/webmock/assertion_failure.rb",
34
29
  "lib/webmock/callback_registry.rb",
35
30
  "lib/webmock/config.rb",
31
+ "lib/webmock/cucumber.rb",
36
32
  "lib/webmock/deprecation.rb",
37
33
  "lib/webmock/errors.rb",
38
34
  "lib/webmock/http_lib_adapters/curb.rb",
@@ -49,8 +45,14 @@ Gem::Specification.new do |s|
49
45
  "lib/webmock/response.rb",
50
46
  "lib/webmock/responses_sequence.rb",
51
47
  "lib/webmock/rspec.rb",
48
+ "lib/webmock/rspec/matchers.rb",
49
+ "lib/webmock/rspec/matchers/request_pattern_matcher.rb",
50
+ "lib/webmock/rspec/matchers/webmock_matcher.rb",
51
+ "lib/webmock/stub_registry.rb",
52
+ "lib/webmock/stub_request_snippet.rb",
52
53
  "lib/webmock/test_unit.rb",
53
54
  "lib/webmock/util/hash_counter.rb",
55
+ "lib/webmock/util/hash_keys_stringifier.rb",
54
56
  "lib/webmock/util/headers.rb",
55
57
  "lib/webmock/util/uri.rb",
56
58
  "lib/webmock/webmock.rb",
@@ -58,6 +60,7 @@ Gem::Specification.new do |s|
58
60
  "spec/curb_spec_helper.rb",
59
61
  "spec/em_http_request_spec.rb",
60
62
  "spec/em_http_request_spec_helper.rb",
63
+ "spec/errors_spec.rb",
61
64
  "spec/example_curl_output.txt",
62
65
  "spec/httpclient_spec.rb",
63
66
  "spec/httpclient_spec_helper.rb",
@@ -74,7 +77,10 @@ Gem::Specification.new do |s|
74
77
  "spec/request_stub_spec.rb",
75
78
  "spec/response_spec.rb",
76
79
  "spec/spec_helper.rb",
80
+ "spec/stub_registry_spec.rb",
81
+ "spec/stub_request_snippet_spec.rb",
77
82
  "spec/util/hash_counter_spec.rb",
83
+ "spec/util/hash_keys_stringifier_spec.rb",
78
84
  "spec/util/headers_spec.rb",
79
85
  "spec/util/uri_spec.rb",
80
86
  "spec/vendor/addressable/lib/addressable/uri.rb",
@@ -102,6 +108,7 @@ Gem::Specification.new do |s|
102
108
  "spec/curb_spec_helper.rb",
103
109
  "spec/em_http_request_spec.rb",
104
110
  "spec/em_http_request_spec_helper.rb",
111
+ "spec/errors_spec.rb",
105
112
  "spec/httpclient_spec.rb",
106
113
  "spec/httpclient_spec_helper.rb",
107
114
  "spec/net_http_spec.rb",
@@ -117,7 +124,10 @@ Gem::Specification.new do |s|
117
124
  "spec/request_stub_spec.rb",
118
125
  "spec/response_spec.rb",
119
126
  "spec/spec_helper.rb",
127
+ "spec/stub_registry_spec.rb",
128
+ "spec/stub_request_snippet_spec.rb",
120
129
  "spec/util/hash_counter_spec.rb",
130
+ "spec/util/hash_keys_stringifier_spec.rb",
121
131
  "spec/util/headers_spec.rb",
122
132
  "spec/util/uri_spec.rb",
123
133
  "spec/vendor/addressable/lib/addressable/uri.rb",
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 5
8
+ - 6
9
9
  - 0
10
- version: 1.5.0
10
+ version: 1.6.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bartosz Blimke
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-02 00:00:00 +00:00
18
+ date: 2010-11-12 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -148,15 +148,11 @@ files:
148
148
  - Rakefile
149
149
  - VERSION
150
150
  - lib/webmock.rb
151
- - lib/webmock/adapters/rspec.rb
152
- - lib/webmock/adapters/rspec/matchers.rb
153
- - lib/webmock/adapters/rspec/request_pattern_matcher.rb
154
- - lib/webmock/adapters/rspec/webmock_matcher.rb
155
- - lib/webmock/adapters/test_unit.rb
156
151
  - lib/webmock/api.rb
157
152
  - lib/webmock/assertion_failure.rb
158
153
  - lib/webmock/callback_registry.rb
159
154
  - lib/webmock/config.rb
155
+ - lib/webmock/cucumber.rb
160
156
  - lib/webmock/deprecation.rb
161
157
  - lib/webmock/errors.rb
162
158
  - lib/webmock/http_lib_adapters/curb.rb
@@ -173,8 +169,14 @@ files:
173
169
  - lib/webmock/response.rb
174
170
  - lib/webmock/responses_sequence.rb
175
171
  - lib/webmock/rspec.rb
172
+ - lib/webmock/rspec/matchers.rb
173
+ - lib/webmock/rspec/matchers/request_pattern_matcher.rb
174
+ - lib/webmock/rspec/matchers/webmock_matcher.rb
175
+ - lib/webmock/stub_registry.rb
176
+ - lib/webmock/stub_request_snippet.rb
176
177
  - lib/webmock/test_unit.rb
177
178
  - lib/webmock/util/hash_counter.rb
179
+ - lib/webmock/util/hash_keys_stringifier.rb
178
180
  - lib/webmock/util/headers.rb
179
181
  - lib/webmock/util/uri.rb
180
182
  - lib/webmock/webmock.rb
@@ -182,6 +184,7 @@ files:
182
184
  - spec/curb_spec_helper.rb
183
185
  - spec/em_http_request_spec.rb
184
186
  - spec/em_http_request_spec_helper.rb
187
+ - spec/errors_spec.rb
185
188
  - spec/example_curl_output.txt
186
189
  - spec/httpclient_spec.rb
187
190
  - spec/httpclient_spec_helper.rb
@@ -198,7 +201,10 @@ files:
198
201
  - spec/request_stub_spec.rb
199
202
  - spec/response_spec.rb
200
203
  - spec/spec_helper.rb
204
+ - spec/stub_registry_spec.rb
205
+ - spec/stub_request_snippet_spec.rb
201
206
  - spec/util/hash_counter_spec.rb
207
+ - spec/util/hash_keys_stringifier_spec.rb
202
208
  - spec/util/headers_spec.rb
203
209
  - spec/util/uri_spec.rb
204
210
  - spec/vendor/addressable/lib/addressable/uri.rb
@@ -254,6 +260,7 @@ test_files:
254
260
  - spec/curb_spec_helper.rb
255
261
  - spec/em_http_request_spec.rb
256
262
  - spec/em_http_request_spec_helper.rb
263
+ - spec/errors_spec.rb
257
264
  - spec/httpclient_spec.rb
258
265
  - spec/httpclient_spec_helper.rb
259
266
  - spec/net_http_spec.rb
@@ -269,7 +276,10 @@ test_files:
269
276
  - spec/request_stub_spec.rb
270
277
  - spec/response_spec.rb
271
278
  - spec/spec_helper.rb
279
+ - spec/stub_registry_spec.rb
280
+ - spec/stub_request_snippet_spec.rb
272
281
  - spec/util/hash_counter_spec.rb
282
+ - spec/util/hash_keys_stringifier_spec.rb
273
283
  - spec/util/headers_spec.rb
274
284
  - spec/util/uri_spec.rb
275
285
  - spec/vendor/addressable/lib/addressable/uri.rb
@@ -1,33 +0,0 @@
1
- require 'webmock'
2
-
3
- # RSpec 1.x and 2.x compatibility
4
- if defined?(RSpec)
5
- RSPEC_NAMESPACE = RSPEC_CONFIGURER = RSpec
6
- elsif defined?(Spec)
7
- RSPEC_NAMESPACE = Spec
8
- RSPEC_CONFIGURER = Spec::Runner
9
- else
10
- begin
11
- require 'rspec'
12
- RSPEC_NAMESPACE = RSPEC_CONFIGURER = RSpec
13
- rescue LoadError
14
- require 'spec'
15
- RSPEC_NAMESPACE = Spec
16
- RSPEC_CONFIGURER = Spec::Runner
17
- end
18
- end
19
-
20
- require 'webmock/adapters/rspec/request_pattern_matcher'
21
- require 'webmock/adapters/rspec/webmock_matcher'
22
- require 'webmock/adapters/rspec/matchers'
23
-
24
- RSPEC_CONFIGURER.configure { |config|
25
-
26
- config.include WebMock::Matchers
27
-
28
- config.before :each do
29
- WebMock.reset_webmock
30
- end
31
- }
32
-
33
- WebMock::AssertionFailure.error_class = RSPEC_NAMESPACE::Expectations::ExpectationNotMetError
@@ -1,19 +0,0 @@
1
- require 'test/unit'
2
- require 'webmock'
3
-
4
- class Test::Unit::TestCase
5
- alias setup_without_webmock setup
6
- def setup
7
- WebMock.reset_webmock
8
- @original_allow_net_connect = WebMock.net_connect_allowed?
9
- WebMock.disable_net_connect!
10
- end
11
-
12
- alias teardown_without_webmock teardown
13
- def teardown
14
- @original_allow_net_connect ? WebMock.allow_net_connect! : WebMock.disable_net_connect!
15
- end
16
- end
17
-
18
-
19
- WebMock::AssertionFailure.error_class = Test::Unit::AssertionFailedError rescue MiniTest::Assertion # ruby1.9 compat