webmock 1.7.8 → 1.7.10
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 +15 -0
- data/README.md +2 -0
- data/Rakefile +7 -0
- data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +16 -2
- data/lib/webmock/rspec.rb +1 -1
- data/lib/webmock/version.rb +1 -1
- data/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +22 -1
- metadata +47 -45
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.7.10
|
4
|
+
|
5
|
+
* Yanked 1.7.9 and rebuilt gem on 1.8.7 to deal with syck/psych incompatibilties in gemspec.
|
6
|
+
|
7
|
+
## 1.7.9
|
8
|
+
|
9
|
+
* Fixed support for native Typhoeus timeouts.
|
10
|
+
|
11
|
+
Thanks to [Albert Llop](https://github.com/mrsimo)
|
12
|
+
|
13
|
+
* Fixed problem with WebMock and RSpec compatibility on TeamCity servers. See [this article](http://www.coding4streetcred.com/blog/post/Issue-RubyMine-31-Webmock-162-and-%E2%80%9CSpecconfigure%E2%80%9D-curse.aspx) for more details.
|
14
|
+
|
15
|
+
Thanks to [Christopher Pickslay](https://github.com/chrispix) from [Two Bit Labs](https://github.com/twobitlabs)
|
16
|
+
|
17
|
+
|
3
18
|
## 1.7.8
|
4
19
|
|
5
20
|
* Fix each adapter so that it calls a `stub.with` block only once per
|
data/README.md
CHANGED
@@ -652,6 +652,8 @@ People who submitted patches and new features or suggested improvements. Many th
|
|
652
652
|
* Chris McGrath
|
653
653
|
* Stephen Celis
|
654
654
|
* Eugene Pimenov
|
655
|
+
* Albert Llop
|
656
|
+
* Christopher Pickslay
|
655
657
|
|
656
658
|
For a full list of contributors you can visit the
|
657
659
|
[contributors](https://github.com/bblimke/webmock/contributors) page.
|
data/Rakefile
CHANGED
@@ -56,3 +56,10 @@ RDoc::Task.new do |rdoc|
|
|
56
56
|
rdoc.rdoc_files.include('README*')
|
57
57
|
rdoc.rdoc_files.include('lib/webmock/webmock.rb')
|
58
58
|
end
|
59
|
+
|
60
|
+
|
61
|
+
task :require_ruby_18 do
|
62
|
+
raise "This must be run on Ruby 1.8" unless RUBY_VERSION =~ /^1\.8/
|
63
|
+
end
|
64
|
+
|
65
|
+
task :release => [:require_ruby_18]
|
@@ -49,15 +49,28 @@ if defined?(Typhoeus)
|
|
49
49
|
uri.password = req.password
|
50
50
|
end
|
51
51
|
|
52
|
+
body = req.body
|
53
|
+
|
54
|
+
if req.params && req.method == :post
|
55
|
+
body = request_body_for_post_request_with_params(req)
|
56
|
+
end
|
57
|
+
|
52
58
|
request_signature = WebMock::RequestSignature.new(
|
53
59
|
req.method,
|
54
60
|
uri.to_s,
|
55
|
-
:body =>
|
61
|
+
:body => body,
|
56
62
|
:headers => req.headers
|
57
63
|
)
|
58
64
|
request_signature
|
59
65
|
end
|
60
66
|
|
67
|
+
def self.request_body_for_post_request_with_params(req)
|
68
|
+
params = req.params
|
69
|
+
form = Typhoeus::Form.new(params)
|
70
|
+
form.process!
|
71
|
+
form.to_s
|
72
|
+
end
|
73
|
+
|
61
74
|
def self.build_webmock_response(typhoeus_response)
|
62
75
|
webmock_response = WebMock::Response.new
|
63
76
|
webmock_response.status = [typhoeus_response.code, typhoeus_response.status_message]
|
@@ -72,7 +85,8 @@ if defined?(Typhoeus)
|
|
72
85
|
:code => 0,
|
73
86
|
:status_message => "",
|
74
87
|
:body => "",
|
75
|
-
:headers_hash => {}
|
88
|
+
:headers_hash => {},
|
89
|
+
:curl_return_code => 28
|
76
90
|
)
|
77
91
|
else
|
78
92
|
::Typhoeus::Response.new(
|
data/lib/webmock/rspec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'webmock'
|
|
3
3
|
# RSpec 1.x and 2.x compatibility
|
4
4
|
if defined?(RSpec) && defined?(RSpec::Expectations)
|
5
5
|
RSPEC_NAMESPACE = RSPEC_CONFIGURER = RSpec
|
6
|
-
elsif defined?(Spec)
|
6
|
+
elsif defined?(Spec) && defined?(Spec.configure)
|
7
7
|
RSPEC_NAMESPACE = Spec
|
8
8
|
RSPEC_CONFIGURER = Spec::Runner
|
9
9
|
else
|
data/lib/webmock/version.rb
CHANGED
@@ -15,6 +15,28 @@ unless RUBY_PLATFORM =~ /java/
|
|
15
15
|
WebMock.reset!
|
16
16
|
end
|
17
17
|
|
18
|
+
describe "when params are used" do
|
19
|
+
it "should take into account params for POST request" do
|
20
|
+
stub_request(:post, "www.example.com").with(:body => {:hello => 'world'})
|
21
|
+
Typhoeus::Request.post("www.example.com", :params => {:hello => 'world'})
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should take into account params for GET request" do
|
25
|
+
stub_request(:get, "http://www.example.com/?hello=world")
|
26
|
+
Typhoeus::Request.get("www.example.com", :params => {:hello => 'world'})
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "timeouts" do
|
31
|
+
it "should support native typhoeus timeouts" do
|
32
|
+
stub_request(:any, "example.com").to_timeout
|
33
|
+
|
34
|
+
response = Typhoeus::Request.get("http://example.com")
|
35
|
+
|
36
|
+
response.should be_timed_out
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
18
40
|
describe "callbacks" do
|
19
41
|
before(:each) do
|
20
42
|
@hydra = Typhoeus::Hydra.new
|
@@ -46,7 +68,6 @@ unless RUBY_PLATFORM =~ /java/
|
|
46
68
|
@hydra.run
|
47
69
|
test.should == response_code
|
48
70
|
end
|
49
|
-
|
50
71
|
end
|
51
72
|
end
|
52
73
|
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: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 1.7.
|
9
|
+
- 10
|
10
|
+
version: 1.7.10
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bartosz Blimke
|
@@ -15,13 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-01-04 00:00:00 +01:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
type: :runtime
|
22
22
|
prerelease: false
|
23
|
-
|
24
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
27
26
|
- - ~>
|
@@ -39,12 +38,12 @@ dependencies:
|
|
39
38
|
- 2
|
40
39
|
- 5
|
41
40
|
version: 2.2.5
|
42
|
-
requirement: *id001
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
41
|
type: :runtime
|
42
|
+
name: addressable
|
43
|
+
version_requirements: *id001
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
45
|
prerelease: false
|
46
|
-
|
47
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
46
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
48
47
|
none: false
|
49
48
|
requirements:
|
50
49
|
- - ">="
|
@@ -55,12 +54,12 @@ dependencies:
|
|
55
54
|
- 1
|
56
55
|
- 7
|
57
56
|
version: 0.1.7
|
58
|
-
|
57
|
+
type: :runtime
|
58
|
+
name: crack
|
59
|
+
version_requirements: *id002
|
59
60
|
- !ruby/object:Gem::Dependency
|
60
|
-
type: :development
|
61
61
|
prerelease: false
|
62
|
-
|
63
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
62
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
64
63
|
none: false
|
65
64
|
requirements:
|
66
65
|
- - ">="
|
@@ -71,12 +70,12 @@ dependencies:
|
|
71
70
|
- 0
|
72
71
|
- 0
|
73
72
|
version: 2.0.0
|
74
|
-
requirement: *id003
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
73
|
type: :development
|
74
|
+
name: rspec
|
75
|
+
version_requirements: *id003
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
77
|
prerelease: false
|
78
|
-
|
79
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
78
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
80
79
|
none: false
|
81
80
|
requirements:
|
82
81
|
- - ">="
|
@@ -88,12 +87,12 @@ dependencies:
|
|
88
87
|
- 5
|
89
88
|
- 2
|
90
89
|
version: 2.1.5.2
|
91
|
-
requirement: *id004
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
90
|
type: :development
|
91
|
+
name: httpclient
|
92
|
+
version_requirements: *id004
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
94
|
prerelease: false
|
95
|
-
|
96
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
95
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
97
96
|
none: false
|
98
97
|
requirements:
|
99
98
|
- - ">="
|
@@ -104,12 +103,12 @@ dependencies:
|
|
104
103
|
- 4
|
105
104
|
- 15
|
106
105
|
version: 0.4.15
|
107
|
-
requirement: *id005
|
108
|
-
- !ruby/object:Gem::Dependency
|
109
106
|
type: :development
|
107
|
+
name: patron
|
108
|
+
version_requirements: *id005
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
110
|
prerelease: false
|
111
|
-
|
112
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
111
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
113
112
|
none: false
|
114
113
|
requirements:
|
115
114
|
- - ~>
|
@@ -120,12 +119,12 @@ dependencies:
|
|
120
119
|
- 3
|
121
120
|
- 0
|
122
121
|
version: 0.3.0
|
123
|
-
requirement: *id006
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
122
|
type: :development
|
123
|
+
name: em-http-request
|
124
|
+
version_requirements: *id006
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
126
|
prerelease: false
|
127
|
-
|
128
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
127
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
129
128
|
none: false
|
130
129
|
requirements:
|
131
130
|
- - "="
|
@@ -136,12 +135,12 @@ dependencies:
|
|
136
135
|
- 7
|
137
136
|
- 15
|
138
137
|
version: 0.7.15
|
139
|
-
requirement: *id007
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
138
|
type: :development
|
139
|
+
name: curb
|
140
|
+
version_requirements: *id007
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
142
|
prerelease: false
|
143
|
-
|
144
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
143
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
145
144
|
none: false
|
146
145
|
requirements:
|
147
146
|
- - ">="
|
@@ -152,12 +151,12 @@ dependencies:
|
|
152
151
|
- 2
|
153
152
|
- 4
|
154
153
|
version: 0.2.4
|
155
|
-
requirement: *id008
|
156
|
-
- !ruby/object:Gem::Dependency
|
157
154
|
type: :development
|
155
|
+
name: typhoeus
|
156
|
+
version_requirements: *id008
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
158
|
prerelease: false
|
159
|
-
|
160
|
-
version_requirements: &id009 !ruby/object:Gem::Requirement
|
159
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
161
160
|
none: false
|
162
161
|
requirements:
|
163
162
|
- - ">="
|
@@ -168,12 +167,12 @@ dependencies:
|
|
168
167
|
- 2
|
169
168
|
- 2
|
170
169
|
version: 2.2.2
|
171
|
-
requirement: *id009
|
172
|
-
- !ruby/object:Gem::Dependency
|
173
170
|
type: :development
|
171
|
+
name: minitest
|
172
|
+
version_requirements: *id009
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
174
|
prerelease: false
|
175
|
-
|
176
|
-
version_requirements: &id010 !ruby/object:Gem::Requirement
|
175
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
177
176
|
none: false
|
178
177
|
requirements:
|
179
178
|
- - ">"
|
@@ -184,7 +183,9 @@ dependencies:
|
|
184
183
|
- 5
|
185
184
|
- 0
|
186
185
|
version: 3.5.0
|
187
|
-
|
186
|
+
type: :development
|
187
|
+
name: rdoc
|
188
|
+
version_requirements: *id010
|
188
189
|
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
|
189
190
|
email:
|
190
191
|
- bartosz.blimke@gmail.com
|
@@ -302,6 +303,7 @@ files:
|
|
302
303
|
- test/test_helper.rb
|
303
304
|
- test/test_webmock.rb
|
304
305
|
- webmock.gemspec
|
306
|
+
has_rdoc: true
|
305
307
|
homepage: http://github.com/bblimke/webmock
|
306
308
|
licenses: []
|
307
309
|
|
@@ -331,7 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
331
333
|
requirements: []
|
332
334
|
|
333
335
|
rubyforge_project: webmock
|
334
|
-
rubygems_version: 1.
|
336
|
+
rubygems_version: 1.6.2
|
335
337
|
signing_key:
|
336
338
|
specification_version: 3
|
337
339
|
summary: Library for stubbing HTTP requests in Ruby.
|