patron 0.4.20 → 0.5.0

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.
@@ -38,197 +38,197 @@ describe Patron::Session do
38
38
  it "should retrieve a url with :get" do
39
39
  response = @session.get("/test")
40
40
  body = YAML::load(response.body)
41
- body.request_method.should == "GET"
41
+ expect(body.request_method).to be == "GET"
42
42
  end
43
43
 
44
44
  it "should download content with :get and a file path" do
45
45
  tmpfile = "/tmp/patron_test.yaml"
46
46
  response = @session.get_file "/test", tmpfile
47
- response.body.should be_nil
47
+ expect(response.body).to be_nil
48
48
  body = YAML::load_file(tmpfile)
49
- body.request_method.should == "GET"
49
+ expect(body.request_method).to be == "GET"
50
50
  FileUtils.rm tmpfile
51
51
  end
52
52
 
53
53
  it "should download correctly(md5 ok) with get_file" do
54
54
  tmpfile = "/tmp/picture"
55
55
  response = @session.get_file "/picture", tmpfile
56
- response.body.should be_nil
57
- File.size(File.join(File.dirname(__FILE__),"../pic.png")).should == File.size(tmpfile)
56
+ expect(response.body).to be_nil
57
+ expect(File.size(File.join(File.dirname(__FILE__),"../pic.png"))).to be == File.size(tmpfile)
58
58
  FileUtils.rm tmpfile
59
59
  end
60
60
 
61
61
  it "should include custom headers in a request" do
62
62
  response = @session.get("/test", {"User-Agent" => "PatronTest"})
63
63
  body = YAML::load(response.body)
64
- body.header["user-agent"].should == ["PatronTest"]
64
+ expect(body.header["user-agent"]).to be == ["PatronTest"]
65
65
  end
66
66
 
67
67
  it "should merge custom headers with session headers" do
68
68
  @session.headers["X-Test"] = "Testing"
69
69
  response = @session.get("/test", {"User-Agent" => "PatronTest"})
70
70
  body = YAML::load(response.body)
71
- body.header["user-agent"].should == ["PatronTest"]
72
- body.header["x-test"].should == ["Testing"]
71
+ expect(body.header["user-agent"]).to be == ["PatronTest"]
72
+ expect(body.header["x-test"]).to be == ["Testing"]
73
73
  end
74
74
 
75
75
  it "should raise an exception on timeout" do
76
76
  @session.timeout = 1
77
- lambda {@session.get("/timeout")}.should raise_error(Patron::TimeoutError)
77
+ expect {@session.get("/timeout")}.to raise_error(Patron::TimeoutError)
78
78
  end
79
79
 
80
80
  it "should follow redirects by default" do
81
81
  @session.max_redirects = 1
82
82
  response = @session.get("/redirect")
83
83
  body = YAML::load(response.body)
84
- response.status.should == 200
85
- body.path.should == "/test"
84
+ expect(response.status).to be == 200
85
+ expect(body.path).to be == "/test"
86
86
  end
87
87
 
88
88
  it "should include redirect count in response" do
89
89
  @session.max_redirects = 1
90
90
  response = @session.get("/redirect")
91
- response.redirect_count.should == 1
91
+ expect(response.redirect_count).to be == 1
92
92
  end
93
93
 
94
94
  it "should not follow redirects when configured to do so" do
95
95
  @session.max_redirects = 0
96
96
  response = @session.get("/redirect")
97
- response.status.should == 301
98
- response.body.should be_empty
97
+ expect(response.status).to be == 301
98
+ expect(response.body).to be_empty
99
99
  end
100
100
 
101
101
  it "should retrieve URL metadata with :head" do
102
102
  response = @session.head("/test")
103
- response.status.should == 200
104
- response.body.should be_empty
105
- response.headers.should_not be_empty
103
+ expect(response.status).to be == 200
104
+ expect(response.body).to be_empty
105
+ expect(response.headers).to_not be_empty
106
106
  end
107
107
 
108
108
  it "should send a delete request with :delete" do
109
109
  response = @session.delete("/test")
110
110
  body = YAML::load(response.body)
111
- body.request_method.should == "DELETE"
111
+ expect(body.request_method).to be == "DELETE"
112
112
  end
113
113
 
114
114
  it "should send a COPY request with :copy" do
115
115
  response = @session.copy("/test", "/test2")
116
116
  body = YAML::load(response.body)
117
- body.request_method.should == "COPY"
117
+ expect(body.request_method).to be == "COPY"
118
118
  end
119
119
 
120
120
  it "should include a Destination header in COPY requests" do
121
121
  response = @session.copy("/test", "/test2")
122
122
  body = YAML::load(response.body)
