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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 544851dec6a2d0672db3aebafda5eb5dd32d1ec0c826303964881a0ac46b98c2
4
- data.tar.gz: e65135c45c4627f8020df3da0d085f3af643f23129a60eee3a2ba8419f1e568b
3
+ metadata.gz: 64826a63e52f8acfb89b11bffe980ecf792d85d46e1411d9b64c32bbfb370ebe
4
+ data.tar.gz: 1531851674b67567bb8dc9bbb07d835b223e0bf947e7dc326dcc60c5300f1b44
5
5
  SHA512:
6
- metadata.gz: cf37bb58c40c5960655f1712ea220ecaa54b82d22858ddff256ef4ab76aabaedb7332f9615ca8e486ed7292df57099856ce6d7b84e56a8ae6ed8fd76b998e17f
7
- data.tar.gz: 3b84ead426b2c929209ec07b04314f027742d8c5e78f039aaa38c6321394b73109b402a1f894ef27b30427014787650d8d07be007fac4b284e99b3b1797ff16c
6
+ metadata.gz: f0b51a4a4a404ac3cc3b7652039adbd3d58420c15bd60844db1bd5869558913db700b1dc68e632ad4e2d2e3ceeb282ca1acaf2e457ee1015175565ea871d44e1
7
+ data.tar.gz: 4b60067ac93f25cb21446d26d9dcd4bb170edd9548f9cb07dcc4d60e6bd122e3fae109bcd41dd9b7c7367da1d93259bf666eecc776740184690cae2b16cc3b0a
@@ -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@477b21f02be01bcb8030d50f37cfec92bfa615b6
9
+ - uses: ruby/setup-ruby@v1
10
10
  with:
11
- ruby-version: 2.7
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@477b21f02be01bcb8030d50f37cfec92bfa615b6
19
+ - uses: ruby/setup-ruby@v1
20
20
  with:
21
- ruby-version: 2.7
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.2
1
+ 3.4.5
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
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.3.1 ruby lib
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.3.1"
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 = "2022-07-29"
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.3.7".freeze
60
+ s.rubygems_version = "3.6.9".freeze
61
61
  s.summary = "API client gem for Upland Mobile Commons".freeze
62
62
 
63
- if s.respond_to? :specification_version then
64
- s.specification_version = 4
65
- end
63
+ s.specification_version = 4
66
64
 
67
- if s.respond_to? :add_runtime_dependency then
68
- s.add_runtime_dependency(%q<vertebrae>.freeze, [">= 0"])
69
- s.add_development_dependency(%q<bundler>.freeze, ["> 2.0"])
70
- s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
71
- s.add_development_dependency(%q<dotenv>.freeze, [">= 0"])
72
- s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
73
- s.add_development_dependency(%q<rdoc>.freeze, ["> 3.12"])
74
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
75
- s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
76
- s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
77
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
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.3.1
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: 2022-07-29 00:00:00.000000000 Z
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.3.7
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: []