webmock 1.7.8 → 1.7.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 => req.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(
@@ -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
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '1.7.8' unless defined?(::WebMock::VERSION)
2
+ VERSION = '1.7.10' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -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: 27
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
- - 8
10
- version: 1.7.8
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: 2011-11-20 00:00:00 Z
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
- name: addressable
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
- name: crack
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
- requirement: *id002
57
+ type: :runtime
58
+ name: crack
59
+ version_requirements: *id002
59
60
  - !ruby/object:Gem::Dependency
60
- type: :development
61
61
  prerelease: false
62
- name: rspec
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
- name: httpclient
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
- name: patron
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
- name: em-http-request
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
- name: curb
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
- name: typhoeus
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
- name: minitest
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
- name: rdoc
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
- requirement: *id010
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.8.6
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.