campact_user_service 3.1.0 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
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