campact_user_service 3.1.0 → 4.1.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
2
  SHA256:
3
- metadata.gz: a757abe1d7920da576a75ce549919398e63e7cbe7992eec550ea858c99f5df6b
4
- data.tar.gz: 1630b643c70172e7b9b46e499cbda48a3bc5a78f257f45ad1cfd70f756feb1dd
3
+ metadata.gz: a813950b868ab9de779df0020484de1f71517510019c125ea9ffaeae04e7e344
4
+ data.tar.gz: c720805249381d4a86e067959a75f80b60d1e2e5aefc84962913fa529554189c
5
5
  SHA512:
6
- metadata.gz: 2b0bd9826a3cd73a03c22de64243f78261704fabc09bc581540614dfb45bd3fb37c77aa020d5f07ee490027a27d669175da6d94165feb9e22210551129ec9a17
7
- data.tar.gz: 49b9d38cb242dd0ed249bf88493dea4f23d0fe0b1ba4b651d568db6d53725439e9ec9bc5fd7e3f98bbd86afaa1c3fcf1b3829c657c1bd350c827c52b07d9ba40
6
+ metadata.gz: d6e053ab747cefe3d7126b34b300c7331b5f239d8d97950e373479fbf0d1586a1dfb5b7d0db38b29d3c91c23600468e97540adcbf9b3b6f89d3b4db5489677cf
7
+ data.tar.gz: 37b282c8a03e46686549d128124ad62550086b37a1927a737518424b21509ad9c369a5800c6c2d8c4cb002a8104c626d76c28d8ab27b98adf8005757876a1bd7
@@ -0,0 +1,24 @@
1
+ name: CI
2
+ on: [push]
3
+
4
+ jobs:
5
+ test:
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - uses: actions/checkout@v2
9
+ - uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
10
+ with:
11
+ ruby-version: 2.7
12
+ bundler-cache: true
13
+ - run: bundle install
14
+ - run: bundle exec rspec
15
+ rubocop:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
20
+ with:
21
+ ruby-version: 2.7
22
+ bundler-cache: true
23
+ - run: bundle install
24
+ - run: bundle exec rubocop
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 3.0.3
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem 'rotp', '~> 6'
4
- gem 'faraday', '>= 0.12.2', '< 1.0'
4
+ gem 'faraday', '~> 1.0'
5
5
  gem 'json', '~> 2.1'
6
6
 
