Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 352 lines (200 sloc) 13.562 kB
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
1 #Changelog
2
473b709 @bblimke Added WebMock.reset! method. WebMock.reset_webmock is now deprecated
authored
3 ## Master
4
acaab83 @bblimke Updated changelog with the latest changes in master.
authored
5 * `WebMock.reset_webmock` is deprecated in favour of new `WebMock.reset!`
6
7 * Fixed integration with Cucumber. Previously documented example didn't work with new versions of Cucumber.
8
9 * Simplified integration with Test::Unit, RSpec and Cucumber, by requiring a single file i.e.
10
11 require 'webmock/test_unit'
12 require 'webmock/rspec'
13 require 'webmock/cucumber'
14
a7cb4fa @bblimke Fixed issue with stubbing requests with request body declared as a ha…
authored
15 * Fixed issue with stubbing requests with request body declared as a hash, when json was not required. Thanks to Erik Michaels-Ober for reporting the issue.
16
473b709 @bblimke Added WebMock.reset! method. WebMock.reset_webmock is now deprecated
authored
17
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
18 ## 1.5.0
f0408f8 @bblimke Added support for dynamically evaluated raw responses recorded with `…
authored
19
20 * Support for dynamically evaluated raw responses recorded with `curl -is` <br/>
21 i.e.
22
23 `curl -is www.example.com > /tmp/www.example.com.txt`
24 stub_request(:get, "www.example.com").to_return(lambda { |request| File.new("/tmp/#{request.uri.host.to_s}.txt" }))
25
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
26 * `:net_http_connect_on_start` option can be passed to `WebMock.allow_net_connect!` and `WebMock.disable_net_connect!` methods, i.e.
ffbcdb3 @bblimke Updated changelog with the latest changes in master branch
authored
27
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
28 WebMock.allow_net_connect!(:net_http_connect_on_start => true)
ffbcdb3 @bblimke Updated changelog with the latest changes in master branch
authored
29
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
30 This forces WebMock Net::HTTP adapter to always connect on `Net::HTTP.start`. Check 'Connecting on Net::HTTP.start' in README for more information.
ffbcdb3 @bblimke Updated changelog with the latest changes in master branch
authored
31
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
32 Thanks to Alastair Brunton for reporting the issue and for fix suggestions.
4e313c2 @bblimke Updated CHANGELOG and README with information about net_http_connect_…
authored
33
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
34 * Fixed an issue where Patron spec tried to remove system temporary directory.
35 Thanks to Hans de Graaff
4e313c2 @bblimke Updated CHANGELOG and README with information about net_http_connect_…
authored
36
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
37 * WebMock specs now use RSpec 2
4e313c2 @bblimke Updated CHANGELOG and README with information about net_http_connect_…
authored
38
079a719 @bblimke Updated changelog with version 1.5.0 changes
authored
39 * `rake spec NO_CONNECTION=true` can now be used to only run WebMock specs which do not make real network connections
4e313c2 @bblimke Updated CHANGELOG and README with information about net_http_connect_…
authored
40
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
41 ## 1.4.0
6eb8bb5 @bblimke WebMock tries to use already loaded version of RSpec (1.x or 2.x) (pr…
authored
42
aaf774b @bblimke Added info to changelog and readme about Curb support, implemented by…
authored
43 * Curb support!!! Thanks to the awesome work of Pete Higgins!
44
2328c00 @bblimke Updated Changelog with the latest changes in master
authored
45 * `include WebMock` is now deprecated to avoid method and constant name conflicts. Please `include WebMock::API` instead.
46
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
47 * `WebMock::API#request` is renamed to `WebMock::API#a_request` to prevent method name conflicts with i.e. Rails controller specs.
2328c00 @bblimke Updated Changelog with the latest changes in master
authored
48 WebMock.request is still available.
49
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
50 * Deprecated `WebMock#request`, `WebMock#allow_net_connect!`, `WebMock#net_connect_allowed?`, `WebMock#registered_request?`, `WebMock#reset_callbacks`, `WebMock#after_request` instance methods. These methods are still available, but only as WebMock class methods.
9fded75 @bblimke Updated CHANGELOG with more detailed information on changes in master
authored
51
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
52 * Removed `WebMock.response_for_request` and `WebMock.assertion_failure` which were only used internally and were not documented.
9fded75 @bblimke Updated CHANGELOG with more detailed information on changes in master
authored
53
c646491 @bblimke :allow_localhost => true' now permits 0.0.0.0 in addition to 127.0.0.…
authored
54 * :allow_localhost => true' now permits 0.0.0.0 in addition to 127.0.0.1 and 'localhost'. Thanks to Myron Marston and Mike Gehard for suggesting this.
55
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
56 * Fixed issue with both RSpec 1.x and 2.x being available.
6eb8bb5 @bblimke WebMock tries to use already loaded version of RSpec (1.x or 2.x) (pr…
authored
57
a53f1a0 @bblimke Updated CHANGELOG with version 1.4.0 changes
authored
58 WebMock now tries to use already loaded version of RSpec (1.x or 2.x). Previously it was loading RSpec 2.0 if available, even if RSpec 1.3 was already loaded.
6eb8bb5 @bblimke WebMock tries to use already loaded version of RSpec (1.x or 2.x) (pr…
authored
59
60 Thanks to Hans de Graaff for reporting this.
61
9acf181 @bblimke Updated changelog for version 1.4.0
authored
62 * Changed runtime dependency on Addressable version 2.2.2 which fixes handling of percent-escaped '+'
63
67a0819 @bblimke Version 1.3.5 changelog + updated docs
authored
64 ## 1.3.5
65
66 * External requests can be disabled while allowing selected hosts. Thanks to Charles Li and Ryan Bigg
67
68 This feature was available before only for localhost with `:allow_localhost => true`
69
70 WebMock.disable_net_connect!(:allow => "www.example.org")
71
72 Net::HTTP.get('www.something.com', '/') # ===> Failure
73
74 Net::HTTP.get('www.example.org', '/') # ===> Allowed.
75
76 * Fixed Net::HTTP adapter so that it preserves the original behavior of Net::HTTP.
77
78 When making a request with a block that calls #read_body on the request,
79 Net::HTTP causes the body to be set to a Net::ReadAdapter, but WebMock was causing the body to be set to a string.
80
688e687 Version 1.3.4 changelog
Bartosz Blimke and Oliver Nightingale authored
81 ## 1.3.4
82
83 * Fixed Net::HTTP adapter to handle cases where a block with `read_body` call is passed to `request`.
84 This fixes compatibility with `open-uri`. Thanks to Mark Evans for reporting the issue.
85
db5fcf4 Version 1.3.3 changelog.
Bartosz Blimke and Ben Pickles authored
86 ## 1.3.3
87
88 * Fixed handling of multiple values for the same response header for Net::HTTP. Thanks to Myron Marston for reporting the issue.
89
27c0f65 Version 1.3.2 changelog
Bartosz Blimke and Ben Pickles authored
90 ## 1.3.2
91
92 * Fixed compatibility with EM-HTTP-Request >= 0.2.9. Thanks to Myron Marston for reporting the issue.
93
15f888e @bblimke The less hacky way to get the stream behaviour working for em-http-re…
authored
94 ## 1.3.1
95
60fa244 @bblimke Updated changelog
authored
96 * The less hacky way to get the stream behaviour working for em-http-request. Thanks to Martyn Loughran
97
98 * Fixed issues where Net::HTTP was not accepting valid nil response body. Thanks to Muness Alrubaie
15f888e @bblimke The less hacky way to get the stream behaviour working for em-http-re…
authored
99
354af66 Updated CHANGELOG width version 1.3.0 changes
Bartosz Blimke authored
100 ## 1.3.0
101
102 * Added support for [em-http-request](http://github.com/igrigorik/em-http-request)
103
104 * Matching query params using a hash
105
106 stub_http_request(:get, "www.example.com").with(:query => {"a" => ["b", "c"]})
107
108 RestClient.get("http://www.example.com/?a[]=b&a[]=c") # ===> Success
109
110 request(:get, "www.example.com").with(:query => {"a" => ["b", "c"]}).should have_been_made # ===> Success
111
112 * Matching request body against a hash. Body can be URL-Encoded, JSON or XML.
26cb92f Small improvements to CHANGELOG for version 1.3.0
Bartosz Blimke authored
113
354af66 Updated CHANGELOG width version 1.3.0 changes
Bartosz Blimke authored
114 (Thanks to Steve Tooke for the idea and a solution for url-encoded bodies)
115
116 stub_http_request(:post, "www.example.com").
117 with(:body => {:data => {:a => '1', :b => 'five'}})
118
119 RestClient.post('www.example.com', "data[a]=1&data[b]=five",
120 :content_type => 'application/x-www-form-urlencoded') # ===> Success
121
122 RestClient.post('www.example.com', '{"data":{"a":"1","b":"five"}}',
123 :content_type => 'application/json') # ===> Success
124
125 RestClient.post('www.example.com', '<data a="1" b="five" />',
126 :content_type => 'application/xml' ) # ===> Success
127
128 request(:post, "www.example.com").
129 with(:body => {:data => {:a => '1', :b => 'five'}},
130 :headers => 'Content-Type' => 'application/json').should have_been_made # ===> Success
131
132 * Request callbacks (Thanks to Myron Marston for all suggestions)
133
134 WebMock can now invoke callbacks for stubbed or real requests:
135
136 WebMock.after_request do |request_signature, response|
137 puts "Request #{request_signature} was made and #{response} was returned"
138 end
139
140 invoke callbacks for real requests only and except requests made with Patron client
141
142 WebMock.after_request(:except => [:patron], :real_requests_only => true) do |request_signature, response|
143 puts "Request #{request_signature} was made and #{response} was returned"
144 end
145
146 * `to_raise()` now accepts an exception instance or a string as argument in addition to an exception class
147
148 stub_request(:any, 'www.example.net').to_raise(StandardError.new("some error"))
149
150 stub_request(:any, 'www.example.net').to_raise("some error")
151
26cb92f Small improvements to CHANGELOG for version 1.3.0
Bartosz Blimke authored
152 * Matching requests based on a URI is 30% faster
354af66 Updated CHANGELOG width version 1.3.0 changes
Bartosz Blimke authored
153
154 * Fixed constant namespace issues in HTTPClient adapter. Thanks to Nathaniel Bibler for submitting a patch.
155
fd2472a Version 1.2.2 changelog
Bartosz Blimke authored
156 ## 1.2.2
157
158 * Fixed problem where ArgumentError was raised if query params were made up of an array e.g. data[]=a&data[]=b. Thanks to Steve Tooke
159
5803f31 Version bump to 1.2.1
Bartosz Blimke authored
160 ## 1.2.1
161
162 * Changed license from GPL to MIT
163
164 * Fixed gemspec file. Thanks to Razic
165
31b3ffb Added version 1.2.0 changelog
Bartosz Blimke authored
166 ## 1.2.0
167
168 * RSpec 2 compatibility. Thanks to Sam Phillips!
169
170 * :allow_localhost => true' now permits 127.0.0.1 as well as 'localhost'. Thanks to Mack Earnhardt
171
172 * Request URI matching in now 2x faster!
173
174
4a04017 Added 1.1.0 changelog
Bartosz Blimke authored
175 ## 1.1.0
176
ee7b3b4 Fixed spelling
Bartosz Blimke authored
177 * [VCR](http://github.com/myronmarston/vcr/) compatibility. Many thanks to Myron Marston for all suggestions.
4a04017 Added 1.1.0 changelog
Bartosz Blimke authored
178
179 * Support for stubbing requests and returning responses with multiple headers with the same name. i.e multiple Accept headers.
180
181 stub_http_request(:get, 'www.example.com').
182 with(:headers => {'Accept' => ['image/png', 'image/jpeg']}).
183 to_return(:body => 'abc')
184 RestClient.get('www.example.com',
185 {"Accept" => ['image/png', 'image/jpeg']}) # ===> "abc\n"
186
187 * When real net connections are disabled and unstubbed request is made, WebMock throws WebMock::NetConnectNotAllowedError instead of assertion error or StandardError.
188
189 * Added WebMock.version()
190
191
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
192 ## 1.0.0
193
194 * Added support for [Patron](http://toland.github.com/patron/)
195
196 * Responses dynamically evaluated from block (idea and implementation by Tom Ward)
197
198 stub_request(:any, 'www.example.net').
199 to_return { |request| {:body => request.body} }
200
201 RestClient.post('www.example.net', 'abc') # ===> "abc\n"
202
203 * Responses dynamically evaluated from lambda (idea and implementation by Tom Ward)
204
205 stub_request(:any, 'www.example.net').
206 to_return(lambda { |request| {:body => request.body} })
207
208 RestClient.post('www.example.net', 'abc') # ===> "abc\n"
209
210 * Response with custom status message
211
212 stub_request(:any, "www.example.com").to_return(:status => [500, "Internal Server Error"])
213
214 req = Net::HTTP::Get.new("/")
215 Net::HTTP.start("www.example.com") { |http| http.request(req) }.message # ===> "Internal Server Error"
216
c3c92ba Added information about allowing localhost to version 1.0.0 changelog
Bartosz Blimke authored
217 * Raising timeout errors (suggested by Jeffrey Jones) (compatibility with Ruby 1.8.6 by Mack Earnhardt)
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
218
219 stub_request(:any, 'www.example.net').to_timeout
220
221 RestClient.post('www.example.net', 'abc') # ===> RestClient::RequestTimeout
222
c3c92ba Added information about allowing localhost to version 1.0.0 changelog
Bartosz Blimke authored
223 * External requests can be disabled while allowing localhost (idea and implementation by Mack Earnhardt)
224
225 WebMock.disable_net_connect!(:allow_localhost => true)
226
227 Net::HTTP.get('www.something.com', '/') # ===> Failure
228
229 Net::HTTP.get('localhost:9887', '/') # ===> Allowed. Perhaps to Selenium?
230
231
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
232 ### Bug fixes
233
234 * Fixed issue where Net::HTTP adapter didn't work for requests with body responding to read (reported by Tekin Suleyman)
c3c92ba Added information about allowing localhost to version 1.0.0 changelog
Bartosz Blimke authored
235 * Fixed issue where request stub with headers declared as nil was matching requests with non empty headers
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
236
b6c3b3b Version bump to 0.9.1
Bartosz Blimke authored
237 ## 0.9.1
238
239 * Fixed issue where response status code was not read from raw (curl -is) responses
240
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
241 ## 0.9.0
242
243 * Matching requests against provided block (by Sergio Gil)
244
245 stub_request(:post, "www.example.com").with { |request| request.body == "abc" }.to_return(:body => "def")
246 RestClient.post('www.example.com', 'abc') # ===> "def\n"
247 request(:post, "www.example.com").with { |req| req.body == "abc" }.should have_been_made
248 #or
249 assert_requested(:post, "www.example.com") { |req| req.body == "abc" }
250
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
251 * Matching request body against regular expressions (suggested by Ben Pickles)
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
252
253 stub_request(:post, "www.example.com").with(:body => /^.*world$/).to_return(:body => "abc")
254 RestClient.post('www.example.com', 'hello world') # ===> "abc\n"
255
66519c1 Updated changelog with 1.0.0 changes
Bartosz Blimke authored
256 * Matching request headers against regular expressions (suggested by Ben Pickles)
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
257
258 stub_request(:post, "www.example.com").with(:headers => {"Content-Type" => /image\/.+/}).to_return(:body => "abc")
259 RestClient.post('www.example.com', '', {'Content-Type' => 'image/png'}) # ===> "abc\n"
260
261 * Replaying raw responses recorded with `curl -is`
262
263 `curl -is www.example.com > /tmp/example_curl_-is_output.txt`
264 raw_response_file = File.new("/tmp/example_curl_-is_output.txt")
265
c2648fc Fixed formatting in 0.9.0 changelog
Bartosz Blimke authored
266 from file
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
267
268 stub_request(:get, "www.example.com").to_return(raw_response_file)
269
c2648fc Fixed formatting in 0.9.0 changelog
Bartosz Blimke authored
270 or string
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
271
272 stub_request(:get, "www.example.com").to_return(raw_response_file.read)
273
274 * Multiple responses for repeated requests
275
276 stub_request(:get, "www.example.com").to_return({:body => "abc"}, {:body => "def"})
277 Net::HTTP.get('www.example.com', '/') # ===> "abc\n"
278 Net::HTTP.get('www.example.com', '/') # ===> "def\n"
279
280 * Multiple responses using chained `to_return()` or `to_raise()` declarations
281
282 stub_request(:get, "www.example.com").
283 to_return({:body => "abc"}).then. #then() just is a syntactic sugar
284 to_return({:body => "def"}).then.
285 to_raise(MyException)
286 Net::HTTP.get('www.example.com', '/') # ===> "abc\n"
287 Net::HTTP.get('www.example.com', '/') # ===> "def\n"
288 Net::HTTP.get('www.example.com', '/') # ===> MyException raised
289
290 * Specifying number of times given response should be returned
291
292 stub_request(:get, "www.example.com").
293 to_return({:body => "abc"}).times(2).then.
294 to_return({:body => "def"})
295
296 Net::HTTP.get('www.example.com', '/') # ===> "abc\n"
297 Net::HTTP.get('www.example.com', '/') # ===> "abc\n"
298 Net::HTTP.get('www.example.com', '/') # ===> "def\n"
299
300 * Added support for `Net::HTTP::Post#body_stream`
301
c2648fc Fixed formatting in 0.9.0 changelog
Bartosz Blimke authored
302 This fixes compatibility with new versions of RestClient
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
303
304 * WebMock doesn't suppress default request headers added by http clients anymore.
305
c2648fc Fixed formatting in 0.9.0 changelog
Bartosz Blimke authored
306 i.e. Net::HTTP adds `'Accept'=>'*/*'` to all requests by default
5313e02 Added version 0.9.0 features to CHANGELOG and README
Bartosz Blimke authored
307
308
309
310 ## 0.8.2
311
312 * Fixed issue where WebMock was not closing IO object passed as response body after reading it.
313 * Ruby 1.9.2 compat: Use `File#expand_path` for require path because "." is not be included in LOAD_PATH since Ruby 1.9.2
314
315
316 ## 0.8.1
317
318 * Fixed HTTPClient adapter compatibility with Ruby 1.8.6 (reported by Piotr Usewicz)
319 * Net:HTTP adapter now handles request body assigned as Net::HTTP::Post#body attribute (fixed by Mack Earnhardt)
320 * Fixed issue where requests were not matching stubs with Accept header set.(reported by Piotr Usewicz)
321 * Fixed compatibility with Ruby 1.9.1, 1.9.2 and JRuby 1.3.1 (reported by Diego E. “Flameeyes” Pettenò)
322 * Fixed issue with response body declared as IO object and multiple requests (reported by Niels Meersschaert)
323 * Fixed "undefined method `assertion_failure'" error (reported by Nick Plante)
324
325
326 ## 0.8.0
327
328 * Support for HTTPClient (sync and async requests)
329 * Support for dynamic responses. Response body and headers can be now declared as lambda.
330 (Thanks to Ivan Vega ( @ivanyv ) for suggesting this feature)
331 * Support for stubbing and expecting requests with empty body
332 * Executing non-stubbed request leads to failed expectation instead of error
333
334
335 ### Bug fixes
336
337 * Basic authentication now works correctly
338 * Fixed problem where WebMock didn't call a block with the response when block was provided
339 * Fixed problem where uris with single slash were not matching uris without path provided
340
341
342 ## 0.7.3
343
344 * Clarified documentation
345 * Fixed some issues with loading of Webmock classes
346 * Test::Unit and RSpec adapters have to be required separately
347
348
349 ## 0.7.2
350
351 * Added support for matching escaped and non escaped URLs
Something went wrong with that request. Please try again.