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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 64c7b8e828375f7fab850b6701b489c9a173ebc3
4
- data.tar.gz: f3e6c5bf75e6ed1c27eae86a428aa1f44cf2f5f3
2
+ SHA256:
3
+ metadata.gz: ec281d3b385d2d0eef4a9f59f50ecc8e7dec4e71ac54e73291a2a1711142219d
4
+ data.tar.gz: df794f29494d832c761548457749311a977b51823590cf313aee08b8607988c2
5
5
  SHA512:
6
- metadata.gz: c4453d002050d51af43304e691f4132d14397565960c6b740ed691607666273aa0e3abb6ae1cdb61bd863ef3f0e69f9ec607107b320dd4e970d2bf1a505fb1ef
7
- data.tar.gz: dacd09e525ea2cbdbee7a351b60f841fd54340f3bde663d653af062699244457939e1ad5ad91587ba1623a519bb72daf42ab0ca8f47d5fcf9b0d7be367fa1ba6
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.6, >= 1.6.8)
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.8.6)
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.10.3)
46
- multi_json (1.12.2)
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.8)
51
- public_suffix (3.0.0)
51
+ oj (3.3.10)
52
+ public_suffix (3.0.1)
52
53
  rack (2.0.3)
53
- rack-test (0.7.0)
54
+ rack-test (0.8.2)
54
55
  rack (>= 1.0, < 3)
55
- rake (12.1.0)
56
- rspec (3.6.0)
57
- rspec-core (~> 3.6.0)
58
- rspec-expectations (~> 3.6.0)
59
- rspec-mocks (~> 3.6.0)
60
- rspec-core (3.6.0)
61
- rspec-support (~> 3.6.0)
62
- rspec-expectations (3.6.0)
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.6.0)
65
- rspec-mocks (3.6.0)
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.6.0)
68
- rspec-support (3.6.0)
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.3)
77
+ tzinfo (1.2.4)
77
78
  thread_safe (~> 0.1)
78
79
  vcr (3.0.3)
79
- webmock (3.1.0)
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.15.3
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 'http://dlm.datacite.org/heartbeat' => { "data" => { "services"=>{ "mysql"=>"OK",
29
+ Maremma.get 'https://dlm.datacite.org/heartbeat' => { "data" => { "services"=>{ "mysql"=>"OK",
30
30
  "memcached"=>"OK",
31
31
  "redis"=>"OK",
32
32
  "sidekiq"=>"OK",
@@ -1,3 +1,3 @@
1
1
  module Maremma
2
- VERSION = "3.6"
2
+ VERSION = "3.6.1"
3
3
  end
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' => "403", 'title' => parse_error_response(error.message) }] }
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.6', '>= 1.6.8'
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"=>"403", "title"=>"Connection refused - connect(2)"}])
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"=>"403", "title"=>"Connection refused - connect(2)"}])
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"=>"403", "title"=>"Connection refused - connect(2)"}])
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: '3.6'
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: 2017-10-14 00:00:00.000000000 Z
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: '1.6'
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: '1.6'
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.6.14
339
+ rubygems_version: 2.7.4
346
340
  signing_key:
347
341
  specification_version: 4
348
342
  summary: Simplified network calls