webmock 3.21.0 → 3.21.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/CHANGELOG.md +13 -1
- data/README.md +8 -1
- data/lib/webmock/http_lib_adapters/net_http.rb +4 -2
- data/lib/webmock/response.rb +4 -4
- data/lib/webmock/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad4b861d9b998186e2b85f1da5e35dce4451d13d16822cf35f42d52fbce40de0
|
4
|
+
data.tar.gz: e7395eb84a1688a56f6916b4a58992cf1a88bcee695eb2e7f015260d33d3c677
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1599e16d961cf7a5a87fe2ac9030cd33ccb5d20d645832e317a36cbad45e4d4836cd506016d0f5a5a5ee69c502e7993ed8a33c6fce080b9a40aa5626f2a212b5
|
7
|
+
data.tar.gz: 044b1c3bc0ec98535f4949649984b33475390a1f5b4213abba21a61c357d93173088214c3e5dd4ef943ac21800485cd078ad5ef2bc722c7563c9fa8b5fd80ea5
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
# 3.21.2
|
4
|
+
|
5
|
+
* Corrected type checking in `WebMock::Response#assert_valid_body!` to accurately recognize `Hash` objects. Additionally, improved the clarity of the error message for unsupported body types, guiding users towards proper usage.
|
6
|
+
|
7
|
+
Thanks to [Jake Robb](https://github.com/jakerobb) for reporting.
|
8
|
+
|
9
|
+
# 3.21.1
|
10
|
+
|
11
|
+
* The stubbed Net::HTTPResponse#uri now returns request.uri, aligning it with the behavior of an actual Net::HTTPResponse.
|
12
|
+
|
13
|
+
Thanks to [Abe Voelker](https://github.com/abevoelker) for reporting and to [Victor Maslov](https://github.com/Nakilon) and [Gio Lodi](https://github.com/mokagio) for the suggested solution.
|
14
|
+
|
3
15
|
# 3.21.0
|
4
16
|
|
5
17
|
* Don't use deprecated Rack::VERSION for Rack >= 3
|
@@ -188,7 +200,7 @@
|
|
188
200
|
|
189
201
|
* Fixed async-http adapter to only considered requests as real if they are real.
|
190
202
|
|
191
|
-
Thanks to
|
203
|
+
Thanks to [Tony Schneider](https://github.com/tonywok) and [Samuel Williams](https://github.com/ioquatix)
|
192
204
|
|
193
205
|
# 3.11.2
|
194
206
|
|
data/README.md
CHANGED
@@ -606,7 +606,11 @@ which can be passed to `WebMock.allow_net_connect!` and `WebMock.disable_net_con
|
|
606
606
|
WebMock.allow_net_connect!(net_http_connect_on_start: true)
|
607
607
|
```
|
608
608
|
|
609
|
-
This forces WebMock Net::HTTP adapter to always connect on `Net::HTTP.start`.
|
609
|
+
This forces WebMock Net::HTTP adapter to always connect on `Net::HTTP.start`. At the time of connection being made there is no information about the request or URL yet, therefore WebMock is not able to decide whether to stub a request or not and all connections are allowed. To enable connections only to a specific domain (e.g. your test server) use:
|
610
|
+
|
611
|
+
```ruby
|
612
|
+
WebMock.allow_net_connect!(net_http_connect_on_start: "www.example.com")
|
613
|
+
```
|
610
614
|
|
611
615
|
## Setting Expectations
|
612
616
|
|
@@ -1195,6 +1199,9 @@ People who submitted patches and new features or suggested improvements. Many th
|
|
1195
1199
|
* Kazuhiro NISHIYAMA
|
1196
1200
|
* Étienne Barrié
|
1197
1201
|
* Matt Brown
|
1202
|
+
* Victor Maslov
|
1203
|
+
* Gio Lodi
|
1204
|
+
* Ryan Brooks
|
1198
1205
|
|
1199
1206
|
For a full list of contributors you can visit the
|
1200
1207
|
[contributors](https://github.com/bblimke/webmock/contributors) page.
|
@@ -77,7 +77,7 @@ module WebMock
|
|
77
77
|
@socket = Net::HTTP.socket_type.new
|
78
78
|
WebMock::CallbackRegistry.invoke_callbacks(
|
79
79
|
{lib: :net_http}, request_signature, webmock_response)
|
80
|
-
build_net_http_response(webmock_response, &block)
|
80
|
+
build_net_http_response(webmock_response, request.uri, &block)
|
81
81
|
elsif WebMock.net_connect_allowed?(request_signature.uri)
|
82
82
|
check_right_http_connection
|
83
83
|
after_request = lambda do |response|
|
@@ -144,7 +144,7 @@ module WebMock
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
def build_net_http_response(webmock_response, &block)
|
147
|
+
def build_net_http_response(webmock_response, request_uri, &block)
|
148
148
|
response = Net::HTTPResponse.send(:response_class, webmock_response.status[0].to_s).new("1.0", webmock_response.status[0].to_s, webmock_response.status[1])
|
149
149
|
body = webmock_response.body
|
150
150
|
body = nil if webmock_response.status[0].to_s == '204'
|
@@ -159,6 +159,8 @@ module WebMock
|
|
159
159
|
|
160
160
|
response.instance_variable_set(:@read, true)
|
161
161
|
|
162
|
+
response.uri = request_uri
|
163
|
+
|
162
164
|
response.extend Net::WebMockHTTPResponse
|
163
165
|
|
164
166
|
if webmock_response.should_timeout
|
data/lib/webmock/response.rb
CHANGED
@@ -117,11 +117,11 @@ module WebMock
|
|
117
117
|
return if @body.nil?
|
118
118
|
return if valid_types.any? { |c| @body.is_a?(c) }
|
119
119
|
|
120
|
-
if @body.
|
121
|
-
raise InvalidBody, "must be one of: #{valid_types}, but you've used a #{@body.class}
|
122
|
-
"
|
120
|
+
if @body.is_a?(Hash)
|
121
|
+
raise InvalidBody, "must be one of: #{valid_types}, but you've used a #{@body.class}. " \
|
122
|
+
"Please convert it by calling .to_json .to_xml, or otherwise convert it to a string."
|
123
123
|
else
|
124
|
-
raise InvalidBody, "must be one of: #{valid_types}. '#{@body.class}' given"
|
124
|
+
raise InvalidBody, "must be one of: #{valid_types}. '#{@body.class}' given."
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
data/lib/webmock/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.21.
|
4
|
+
version: 3.21.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bartosz Blimke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -371,9 +371,9 @@ licenses:
|
|
371
371
|
- MIT
|
372
372
|
metadata:
|
373
373
|
bug_tracker_uri: https://github.com/bblimke/webmock/issues
|
374
|
-
changelog_uri: https://github.com/bblimke/webmock/blob/v3.21.
|
375
|
-
documentation_uri: https://www.rubydoc.info/gems/webmock/3.21.
|
376
|
-
source_code_uri: https://github.com/bblimke/webmock/tree/v3.21.
|
374
|
+
changelog_uri: https://github.com/bblimke/webmock/blob/v3.21.2/CHANGELOG.md
|
375
|
+
documentation_uri: https://www.rubydoc.info/gems/webmock/3.21.2
|
376
|
+
source_code_uri: https://github.com/bblimke/webmock/tree/v3.21.2
|
377
377
|
wiki_uri: https://github.com/bblimke/webmock/wiki
|
378
378
|
post_install_message:
|
379
379
|
rdoc_options: []
|