maremma 3.6 → 3.6.1
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +24 -23
- data/README.md +1 -1
- data/lib/maremma/version.rb +1 -1
- data/lib/maremma.rb +5 -2
- data/maremma.gemspec +1 -1
- data/spec/maremma_spec.rb +44 -3
- metadata +5 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ec281d3b385d2d0eef4a9f59f50ecc8e7dec4e71ac54e73291a2a1711142219d
|
4
|
+
data.tar.gz: df794f29494d832c761548457749311a977b51823590cf313aee08b8607988c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a82951014812c66ab5fada2ea5a9d2a16fc961c667b74aa3cc5a667f6e409eb5c0b08b41c85d3602a6897d67ef3d225b34444c3cf3b1e320dee82a307468ac2
|
7
|
+
data.tar.gz: 581d70b90b2bdfa0f0edc05c980a4b38d3e18954a938d0c36dda22ffb324caa8fcbf26346d69650c520542366d921c35dbd008c94eeb9ffda0a3bc23e364d2af
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## v.3.6.1 (January 9, 2018)
|
2
|
+
|
3
|
+
[maremma 3.6.1](https://github.com/datacite/maremma/releases/tag/v.3.6.1) was released on January 9, 2018:
|
4
|
+
|
5
|
+
* correctly show 401 status and error message
|
6
|
+
|
1
7
|
## v.3.6 (October 14, 2017)
|
2
8
|
|
3
9
|
[maremma 3.6](https://github.com/datacite/maremma/releases/tag/v.3.6) was released on October 14, 2017:
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
maremma (3.6)
|
4
|
+
maremma (3.6.1)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
addressable (>= 2.3.6)
|
7
7
|
builder (~> 3.2, >= 3.2.2)
|
@@ -10,7 +10,7 @@ PATH
|
|
10
10
|
faraday-encoding (~> 0.0.1)
|
11
11
|
faraday_middleware (~> 0.10.0)
|
12
12
|
multi_json (~> 1.12)
|
13
|
-
nokogiri (~> 1.
|
13
|
+
nokogiri (~> 1.8.1)
|
14
14
|
oj (>= 2.8.3)
|
15
15
|
|
16
16
|
GEM
|
@@ -39,33 +39,34 @@ GEM
|
|
39
39
|
faraday_middleware (0.10.1)
|
40
40
|
faraday (>= 0.7.4, < 1.0)
|
41
41
|
hashdiff (0.3.7)
|
42
|
-
i18n (0.
|
42
|
+
i18n (0.9.1)
|
43
|
+
concurrent-ruby (~> 1.0)
|
43
44
|
json (2.1.0)
|
44
45
|
mini_portile2 (2.3.0)
|
45
|
-
minitest (5.
|
46
|
-
multi_json (1.
|
46
|
+
minitest (5.11.1)
|
47
|
+
multi_json (1.13.0)
|
47
48
|
multipart-post (2.0.0)
|
48
49
|
nokogiri (1.8.1)
|
49
50
|
mini_portile2 (~> 2.3.0)
|
50
|
-
oj (3.3.
|
51
|
-
public_suffix (3.0.
|
51
|
+
oj (3.3.10)
|
52
|
+
public_suffix (3.0.1)
|
52
53
|
rack (2.0.3)
|
53
|
-
rack-test (0.
|
54
|
+
rack-test (0.8.2)
|
54
55
|
rack (>= 1.0, < 3)
|
55
|
-
rake (12.
|
56
|
-
rspec (3.
|
57
|
-
rspec-core (~> 3.
|
58
|
-
rspec-expectations (~> 3.
|
59
|
-
rspec-mocks (~> 3.
|
60
|
-
rspec-core (3.
|
61
|
-
rspec-support (~> 3.
|
62
|
-
rspec-expectations (3.
|
56
|
+
rake (12.3.0)
|
57
|
+
rspec (3.7.0)
|
58
|
+
rspec-core (~> 3.7.0)
|
59
|
+
rspec-expectations (~> 3.7.0)
|
60
|
+
rspec-mocks (~> 3.7.0)
|
61
|
+
rspec-core (3.7.1)
|
62
|
+
rspec-support (~> 3.7.0)
|
63
|
+
rspec-expectations (3.7.0)
|
63
64
|
diff-lcs (>= 1.2.0, < 2.0)
|
64
|
-
rspec-support (~> 3.
|
65
|
-
rspec-mocks (3.
|
65
|
+
rspec-support (~> 3.7.0)
|
66
|
+
rspec-mocks (3.7.0)
|
66
67
|
diff-lcs (>= 1.2.0, < 2.0)
|
67
|
-
rspec-support (~> 3.
|
68
|
-
rspec-support (3.
|
68
|
+
rspec-support (~> 3.7.0)
|
69
|
+
rspec-support (3.7.0)
|
69
70
|
safe_yaml (1.0.4)
|
70
71
|
simplecov (0.13.0)
|
71
72
|
docile (~> 1.1.0)
|
@@ -73,10 +74,10 @@ GEM
|
|
73
74
|
simplecov-html (~> 0.10.0)
|
74
75
|
simplecov-html (0.10.2)
|
75
76
|
thread_safe (0.3.6)
|
76
|
-
tzinfo (1.2.
|
77
|
+
tzinfo (1.2.4)
|
77
78
|
thread_safe (~> 0.1)
|
78
79
|
vcr (3.0.3)
|
79
|
-
webmock (3.1
|
80
|
+
webmock (3.2.1)
|
80
81
|
addressable (>= 2.3.6)
|
81
82
|
crack (>= 0.3.2)
|
82
83
|
hashdiff
|
@@ -96,4 +97,4 @@ DEPENDENCIES
|
|
96
97
|
webmock (~> 3.0, >= 3.0.1)
|
97
98
|
|
98
99
|
BUNDLED WITH
|
99
|
-
1.
|
100
|
+
1.16.0
|
data/README.md
CHANGED
@@ -26,7 +26,7 @@ gem install maremma
|
|
26
26
|
|
27
27
|
## Usage
|
28
28
|
```ruby
|
29
|
-
Maremma.get '
|
29
|
+
Maremma.get 'https://dlm.datacite.org/heartbeat' => { "data" => { "services"=>{ "mysql"=>"OK",
|
30
30
|
"memcached"=>"OK",
|
31
31
|
"redis"=>"OK",
|
32
32
|
"sidekiq"=>"OK",
|
data/lib/maremma/version.rb
CHANGED
data/lib/maremma.rb
CHANGED
@@ -138,7 +138,7 @@ module Maremma
|
|
138
138
|
# GitHub uses different format for token authentication
|
139
139
|
headers["Authorization"] = "Token #{options[:github_token]}"
|
140
140
|
elsif options[:username].present?
|
141
|
-
basic = Base64.strict_encode64("#{options[:username]}:#{options[:password]}")
|
141
|
+
basic = Base64.strict_encode64("#{options[:username]}:#{options[:password]}").chomp
|
142
142
|
headers["Authorization"] = "Basic #{basic}"
|
143
143
|
end
|
144
144
|
|
@@ -148,8 +148,11 @@ module Maremma
|
|
148
148
|
def self.rescue_faraday_error(error)
|
149
149
|
if error.is_a?(Faraday::ResourceNotFound)
|
150
150
|
{ 'errors' => [{ 'status' => 404, 'title' => "Not found" }] }
|
151
|
+
elsif error.message == "Unauthorized" || error.try(:response) && error.response[:status] == 401
|
152
|
+
{ 'errors' => [{ 'status' => 401, 'title' =>"Unauthorized" }] }
|
151
153
|
elsif error.is_a?(Faraday::ConnectionFailed)
|
152
|
-
{ 'errors' => [{ 'status' =>
|
154
|
+
{ 'errors' => [{ 'status' => 403, 'title' => parse_error_response(error.message) }] }
|
155
|
+
|
153
156
|
elsif error.is_a?(Faraday::TimeoutError) || (error.try(:response) && error.response[:status] == 408)
|
154
157
|
{ 'errors' => [{ 'status' => 408, 'title' =>"Request timeout" }] }
|
155
158
|
else
|
data/maremma.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency 'faraday_middleware', '~> 0.10.0'
|
24
24
|
s.add_dependency 'faraday-encoding', '~> 0.0.1'
|
25
25
|
s.add_dependency 'excon', '~> 0.45.0'
|
26
|
-
s.add_dependency 'nokogiri', '~> 1.
|
26
|
+
s.add_dependency 'nokogiri', '~> 1.8.1'
|
27
27
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
28
28
|
s.add_dependency 'multi_json', '~> 1.12'
|
29
29
|
s.add_dependency 'oj', '>= 2.8.3'
|
data/spec/maremma_spec.rb
CHANGED
@@ -259,21 +259,21 @@ describe Maremma do
|
|
259
259
|
it "get json" do
|
260
260
|
stub = stub_request(:get, url).to_raise(Faraday::ConnectionFailed.new("Connection refused - connect(2)"))
|
261
261
|
response = subject.get(url)
|
262
|
-
expect(response.body).to eq("errors"=>[{"status"=>
|
262
|
+
expect(response.body).to eq("errors"=>[{"status"=>403, "title"=>"Connection refused - connect(2)"}])
|
263
263
|
expect(stub).to have_been_requested
|
264
264
|
end
|
265
265
|
|
266
266
|
it "get xml" do
|
267
267
|
stub = stub_request(:get, url).to_raise(Faraday::ConnectionFailed.new("Connection refused - connect(2)"))
|
268
268
|
response = subject.get(url, accept: 'xml')
|
269
|
-
expect(response.body).to eq("errors"=>[{"status"=>
|
269
|
+
expect(response.body).to eq("errors"=>[{"status"=>403, "title"=>"Connection refused - connect(2)"}])
|
270
270
|
expect(stub).to have_been_requested
|
271
271
|
end
|
272
272
|
|
273
273
|
it "get html" do
|
274
274
|
stub = stub_request(:get, url).to_raise(Faraday::ConnectionFailed.new("Connection refused - connect(2)"))
|
275
275
|
response = subject.get(url, accept: 'html')
|
276
|
-
expect(response.body).to eq("errors"=>[{"status"=>
|
276
|
+
expect(response.body).to eq("errors"=>[{"status"=>403, "title"=>"Connection refused - connect(2)"}])
|
277
277
|
expect(stub).to have_been_requested
|
278
278
|
end
|
279
279
|
|
@@ -290,6 +290,47 @@ describe Maremma do
|
|
290
290
|
end
|
291
291
|
end
|
292
292
|
|
293
|
+
context "unauthorized" do
|
294
|
+
it "get json" do
|
295
|
+
stub = stub_request(:get, url).to_raise(Faraday::Error::ClientError.new("Unauthorized"))
|
296
|
+
response = subject.get(url)
|
297
|
+
expect(response.body).to eq("errors"=>[{"status"=>401, "title"=>"Unauthorized"}])
|
298
|
+
expect(stub).to have_been_requested
|
299
|
+
end
|
300
|
+
|
301
|
+
it "get xml" do
|
302
|
+
stub = stub_request(:get, url).to_raise(Faraday::Error::ClientError.new("Unauthorized"))
|
303
|
+
response = subject.get(url, accept: 'xml')
|
304
|
+
expect(response.body).to eq("errors"=>[{"status"=>401, "title"=>"Unauthorized"}])
|
305
|
+
expect(stub).to have_been_requested
|
306
|
+
end
|
307
|
+
|
308
|
+
it "get html" do
|
309
|
+
stub = stub_request(:get, url).to_raise(Faraday::Error::ClientError.new("Unauthorized"))
|
310
|
+
response = subject.get(url, accept: 'html')
|
311
|
+
expect(response.body).to eq("errors"=>[{"status"=>401, "title"=>"Unauthorized"}])
|
312
|
+
expect(stub).to have_been_requested
|
313
|
+
end
|
314
|
+
|
315
|
+
it "post xml" do
|
316
|
+
stub = stub_request(:post, url).with(:body => post_data.to_xml).to_raise(Faraday::Error::ClientError.new("Unauthorized"))
|
317
|
+
subject.post(url, accept: 'xml', data: post_data.to_xml) do |response|
|
318
|
+
expect(response.body).to be_nil
|
319
|
+
expect(response.status).to eq("errors"=>[{"status"=>401, "title"=>"Unauthorized"}])
|
320
|
+
end
|
321
|
+
expect(stub).to have_been_requested
|
322
|
+
end
|
323
|
+
|
324
|
+
it "put xml" do
|
325
|
+
stub = stub_request(:put, url).with(:body => post_data.to_xml).to_raise(Faraday::Error::ClientError.new("Unauthorized"))
|
326
|
+
subject.put(url, accept: 'xml', data: post_data.to_xml) do |response|
|
327
|
+
expect(response.body).to be_nil
|
328
|
+
expect(response.status).to eq("errors"=>[{"status"=>401, "title"=>"Unauthorized"}])
|
329
|
+
end
|
330
|
+
expect(stub).to have_been_requested
|
331
|
+
end
|
332
|
+
end
|
333
|
+
|
293
334
|
context "request timeout internal" do
|
294
335
|
it "get json" do
|
295
336
|
stub = stub_request(:get, url).to_timeout
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maremma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -72,20 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
76
|
-
- - ">="
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: 1.6.8
|
75
|
+
version: 1.8.1
|
79
76
|
type: :runtime
|
80
77
|
prerelease: false
|
81
78
|
version_requirements: !ruby/object:Gem::Requirement
|
82
79
|
requirements:
|
83
80
|
- - "~>"
|
84
81
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
86
|
-
- - ">="
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 1.6.8
|
82
|
+
version: 1.8.1
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: builder
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -342,7 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
342
336
|
version: '0'
|
343
337
|
requirements: []
|
344
338
|
rubyforge_project:
|
345
|
-
rubygems_version: 2.
|
339
|
+
rubygems_version: 2.7.4
|
346
340
|
signing_key:
|
347
341
|
specification_version: 4
|
348
342
|
summary: Simplified network calls
|