webmock 1.8.5 → 1.8.6
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 +10 -0
- data/README.md +2 -0
- data/lib/webmock/rack_response.rb +2 -1
- data/lib/webmock/version.rb +1 -1
- data/lib/webmock/webmock.rb +17 -9
- data/spec/acceptance/shared/returning_declared_responses.rb +5 -3
- data/spec/support/my_rack_app.rb +6 -0
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.8.6
|
4
|
+
|
5
|
+
* Pass through SERVER_PORT when stubbing to rack
|
6
|
+
|
7
|
+
Thanks to [Eric Oestrich](https://github.com/oestrich)
|
8
|
+
|
9
|
+
* Fixed problem with missing parenthesis in `WebMock#net_connect_allowed?` conditions.
|
10
|
+
|
11
|
+
Thanks to [aindustries](https://github.com/aindustries)
|
12
|
+
|
3
13
|
## 1.8.5
|
4
14
|
|
5
15
|
* WebMock::RackResponse supports basic auth
|
data/README.md
CHANGED
@@ -703,6 +703,8 @@ People who submitted patches and new features or suggested improvements. Many th
|
|
703
703
|
* Joe Karayusuf
|
704
704
|
* Paul Cortens
|
705
705
|
* jugyo
|
706
|
+
* aindustries
|
707
|
+
* Eric Oestrich
|
706
708
|
|
707
709
|
For a full list of contributors you can visit the
|
708
710
|
[contributors](https://github.com/bblimke/webmock/contributors) page.
|
@@ -35,7 +35,8 @@ module WebMock
|
|
35
35
|
'CONTENT_LENGTH' => body.size,
|
36
36
|
'PATH_INFO' => uri.path,
|
37
37
|
'QUERY_STRING' => uri.query || '',
|
38
|
-
'SERVER_NAME' => uri.host
|
38
|
+
'SERVER_NAME' => uri.host,
|
39
|
+
'SERVER_PORT' => uri.port
|
39
40
|
}
|
40
41
|
|
41
42
|
env['HTTP_AUTHORIZATION'] = 'Basic ' + [uri.userinfo].pack('m').delete("\r\n") if uri.userinfo
|
data/lib/webmock/version.rb
CHANGED
data/lib/webmock/webmock.rb
CHANGED
@@ -57,12 +57,20 @@ module WebMock
|
|
57
57
|
if uri.is_a?(String)
|
58
58
|
uri = WebMock::Util::URI.normalize_uri(uri)
|
59
59
|
end
|
60
|
+
|
60
61
|
Config.instance.allow_net_connect ||
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
62
|
+
(
|
63
|
+
Config.instance.allow_localhost && WebMock::Util::URI.is_uri_localhost?(uri)) ||
|
64
|
+
Config.instance.allow && (
|
65
|
+
(Config.instance.allow.kind_of?(Regexp) && uri.to_s =~ Config.instance.allow) ||
|
66
|
+
(
|
67
|
+
Config.instance.allow.respond_to?(:include?) &&
|
68
|
+
(
|
69
|
+
Config.instance.allow.include?(uri.host) ||
|
70
|
+
Config.instance.allow.include?("#{uri.host}:#{uri.port}")
|
71
|
+
)
|
72
|
+
)
|
73
|
+
)
|
66
74
|
end
|
67
75
|
|
68
76
|
def self.reset!
|
@@ -105,10 +113,10 @@ module WebMock
|
|
105
113
|
registered_request?
|
106
114
|
).each do |method|
|
107
115
|
self.class_eval(%Q(
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
116
|
+
def #{method}(*args, &block)
|
117
|
+
WebMock::Deprecation.warning("WebMock##{method} instance method is deprecated. Please use WebMock.#{method} class method instead")
|
118
|
+
WebMock.#{method}(*args, &block)
|
119
|
+
end
|
112
120
|
))
|
113
121
|
end
|
114
122
|
|
@@ -238,12 +238,14 @@ shared_context "declared responses" do |*adapter_info|
|
|
238
238
|
end
|
239
239
|
|
240
240
|
describe "when response is declared as an Rack app" do
|
241
|
-
|
241
|
+
it "should return response returned by the rack app" do
|
242
242
|
stub_request(:any, "http://www.example.com/greet").to_rack(MyRackApp)
|
243
|
+
http_request(:post, 'http://www.example.com/greet', :body => 'name=Jimmy').body.should == 'Good to meet you, Jimmy!'
|
243
244
|
end
|
244
245
|
|
245
|
-
it "should
|
246
|
-
|
246
|
+
it "should pass along the port number to the rack app" do
|
247
|
+
stub_request(:get, "http://www.example.com/compute").to_rack(MyRackApp)
|
248
|
+
http_request(:get, "http://www.example.com/compute").status.should == "200"
|
247
249
|
end
|
248
250
|
end
|
249
251
|
|
data/spec/support/my_rack_app.rb
CHANGED
@@ -26,6 +26,12 @@ class MyRackApp
|
|
26
26
|
when ['POST', '/greet']
|
27
27
|
name = env["rack.input"].read[/name=([^&]*)/, 1] || "World"
|
28
28
|
[200, {}, ["Good to meet you, #{name}!"]]
|
29
|
+
when ['GET', '/compute']
|
30
|
+
if env['SERVER_PORT'] == 80
|
31
|
+
[200, {}, [""]]
|
32
|
+
else
|
33
|
+
[401, {}, [""]]
|
34
|
+
end
|
29
35
|
else
|
30
36
|
[404, {}, ['']]
|
31
37
|
end
|
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:
|
4
|
+
hash: 59
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 1.8.
|
9
|
+
- 6
|
10
|
+
version: 1.8.6
|
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: 2012-
|
18
|
+
date: 2012-04-04 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: addressable
|