7
7
  group :development do
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # campact-user-service
2
- [![Build Status](https://travis-ci.org/controlshift/campact-user-service.svg?branch=master)](https://travis-ci.org/controlshift/campact-user-service)
2
+ [![CI Status](https://github.com/controlshift/campact-user-service/actions/workflows/ci.yml/badge.svg)](https://github.com/controlshift/campact-user-service/actions/workflows/ci.yml)
3
3
 
4
4
  a ruby gem that wraps the Campact user service API
5
5
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.0
1
+ 4.1.1
@@ -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: campact_user_service 3.0.1 ruby lib
5
+ # stub: campact_user_service 4.1.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "campact_user_service".freeze
9
- s.version = "3.1.0"
9
+ s.version = "4.1.1"
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 = ["ControlShift".freeze]
14
- s.date = "2020-08-24"
14
+ s.date = "2022-02-04"
15
15
  s.description = "Ruby wrapper for Campact User Service".freeze
16
16
  s.email = "hello@controlshiftlabs.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -19,10 +19,10 @@ Gem::Specification.new do |s|
19
19
  "README.md"
20
20
  ]
21
21
  s.files = [
22
+ ".github/workflows/ci.yml",
22
23
  ".rubocop.yml",
23
24
  ".ruby-gemset",
24
25
  ".ruby-version",
25
- ".travis.yml",
26
26
  "Gemfile",
27
27
  "LICENSE",
28
28
  "README.md",
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  ]
44
44
  s.homepage = "http://github.com/controlshift/campact_user_service".freeze
45
45
  s.licenses = ["MIT".freeze]
46
- s.rubygems_version = "3.1.2".freeze
46
+ s.rubygems_version = "3.2.32".freeze
47
47
  s.summary = "Ruby wrapper for Campact User Service".freeze
48
48
 
49
49
  if s.respond_to? :specification_version then
@@ -52,7 +52,7 @@ Gem::Specification.new do |s|
52
52
 
53
53
  if s.respond_to? :add_runtime_dependency then
54
54
  s.add_runtime_dependency(%q<rotp>.freeze, ["~> 6"])
55
- s.add_runtime_dependency(%q<faraday>.freeze, [">= 0.12.2", "< 1.0"])
55
+ s.add_runtime_dependency(%q<faraday>.freeze, ["~> 1.0"])
56
56
  s.add_runtime_dependency(%q<json>.freeze, ["~> 2.1"])
57
57
  s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
58
58
  s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
@@ -66,7 +66,7 @@ Gem::Specification.new do |s|
66
66
  s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
67
67
  else
68
68
  s.add_dependency(%q<rotp>.freeze, ["~> 6"])
69
- s.add_dependency(%q<faraday>.freeze, [">= 0.12.2", "< 1.0"])
69
+ s.add_dependency(%q<faraday>.freeze, ["~> 1.0"])
70
70
  s.add_dependency(%q<json>.freeze, ["~> 2.1"])
71
71
  s.add_dependency(%q<byebug>.freeze, [">= 0"])
72
72
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
data/example.rb CHANGED
@@ -62,10 +62,10 @@ when '1'
62
62
  }
63
63
  )
64
64
  when '2'
65
- puts "I'll need a user ID (email address). In practice I won't need this here because it can be derived through the session token"
66
- user_id = gets.chomp
65
+ puts "I'll need a user account ID. In practice I won't need this here because it can be derived through the session token"
66
+ external_account_id = gets.chomp
67
67
  account = CampactUserService.account(
68
- user_id,
68
+ external_account_id,
69
69
  {
70
70
  host: 'weact-adapter.staging.campact.de',
71
71
  topt_authorization: {user: username, secret: secret}
@@ -2,6 +2,7 @@ module CampactUserService
2
2
  class Account
3
3
  attr_reader :client, :user_id
4
4
 
5
+ # user_id can either be the user's external_account_id or their email address
5
6
  def initialize(client, user_id)
6
7
  @client = client
7
8
  @user_id = user_id
@@ -5,7 +5,8 @@ require 'campact_user_service/response_error'
5
5
 
6
6
  module CampactUserService
7
7
  class Client
8
- TIMEOUT = 5.freeze
8
+ TIMEOUT = 60.freeze
9
+ OPEN_TIMEOUT = 20.freeze
9
10
 
10
11
  attr_reader :connection, :host, :port, :topt_authorization
11
12
 
@@ -33,7 +34,7 @@ module CampactUserService
33
34
  response = connection.send(verb.to_sym) do |req|
34
35
  req.url path
35
36
  req.options.timeout = TIMEOUT
36
- req.options.open_timeout = TIMEOUT
37
+ req.options.open_timeout = OPEN_TIMEOUT
37
38
  if options.key?(:cookies)
38
39
  req.headers['Cookie'] = format_cookies(options[:cookies])
39
40
  end
@@ -8,8 +8,8 @@ module CampactUserService
8
8
  @session_cookie_name = session_cookie_name
9
9
  end
10
10
 
11
- def user_id
12
- session["user_id"]
11
+ def external_account_id
12
+ session["external_account_id"]
13
13
  end
14
14
 
15
15
  def has_soft_login_session?
@@ -9,9 +9,9 @@ module CampactUserService
9
9
  CampactUserService::Session.new(client, session_id, session_cookie_name)
10
10
  end
11
11
 
12
- def account(user_id, options)
12
+ def account(external_account_id, options)
13
13
  client = CampactUserService::Client.new(options)
14
- CampactUserService::Account.new(client, user_id)
14
+ CampactUserService::Account.new(client, external_account_id)
15
15
  end
16
16
  end
17
17
  end
@@ -24,11 +24,11 @@ describe CampactUserService do
24
24
  options = { foo: 'bar', foo2: 'bar2' }
25
25
  client = double
26
26
  expect(CampactUserService::Client).to receive(:new).with(options).and_return(client)
27
- user_id = 'test@example.com'
27
+ external_account_id = '189b6864-d58a-4f49-8370-4ae0b854a40e'
28
28
  account_api = double
29
- expect(CampactUserService::Account).to receive(:new).with(client, user_id).and_return(account_api)
29
+ expect(CampactUserService::Account).to receive(:new).with(client, external_account_id).and_return(account_api)
30
30
 
31
- account = subject.account(user_id, options)
31
+ account = subject.account(external_account_id, options)
32
32
 
33
33
  expect(account).to be(account_api)
34
34
  end
data/spec/client_spec.rb CHANGED
@@ -53,7 +53,7 @@ describe CampactUserService::Client do
53
53
  it 'should raise error if status code is 3xx, 4xx or 5xx' do
54
54
  expect(request_builder).to receive(:url).with('/foo/bar')
55
55
  expect(request_builder_options).to receive(:timeout=).with(CampactUserService::Client::TIMEOUT)
56
- expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::TIMEOUT)
56
+ expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::OPEN_TIMEOUT)
57
57
  allow(response).to receive(:status).and_return(unexpected_status_code)
58
58
  allow(response).to receive(:body).and_return('An error occurred')
59
59
 
@@ -68,7 +68,7 @@ describe CampactUserService::Client do
68
68
  it 'should return nil if status code is 404' do
69
69
  expect(request_builder).to receive(:url).with('/foo/bar')
70
70
  expect(request_builder_options).to receive(:timeout=).with(CampactUserService::Client::TIMEOUT)
71
- expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::TIMEOUT)
71
+ expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::OPEN_TIMEOUT)
72
72
  allow(response).to receive(:status).and_return(404)