123
- body.header['destination'].first.should == "/test2"
123
+ expect(body.header['destination'].first).to be == "/test2"
124
124
  end
125
125
 
126
126
  it "should upload data with :get" do
127
127
  data = "upload data"
128
128
  response = @session.request(:get, "/test", {}, :data => data)
129
129
  body = YAML::load(response.body)
130
- body.request_method.should == "GET"
131
- body.header['content-length'].should == [data.size.to_s]
130
+ expect(body.request_method).to be == "GET"
131
+ expect(body.header['content-length']).to be == [data.size.to_s]
132
132
  end
133
133
 
134
134
  it "should upload data with :put" do
135
135
  data = "upload data"
136
136
  response = @session.put("/test", data)
137
137
  body = YAML::load(response.body)
138
- body.request_method.should == "PUT"
139
- body.header['content-length'].should == [data.size.to_s]
138
+ expect(body.request_method).to be == "PUT"
139
+ expect(body.header['content-length']).to be == [data.size.to_s]
140
140
  end
141
141
 
142
142
  it "should raise when no data is provided to :put" do
143
- lambda { @session.put("/test", nil) }.should raise_error(ArgumentError)
143
+ expect { @session.put("/test", nil) }.to raise_error(ArgumentError)
144
144
  end
145
145
 
146
146
  it "should upload a file with :put" do
147
147
  response = @session.put_file("/test", "LICENSE")
148
148
  body = YAML::load(response.body)
149
- body.request_method.should == "PUT"
149
+ expect(body.request_method).to be == "PUT"
150
150
  end
151
151
 
152
152
  it "should raise when no file is provided to :put" do
153
- lambda { @session.put_file("/test", nil) }.should raise_error(ArgumentError)
153
+ expect { @session.put_file("/test", nil) }.to raise_error(ArgumentError)
154
154
  end
155
155
 
156
156
  it "should use chunked encoding when uploading a file with :put" do
157
157
  response = @session.put_file("/test", "LICENSE")
158
158
  body = YAML::load(response.body)
159
- body.header['transfer-encoding'].first.should == "chunked"
159
+ expect(body.header['transfer-encoding'].first).to be == "chunked"
160
160
  end
161
161
 
162
162
  it "should upload data with :post" do
163
163
  data = "upload data"
164
164
  response = @session.post("/test", data)
165
165
  body = YAML::load(response.body)
166
- body.request_method.should == "POST"
167
- body.header['content-length'].should == [data.size.to_s]
166
+ expect(body.request_method).to be == "POST"
167
+ expect(body.header['content-length']).to be == [data.size.to_s]
168
168
  end
169
169
 
170
170
  it "should post a hash of arguments as a urlencoded form" do
171
171
  data = {:foo => 123, 'baz' => '++hello world++'}
172
172
  response = @session.post("/testpost", data)
173
173
  body = YAML::load(response.body)
174
- body['content_type'].should == "application/x-www-form-urlencoded"
175
- body['body'].should match(/baz=%2B%2Bhello%20world%2B%2B/)
176
- body['body'].should match(/foo=123/)
174
+ expect(body['content_type']).to be == "application/x-www-form-urlencoded"
175
+ expect(body['body']).to match(/baz=%2B%2Bhello%20world%2B%2B/)
176
+ expect(body['body']).to match(/foo=123/)
177
177
  end
178
178
 
179
179
  it "should raise when no data is provided to :post" do
180
- lambda { @session.post("/test", nil) }.should raise_error(ArgumentError)
180
+ expect { @session.post("/test", nil) }.to raise_error(ArgumentError)
181
181
  end
182
182
 
183
183
  it "should upload a file with :post" do
184
184
  response = @session.post_file("/test", "LICENSE")
185
185
  body = YAML::load(response.body)
186
- body.request_method.should == "POST"
186
+ expect(body.request_method).to be == "POST"
187
187
  end
188
188
 
189
189
  it "should upload a multipart with :post" do
190
190
  response = @session.post_multipart("/test", { :test_data => "123" }, { :test_file => "LICENSE" } )
191
191
  body = YAML::load(response.body)
192
- body.request_method.should == "POST"
192
+ expect(body.request_method).to be == "POST"
193
193
  end
194
194
 
195
195
  it "should raise when no file is provided to :post" do
196
- lambda { @session.post_file("/test", nil) }.should raise_error(ArgumentError)
196
+ expect { @session.post_file("/test", nil) }.to raise_error(ArgumentError)
197
197
  end
198
198
 
199
199
  it "should use chunked encoding when uploading a file with :post" do
200
200
  response = @session.post_file("/test", "LICENSE")
201
201
  body = YAML::load(response.body)
202
- body.header['transfer-encoding'].first.should == "chunked"
202
+ expect(body.header['transfer-encoding'].first).to be == "chunked"
203
203
  end
