upland_mobile_commons_rest 0.3.1 → 0.4.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +4 -4
- data/.ruby-version +1 -1
- data/VERSION +1 -1
- data/lib/upland_mobile_commons_rest/errors.rb +5 -2
- data/spec/client_spec.rb +14 -0
- data/upland_mobile_commons_rest.gemspec +16 -32
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 64826a63e52f8acfb89b11bffe980ecf792d85d46e1411d9b64c32bbfb370ebe
|
|
4
|
+
data.tar.gz: 1531851674b67567bb8dc9bbb07d835b223e0bf947e7dc326dcc60c5300f1b44
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f0b51a4a4a404ac3cc3b7652039adbd3d58420c15bd60844db1bd5869558913db700b1dc68e632ad4e2d2e3ceeb282ca1acaf2e457ee1015175565ea871d44e1
|
|
7
|
+
data.tar.gz: 4b60067ac93f25cb21446d26d9dcd4bb170edd9548f9cb07dcc4d60e6bd122e3fae109bcd41dd9b7c7367da1d93259bf666eecc776740184690cae2b16cc3b0a
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -6,9 +6,9 @@ jobs:
|
|
|
6
6
|
runs-on: ubuntu-latest
|
|
7
7
|
steps:
|
|
8
8
|
- uses: actions/checkout@v2
|
|
9
|
-
- uses: ruby/setup-ruby@
|
|
9
|
+
- uses: ruby/setup-ruby@v1
|
|
10
10
|
with:
|
|
11
|
-
ruby-version:
|
|
11
|
+
ruby-version: 3.4
|
|
12
12
|
bundler-cache: true
|
|
13
13
|
- run: bundle install
|
|
14
14
|
- run: bundle exec rspec
|
|
@@ -16,9 +16,9 @@ jobs:
|
|
|
16
16
|
runs-on: ubuntu-latest
|
|
17
17
|
steps:
|
|
18
18
|
- uses: actions/checkout@v2
|
|
19
|
-
- uses: ruby/setup-ruby@
|
|
19
|
+
- uses: ruby/setup-ruby@v1
|
|
20
20
|
with:
|
|
21
|
-
ruby-version:
|
|
21
|
+
ruby-version: 3.4
|
|
22
22
|
bundler-cache: true
|
|
23
23
|
- run: bundle install
|
|
24
24
|
- run: bundle exec rubocop
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.5
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.4.0
|
|
@@ -21,16 +21,19 @@ module UplandMobileCommonsRest
|
|
|
21
21
|
|
|
22
22
|
class BadGatewayError < NetworkError; end
|
|
23
23
|
class GatewayTimeoutError < NetworkError; end
|
|
24
|
+
class UnauthorizedError < NetworkError; end
|
|
24
25
|
|
|
25
26
|
# This middleware runs *before* XML parsing, so we can include the raw response body in the exception.
|
|
26
27
|
class HttpErrorMiddleware < Faraday::Response::Middleware
|
|
27
28
|
def on_complete(response)
|
|
28
29
|
status_code = response[:status].to_i
|
|
29
30
|
|
|
30
|
-
# Raise an exception for 5xx errors.
|
|
31
|
-
# Q: Shouldn't we also raise for 4xx errors?
|
|
31
|
+
# Raise an exception for 401 and 5xx errors.
|
|
32
|
+
# Q: Shouldn't we also raise for the remaining 4xx errors?
|
|
32
33
|
# A: We let TypedErrorMiddleware handle those, in case they have useful info.
|
|
33
34
|
case status_code
|
|
35
|
+
when 401
|
|
36
|
+
raise UnauthorizedError.new(response)
|
|
34
37
|
when 502
|
|
35
38
|
raise BadGatewayError.new(response)
|
|
36
39
|
when 503
|
data/spec/client_spec.rb
CHANGED
|
@@ -82,6 +82,20 @@ describe UplandMobileCommonsRest::Client do
|
|
|
82
82
|
include_examples 'error code parsing'
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
+
context '401 status response' do
|
|
86
|
+
let(:response_status) { 401 }
|
|
87
|
+
let(:response_body) { '<html><head><title>401 Unauthorized Error</title></head><body><center><h1>401 Unauthorized Error</h1></center></body></html>' }
|
|
88
|
+
|
|
89
|
+
it 'should raise an UnauthorizedError' do
|
|
90
|
+
expect do
|
|
91
|
+
subject.post_request('do_something', request_params)
|
|
92
|
+
end.to raise_error(UplandMobileCommonsRest::UnauthorizedError) do |error|
|
|
93
|
+
expect(error.body).to eq response_body
|
|
94
|
+
expect(error.to_s).to include(response_body)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
85
99
|
context '502 status response' do
|
|
86
100
|
let(:response_status) { 502 }
|
|
87
101
|
let(:response_body) { '<html><head><title>502 Bad Gateway</title></head><body><center><h1>502 Bad Gateway</h1></center></body></html>' }
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: upland_mobile_commons_rest 0.
|
|
5
|
+
# stub: upland_mobile_commons_rest 0.4.0 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "upland_mobile_commons_rest".freeze
|
|
9
|
-
s.version = "0.
|
|
9
|
+
s.version = "0.4.0".freeze
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.require_paths = ["lib".freeze]
|
|
13
13
|
s.authors = ["Kathy Lu".freeze, "Diego Marcet".freeze, "Grey Moore".freeze, "Nathan Woodhull".freeze]
|
|
14
|
-
s.date = "
|
|
14
|
+
s.date = "1980-01-02"
|
|
15
15
|
s.description = "A simple ruby API client gem for the Upland Mobile Commons REST API".freeze
|
|
16
16
|
s.email = "team@controlshiftlabs.com".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
@@ -57,37 +57,21 @@ Gem::Specification.new do |s|
|
|
|
57
57
|
]
|
|
58
58
|
s.homepage = "http://github.com/controlshift/upland_mobile_commons_rest".freeze
|
|
59
59
|
s.licenses = ["MIT".freeze]
|
|
60
|
-
s.rubygems_version = "3.
|
|
60
|
+
s.rubygems_version = "3.6.9".freeze
|
|
61
61
|
s.summary = "API client gem for Upland Mobile Commons".freeze
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
s.specification_version = 4
|
|
65
|
-
end
|
|
63
|
+
s.specification_version = 4
|
|
66
64
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
s.add_development_dependency(%q<webmock>.freeze, [">= 0"])
|
|
79
|
-
else
|
|
80
|
-
s.add_dependency(%q<vertebrae>.freeze, [">= 0"])
|
|
81
|
-
s.add_dependency(%q<bundler>.freeze, ["> 2.0"])
|
|
82
|
-
s.add_dependency(%q<byebug>.freeze, [">= 0"])
|
|
83
|
-
s.add_dependency(%q<dotenv>.freeze, [">= 0"])
|
|
84
|
-
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
85
|
-
s.add_dependency(%q<rdoc>.freeze, ["> 3.12"])
|
|
86
|
-
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
87
|
-
s.add_dependency(%q<rubocop>.freeze, [">= 0"])
|
|
88
|
-
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
|
89
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
90
|
-
s.add_dependency(%q<webmock>.freeze, [">= 0"])
|
|
91
|
-
end
|
|
65
|
+
s.add_runtime_dependency(%q<vertebrae>.freeze, [">= 0".freeze])
|
|
66
|
+
s.add_development_dependency(%q<bundler>.freeze, ["> 2.0".freeze])
|
|
67
|
+
s.add_development_dependency(%q<byebug>.freeze, [">= 0".freeze])
|
|
68
|
+
s.add_development_dependency(%q<dotenv>.freeze, [">= 0".freeze])
|
|
69
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0".freeze])
|
|
70
|
+
s.add_development_dependency(%q<rdoc>.freeze, ["> 3.12".freeze])
|
|
71
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0".freeze])
|
|
72
|
+
s.add_development_dependency(%q<rubocop>.freeze, [">= 0".freeze])
|
|
73
|
+
s.add_development_dependency(%q<shoulda>.freeze, [">= 0".freeze])
|
|
74
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
|
|
75
|
+
s.add_development_dependency(%q<webmock>.freeze, [">= 0".freeze])
|
|
92
76
|
end
|
|
93
77
|
|
metadata
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: upland_mobile_commons_rest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kathy Lu
|
|
8
8
|
- Diego Marcet
|
|
9
9
|
- Grey Moore
|
|
10
10
|
- Nathan Woodhull
|
|
11
|
-
autorequire:
|
|
12
11
|
bindir: bin
|
|
13
12
|
cert_chain: []
|
|
14
|
-
date:
|
|
13
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
15
14
|
dependencies:
|
|
16
15
|
- !ruby/object:Gem::Dependency
|
|
17
16
|
name: vertebrae
|
|
@@ -214,7 +213,6 @@ homepage: http://github.com/controlshift/upland_mobile_commons_rest
|
|
|
214
213
|
licenses:
|
|
215
214
|
- MIT
|
|
216
215
|
metadata: {}
|
|
217
|
-
post_install_message:
|
|
218
216
|
rdoc_options: []
|
|
219
217
|
require_paths:
|
|
220
218
|
- lib
|
|
@@ -229,8 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
229
227
|
- !ruby/object:Gem::Version
|
|
230
228
|
version: '0'
|
|
231
229
|
requirements: []
|
|
232
|
-
rubygems_version: 3.
|
|
233
|
-
signing_key:
|
|
230
|
+
rubygems_version: 3.6.9
|
|
234
231
|
specification_version: 4
|
|
235
232
|
summary: API client gem for Upland Mobile Commons
|
|
236
233
|
test_files: []
|