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.
@@ -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.