maremma 4.0.8 → 4.0.9
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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/maremma.rb +4 -0
- data/lib/maremma/version.rb +1 -1
- data/spec/maremma_spec.rb +44 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e790976bf10bd55476209f7f6f6e6cad065cb4f9b110c69c08b4754aa3d5472
|
4
|
+
data.tar.gz: 886599b911990f5caed6bcb55bee0a9fe308c5023b0718ec2fa65f0bc6b0836c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4ef49ba544067145d829ddf63749cd144c6674d58f85749000b4c219afa31d1dbea519b401879d25c3d443d1b8de87e71811585d1798506a2c977841871ea47
|
7
|
+
data.tar.gz: 32b7ac408ea233a65efa50c95f156d868000c914195d1144f0e6432c3fd074346232a8854d8444ad66fe2c3a876f61496736061cfe3dd3555b3b62d04d731dfa
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
maremma (4.0.
|
4
|
+
maremma (4.0.9)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
addressable (>= 2.3.6)
|
7
7
|
builder (~> 3.2, >= 3.2.2)
|
@@ -46,7 +46,7 @@ GEM
|
|
46
46
|
minitest (5.11.3)
|
47
47
|
multi_json (1.13.1)
|
48
48
|
multipart-post (2.0.0)
|
49
|
-
nokogiri (1.8.
|
49
|
+
nokogiri (1.8.3)
|
50
50
|
mini_portile2 (~> 2.3.0)
|
51
51
|
oj (3.6.2)
|
52
52
|
public_suffix (3.0.2)
|
data/lib/maremma.rb
CHANGED
@@ -190,8 +190,12 @@ module Maremma
|
|
190
190
|
def self.parse_error_response(string)
|
191
191
|
string = parse_response(string)
|
192
192
|
|
193
|
+
string = string['hash'] if string.is_a?(Hash) && string['hash']
|
194
|
+
|
193
195
|
if string.is_a?(Hash) && string['error']
|
194
196
|
string['error']
|
197
|
+
elsif string.is_a?(Hash) && string['errors']
|
198
|
+
string.dig('errors', 0, "title")
|
195
199
|
else
|
196
200
|
string
|
197
201
|
end
|
data/lib/maremma/version.rb
CHANGED
data/spec/maremma_spec.rb
CHANGED
@@ -202,6 +202,50 @@ describe Maremma do
|
|
202
202
|
end
|
203
203
|
end
|
204
204
|
|
205
|
+
context "method not allowed" do
|
206
|
+
let(:error) { { "errors" => [{ "status" => 405, "title" => "Method not allowed" }]} }
|
207
|
+
|
208
|
+
it "get json" do
|
209
|
+
stub = stub_request(:get, url).to_return(:body => error.to_json, :status => [405], :headers => { "Content-Type" => "application/json" })
|
210
|
+
response = subject.get(url, accept: 'json')
|
211
|
+
expect(response.body).to eq(error)
|
212
|
+
expect(stub).to have_been_requested
|
213
|
+
end
|
214
|
+
|
215
|
+
it "get xml" do
|
216
|
+
stub = stub_request(:get, url).to_return(:body => error.to_xml, :status => [405], :headers => { "Content-Type" => "application/xml" })
|
217
|
+
response = subject.get(url, accept: 'xml')
|
218
|
+
expect(response.body).to eq(error)
|
219
|
+
expect(stub).to have_been_requested
|
220
|
+
end
|
221
|
+
|
222
|
+
it "get html" do
|
223
|
+
stub = stub_request(:get, url).to_return(:body => error.dig("errors", 0, "title"), :status => [405], :headers => { "Content-Type" => "text/html" })
|
224
|
+
response = subject.get(url, accept: 'html')
|
225
|
+
expect(response.body).to eq(error)
|
226
|
+
expect(stub).to have_been_requested
|
227
|
+
end
|
228
|
+
|
229
|
+
it "head html" do
|
230
|
+
stub = stub_request(:head, url).to_return(:body => error.to_s, :status => [405], :headers => { "Content-Type" => "text/html" })
|
231
|
+
response = subject.head(url, accept: 'html')
|
232
|
+
expect(response.status).to eq(405)
|
233
|
+
expect(stub).to have_been_requested
|
234
|
+
end
|
235
|
+
|
236
|
+
it "post xml" do
|
237
|
+
stub = stub_request(:post, url).with(:body => post_data.to_xml).to_return(:body => error.to_xml, :status => [405], :headers => { "Content-Type" => "application/xml" })
|
238
|
+
subject.post(url, accept: 'xml', data: post_data.to_xml) { |response| expect(Hash.from_xml(response.to_s)["hash"]).to eq(error) }
|
239
|
+
expect(stub).to have_been_requested
|
240
|
+
end
|
241
|
+
|
242
|
+
it "put xml" do
|
243
|
+
stub = stub_request(:put, url).with(:body => post_data.to_xml).to_return(:body => error.to_xml, :status => [405], :headers => { "Content-Type" => "application/xml" })
|
244
|
+
subject.put(url, accept: 'xml', data: post_data.to_xml) { |response| expect(Hash.from_xml(response.to_s)["hash"]).to eq(error) }
|
245
|
+
expect(stub).to have_been_requested
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
205
249
|
context "request timeout" do
|
206
250
|
it "get json" do
|
207
251
|
stub = stub_request(:get, url).to_return(:status => [408])
|
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.0.
|
4
|
+
version: 4.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|