73
73
 
74
74
  response = subject.send(method_under_test, '/foo/bar')
@@ -97,7 +97,7 @@ describe CampactUserService::Client do
97
97
  it 'should perform get request on provided path and return true if response is 204' do
98
98
  expect(request_builder).to receive(:url).with('/foo/bar')
99
99
  expect(request_builder_options).to receive(:timeout=).with(CampactUserService::Client::TIMEOUT)
100
- expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::TIMEOUT)
100
+ expect(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::OPEN_TIMEOUT)
101
101
  allow(response).to receive(:status).and_return(204)
102
102
 
103
103
  expect(subject.get_request('/foo/bar')).to be_truthy
@@ -109,7 +109,7 @@ describe CampactUserService::Client do
109
109
  before :each do
110
110
  allow(request_builder).to receive(:url).with('/foo/bar')
111
111
  allow(request_builder_options).to receive(:timeout=).with(CampactUserService::Client::TIMEOUT)
112
- allow(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::TIMEOUT)
112
+ allow(request_builder_options).to receive(:open_timeout=).with(CampactUserService::Client::OPEN_TIMEOUT)
113
113
  allow(request_builder).to receive(:headers).and_return(headers_builder)
114
114
  end
115
115
 
data/spec/session_spec.rb CHANGED
@@ -7,13 +7,13 @@ describe CampactUserService::Session do
7
7
 
8
8
  subject { CampactUserService::Session.new(client, session_id, session_cookie_name) }
9
9
 
10
- describe '#user_id' do
10
+ describe '#external_account_id' do
11
11
  it 'should be present' do
12
12
  stub_request(:get, 'https://test.com/v1/sessions')
13
13
  .with(headers: {'Cookie' => "cus-session=#{session_id};"})
14
- .to_return(body: {user_id: 'user@example.org'}.to_json)
14
+ .to_return(body: {external_account_id: '189b6864-d58a-4f49-8370-4ae0b854a40e'}.to_json)
15
15
 
16
- expect(subject.user_id).to eq('user@example.org')
16
+ expect(subject.external_account_id).to eq('189b6864-d58a-4f49-8370-4ae0b854a40e')
17
17
  end
18
18
  end
19
19
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: campact_user_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ControlShift
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-24 00:00:00.000000000 Z
11
+ date: 2022-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rotp
@@ -28,20 +28,14 @@ dependencies:
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 0.12.2
34
- - - "<"
31
+ - - "~>"
35
32
  - !ruby/object:Gem::Version
36
33
  version: '1.0'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 0.12.2
44
- - - "<"
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
40
  version: '1.0'
47
41
  - !ruby/object:Gem::Dependency
@@ -218,10 +212,10 @@ extra_rdoc_files:
218
212
  - LICENSE
219
213
  - README.md
220
214
  files:
215
+ - ".github/workflows/ci.yml"
221
216
  - ".rubocop.yml"
222
217
  - ".ruby-gemset"
223
218
  - ".ruby-version"
224
- - ".travis.yml"
225
219
  - Gemfile
226
220
  - LICENSE
227
221
  - README.md
@@ -258,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
252
  - !ruby/object:Gem::Version
259
253
  version: '0'
260
254
  requirements: []
261
- rubygems_version: 3.0.8
255
+ rubygems_version: 3.2.32
262
256
  signing_key:
263
257
  specification_version: 4
264
258
  summary: Ruby wrapper for Campact User Service
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.6
4
- cache: bundler
5
- before_install:
6
- - gem install bundler
7
- script:
8
- - bundle exec rspec
9
- - bundle exec rubocop