204
204
 
205
205
  it "should handle cookies if set" do
206
206
  @session.handle_cookies
207
207
  response = @session.get("/setcookie").body
208
- YAML::load(response).header['cookie'].first.should == "session_id=foo123"
208
+ expect(YAML::load(response).header['cookie'].first).to be == "session_id=foo123"
209
209
  end
210
210
 
211
211
  it "should not handle cookies by default" do
212
212
  response = @session.get("/setcookie").body
213
- YAML::load(response).header.should_not include('cookie')
213
+ expect(YAML::load(response).header).to_not include('cookie')
214
214
  end
215
215
 
216
216
  it "should ignore a wrong Content-Length when asked to" do
217
- lambda {
217
+ expect {
218
218
  @session.ignore_content_length = true
219
219
  @session.get("/wrongcontentlength")
220
- }.should_not raise_error
220
+ }.to_not raise_error
221
221
  end
222
222
 
223
223
  it "should fail by default with a Content-Length too high" do
224
- lambda {
224
+ expect {
225
225
  @session.ignore_content_length = nil
226
226
  @session.get("/wrongcontentlength")
227
- }.should raise_error(Patron::PartialFileError)
227
+ }.to raise_error(Patron::PartialFileError)
228
228
  end
229
229
 
230
230
  it "should raise exception if cookie store is not writable or readable" do
231
- lambda { @session.handle_cookies("/trash/clash/foo") }.should raise_error(ArgumentError)
231
+ expect { @session.handle_cookies("/trash/clash/foo") }.to raise_error(ArgumentError)
232
232
  end
233
233
 
234
234
  it "should work with multiple threads" do
@@ -244,12 +244,11 @@ describe Patron::Session do
244
244
  threads.each {|t| t.join }
245
245
  end
246
246
 
247
- xit "should fail when insecure mode is off" do
248
- # This spec fails, but I suspect that it is a setup problem.
249
- lambda {
247
+ it "should fail when insecure mode is off" do
248
+ expect {
250
249
  @session.insecure = nil
251
250
  response = @session.get("/test")
252
- }.should raise_error(Patron::Error)
251
+ }.to raise_error(Patron::Error)
253
252
  end
254
253
 
255
254
  it "should work when insecure mode is off but certificate is supplied" do
@@ -257,14 +256,14 @@ describe Patron::Session do
257
256
  @session.cacert = 'spec/certs/cacert.pem'
258
257
  response = @session.get("/test")
259
258
  body = YAML::load(response.body)
260
- body.request_method.should == "GET"
259
+ expect(body.request_method).to be == "GET"
261
260
  end
262
261
 
263
262
  it "should work with different SSL versions" do
264
263
  ['SSLv3', 'TLSv1'].each do |version|
265
264
  @session.ssl_version = version
266
265
  response = @session.get("/test")
267
- response.status.should == 200
266
+ expect(response.status).to be == 200
268
267
  end
269
268
  end
270
269
 
@@ -274,10 +273,10 @@ describe Patron::Session do
274
273
  rdev = STDERR.stat.rdev
275
274
 
276
275
  @session.enable_debug
277
- STDERR.stat.rdev.should be == rdev
276
+ expect(STDERR.stat.rdev).to be == rdev
278
277
 
279
278
  @session.enable_debug
280
- STDERR.stat.rdev.should be == rdev
279
+ expect(STDERR.stat.rdev).to be == rdev
281
280
  end
282
281
  end
283
282
 
@@ -21,7 +21,17 @@
21
21
  ## THE SOFTWARE.
22
22
  ##
23
23
  ## -------------------------------------------------------------------
24
+ if ENV["COVERAGE"]
25
+ require 'simplecov'
26
+ SimpleCov.start do
27
+ add_filter "/spec/"
28
+ end
29
+ end
30
+
24
31
  require 'rspec'
32
+ # Kill warnings that not raising a specific exception still allows the method
33
+ # to fail with another exception
34
+ RSpec::Expectations.configuration.warn_about_potential_false_positives = false
25
35
 
26
36
  $:.unshift(File.dirname(__FILE__) + '/../lib')
27
37
  $:.unshift(File.dirname(__FILE__) + '/../ext')
@@ -24,14 +24,14 @@
24
24
  require File.expand_path("./spec") + '/spec_helper.rb'
25
25
 
26
26
  describe Patron::Util do
27
-
27
+
28
28
  describe :build_query_pairs_from_hash do
29
29
  it "correctly serializes a simple hash" do
30
30
  hash = {:foo => "bar", "baz" => 42}
31
31
  array = Patron::Util.build_query_pairs_from_hash(hash)
32
- array.size.should == 2
33
- array.should include("foo=bar")
34
- array.should include("baz=42")
32
+ expect(array.size).to be == 2
33
+ expect(array).to include("foo=bar")
34
+ expect(array).to include("baz=42")
35
35
  end
36
36
  it "correctly serializes a more complex hash" do
37
37
  hash = {
@@ -49,21 +49,21 @@ describe Patron::Util do
49
49
  }
50
50
  }
51
51
  array = Patron::Util.build_query_pairs_from_hash(hash)
52
- array.size.should == 4
53
- array.should include("foo=bar")
54
- array.should include("baz[quux][zing][ying]=42")
55
- array.should include("baz[blargh][spaz]=sox")
56
- array.should include("baz[blargh][razz]=matazz")
52
+ expect(array.size).to be == 4
53
+ expect(array).to include("foo=bar")
54
+ expect(array).to include("baz[quux][zing][ying]=42")
55
+ expect(array).to include("baz[blargh][spaz]=sox")
56
+ expect(array).to include("baz[blargh][razz]=matazz")
57
57
  end
58
58
  end
59
-
59
+
60
60
  describe :build_query_string_from_hash do
61
61
  it "correctly serializes a simple hash" do
62
62
  hash = {:foo => "bar", "baz" => 42}
63
63
  array = Patron::Util.build_query_string_from_hash(hash).split('&')
64
- array.size.should == 2
65
- array.should include("foo=bar")
66
- array.should include("baz=42")
64
+ expect(array.size).to be == 2
65
+ expect(array).to include("foo=bar")
66
+ expect(array).to include("baz=42")
67
67
  end
68
68
  it "correctly serializes a more complex hash" do
69
69
  hash = {
@@ -81,12 +81,12 @@ describe Patron::Util do
81
81
  }
82
82
  }
83
83
  array = Patron::Util.build_query_string_from_hash(hash).split('&')
84
- array.size.should == 4
85
- array.should include("foo=bar")
86
- array.should include("baz[quux][zing][ying]=42")
87
- array.should include("baz[blargh][spaz]=sox")
88
- array.should include("baz[blargh][razz]=matazz")
84
+ expect(array.size).to be == 4
85
+ expect(array).to include("foo=bar")
86
+ expect(array).to include("baz[quux][zing][ying]=42")
87
+ expect(array).to include("baz[blargh][spaz]=sox")
88
+ expect(array).to include("baz[blargh][razz]=matazz")
89
89
  end
90
90
  end
91
-
92
- end
91
+
92
+ end
metadata CHANGED
@@ -1,80 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.20
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Phillip Toland
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-02-20 00:00:00.000000000 Z
11
+ date: 2015-09-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.0.0
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.0.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake-compiler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: 0.7.5
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.7.5
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: 2.3.0
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: 2.3.0
62
55
  - !ruby/object:Gem::Dependency
63
- name: rcov
56
+ name: simplecov
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
- version: 0.9.9
61
+ version: 0.10.0
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
- version: 0.9.9
68
+ version: 0.10.0
78
69
  description: Ruby HTTP client library based on libcurl
79
70
  email:
80
71
  - phil.toland@gmail.com
@@ -83,9 +74,9 @@ extensions:
83
74
  - ext/patron/extconf.rb
84
75
  extra_rdoc_files: []
85
76
  files:
86
- - .autotest
87
- - .gitignore
88
- - .rspec
77
+ - ".autotest"
78
+ - ".gitignore"
79
+ - ".rspec"
89
80
  - Gemfile
90
81
  - Gemfile.lock
91
82
  - LICENSE
@@ -121,27 +112,26 @@ files:
121
112
  - spec/util_spec.rb
122
113
  homepage: https://github.com/toland/patron
123
114
  licenses: []
115
+ metadata: {}
124
116
  post_install_message:
125
117
  rdoc_options: []
126
118
  require_paths:
127
119
  - lib
128
120
  - ext
129
121
  required_ruby_version: !ruby/object:Gem::Requirement
130
- none: false
131
122
  requirements:
132
- - - ! '>='
123
+ - - ">="
133
124
  - !ruby/object:Gem::Version
134
125
  version: '0'
135
126
  required_rubygems_version: !ruby/object:Gem::Requirement
136
- none: false
137
127
  requirements:
138
- - - ! '>='
128
+ - - ">="
139
129
  - !ruby/object:Gem::Version
140
130
  version: 1.2.0
141
131
  requirements: []
142
132
  rubyforge_project: patron
143
- rubygems_version: 1.8.23
133
+ rubygems_version: 2.4.5.1
144
134
  signing_key:
145
- specification_version: 3
135
+ specification_version: 4
146
136
  summary: Patron HTTP Client
147
137
  test_files: []