mrkt 1.0.1 → 1.2.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: 8b9a26db5da0ff83b251b40c276517013a120bccac5e0723d2cb23f751bc9817
4
- data.tar.gz: 74a55a3fde8f192301e8995c7391fc5f88c7f8d9fa0163a1f2ef633cf9ade4bf
3
+ metadata.gz: 850ac5a692b131df87d8bc0a86d0bbd0c82fb38b382a41cc201e427caaba18f6
4
+ data.tar.gz: 4eb5399bad28b69658a2a7699d87e691a6d18c273061985aa4b558001e79d37a
5
5
  SHA512:
6
- metadata.gz: 365eaf2f0ea0ffc9a9a47af40b9834bab11de69438bb44a42dc23720f19b705b8918c097164c49cc2d82ce02dfb8b1add9f761cb6ae3ee99df69091493fb3b32
7
- data.tar.gz: 7a184f5ce07e10e3e88f9cfe988adfdf2633271e229f55da2290e04ac78b3282a46eb77c87d01f00c3e3493e77920abf7a38bc1be8edf3cc565224aa8ecb8bff
6
+ metadata.gz: 6cc5334a1161bf7fe032e5b5919e9a7b0721124965a1a2e2b6cefed6d9305550eedd0a8370f401d85d884a6b08f5fcb1c3eadb60d4ba3bba05be457f09c4e8cc
7
+ data.tar.gz: b325752b6d9cec194cc9cab4cea09744a63d9a48ebe80c774aca9d3233b8e6c07f60d644fe41d49fb0059ebf9bd625cdf2a191353c390d970ddb1e0311412533
@@ -0,0 +1,19 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ commit-message:
8
+ prefix: "chore"
9
+ include: "scope"
10
+ rebase-strategy: "disabled"
11
+
12
+ - package-ecosystem: "github-actions"
13
+ directory: "/"
14
+ schedule:
15
+ interval: "daily"
16
+ commit-message:
17
+ prefix: "chore"
18
+ include: "scope"
19
+ rebase-strategy: "disabled"
@@ -0,0 +1,41 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ ruby: [2.5, 2.6, 2.7, 3.0]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v2.4.0
19
+
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true
25
+
26
+ - name: Update the RubyGems system software
27
+ run: gem update --system
28
+
29
+ - name: Update Bundler
30
+ run: bundle update --bundler
31
+
32
+ - name: Install dependencies
33
+ run: bundle install
34
+
35
+ - name: Run tests and publish coverage
36
+ uses: paambaati/codeclimate-action@v3.0.0
37
+ env:
38
+ COVERAGE: on
39
+ CC_TEST_REPORTER_ID: 45cd2174f49b570406e294ff393d456c4ae8532cf16dd6430abb06d8a0722a28
40
+ with:
41
+ coverageCommand: bundle exec rspec
data/.rubocop.yml CHANGED
@@ -1,11 +1,14 @@
1
+ require:
2
+ - rubocop-rake
3
+ - rubocop-rspec
4
+
1
5
  AllCops:
2
6
  TargetRubyVersion: 2.5
3
7
  Exclude:
4
8
  - 'bin/**/*'
5
9
  - 'vendor/**/*'
10
+ NewCops: enable
6
11
 
7
- Layout/EmptyLinesAroundAttributeAccessor:
8
- Enabled: true
9
12
  Layout/EmptyLineAfterGuardClause:
10
13
  Enabled: false
11
14
  Layout/FirstHashElementIndentation:
@@ -16,23 +19,14 @@ Layout/LineLength:
16
19
  Max: 128
17
20
  Layout/MultilineMethodCallIndentation:
18
21
  EnforcedStyle: indented
19
- Layout/SpaceAroundMethodCallOperator:
20
- Enabled: true
21
-
22
- Lint/DeprecatedOpenSSLConstant:
23
- Enabled: true
24
- Lint/MixedRegexpCaptureTypes:
25
- Enabled: true
26
- Lint/RaiseException:
27
- Enabled: true
28
- Lint/StructNewOverride:
29
- Enabled: true
30
22
 
31
23
  Metrics/AbcSize:
32
- Max: 17
24
+ Exclude:
25
+ - 'lib/mrkt/concerns/connection.rb'
33
26
  Metrics/BlockLength:
34
27
  Exclude:
35
28
  - 'spec/**/*'
29
+ - '**/*.gemspec'
36
30
  Metrics/MethodLength:
37
31
  Max: 20
38
32
  Metrics/ParameterLists:
@@ -41,31 +35,19 @@ Metrics/ParameterLists:
41
35
  Naming/AccessorMethodName:
42
36
  Enabled: false
43
37
 
44
- Style/AccessorGrouping:
45
- Enabled: true
46
- Style/BisectedAttrAccessor:
47
- Enabled: true
38
+ RSpec/FilePath:
39
+ Enabled: false
40
+ RSpec/NestedGroups:
41
+ Enabled: false
42
+ RSpec/MultipleMemoizedHelpers:
43
+ Enabled: false
44
+ RSpec/MultipleExpectations:
45
+ Exclude:
46
+ - 'spec/concerns/authentication_spec.rb'
47
+
48
48
  Style/ClassAndModuleChildren:
49
49
  Enabled: false
50
50
  Style/Documentation:
51
51
  Enabled: false
52
- Style/ExponentialNotation:
53
- Enabled: true
54
52
  Style/FrozenStringLiteralComment:
55
53
  Enabled: false
56
- Style/HashEachMethods:
57
- Enabled: true
58
- Style/HashTransformKeys:
59
- Enabled: true
60
- Style/HashTransformValues:
61
- Enabled: true
62
- Style/RedundantAssignment:
63
- Enabled: true
64
- Style/RedundantFetchBlock:
65
- Enabled: true
66
- Style/RedundantRegexpCharacterClass:
67
- Enabled: true
68
- Style/RedundantRegexpEscape:
69
- Enabled: true
70
- Style/SlicingWithRange:
71
- Enabled: true
data/Gemfile.lock CHANGED
@@ -1,33 +1,49 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mrkt (1.0.1)
4
+ mrkt (1.2.1)
5
5
  faraday (~> 1.0)
6
6
  faraday_middleware (~> 1.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.7.0)
11
+ addressable (2.8.0)
12
12
  public_suffix (>= 2.0.2, < 5.0)
13
- ast (2.4.1)
13
+ ast (2.4.2)
14
14
  byebug (11.1.3)
15
15
  coderay (1.1.3)
16
- crack (0.4.3)
17
- safe_yaml (~> 1.0.0)
16
+ crack (0.4.5)
17
+ rexml
18
18
  diff-lcs (1.4.4)
19
- docile (1.3.2)
20
- faraday (1.0.1)
19
+ docile (1.4.0)
20
+ faraday (1.8.0)
21
+ faraday-em_http (~> 1.0)
22
+ faraday-em_synchrony (~> 1.0)
23
+ faraday-excon (~> 1.1)
24
+ faraday-httpclient (~> 1.0.1)
25
+ faraday-net_http (~> 1.0)
26
+ faraday-net_http_persistent (~> 1.1)
27
+ faraday-patron (~> 1.0)
28
+ faraday-rack (~> 1.0)
21
29
  multipart-post (>= 1.2, < 3)
22
- faraday_middleware (1.0.0)
30
+ ruby2_keywords (>= 0.0.4)
31
+ faraday-em_http (1.0.0)
32
+ faraday-em_synchrony (1.0.0)
33
+ faraday-excon (1.1.0)
34
+ faraday-httpclient (1.0.1)
35
+ faraday-net_http (1.0.1)
36
+ faraday-net_http_persistent (1.2.0)
37
+ faraday-patron (1.0.0)
38
+ faraday-rack (1.0.0)
39
+ faraday_middleware (1.2.0)
23
40
  faraday (~> 1.0)
24
- gem-release (2.1.1)
41
+ gem-release (2.2.2)
25
42
  hashdiff (1.0.1)
26
- json (2.3.1)
27
43
  method_source (1.0.0)
28
44
  multipart-post (2.1.1)
29
- parallel (1.19.2)
30
- parser (2.7.1.4)
45
+ parallel (1.21.0)
46
+ parser (3.0.3.2)
31
47
  ast (~> 2.4.1)
32
48
  pry (0.13.1)
33
49
  coderay (~> 1.1)
@@ -35,45 +51,50 @@ GEM
35
51
  pry-byebug (3.9.0)
36
52
  byebug (~> 11.0)
37
53
  pry (~> 0.13.0)
38
- public_suffix (4.0.5)
54
+ public_suffix (4.0.6)
39
55
  rainbow (3.0.0)
40
- rake (12.3.3)
41
- regexp_parser (1.7.1)
42
- rexml (3.2.4)
43
- rspec (3.9.0)
44
- rspec-core (~> 3.9.0)
45
- rspec-expectations (~> 3.9.0)
46
- rspec-mocks (~> 3.9.0)
47
- rspec-core (3.9.2)
48
- rspec-support (~> 3.9.3)
49
- rspec-expectations (3.9.2)
56
+ rake (13.0.6)
57
+ regexp_parser (2.2.0)
58
+ rexml (3.2.5)
59
+ rspec (3.10.0)
60
+ rspec-core (~> 3.10.0)
61
+ rspec-expectations (~> 3.10.0)
62
+ rspec-mocks (~> 3.10.0)
63
+ rspec-core (3.10.1)
64
+ rspec-support (~> 3.10.0)
65
+ rspec-expectations (3.10.1)
50
66
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.9.0)
52
- rspec-mocks (3.9.1)
67
+ rspec-support (~> 3.10.0)
68
+ rspec-mocks (3.10.2)
53
69
  diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.9.0)
55
- rspec-support (3.9.3)
56
- rubocop (0.87.1)
70
+ rspec-support (~> 3.10.0)
71
+ rspec-support (3.10.3)
72
+ rubocop (1.23.0)
57
73
  parallel (~> 1.10)
58
- parser (>= 2.7.1.1)
74
+ parser (>= 3.0.0.0)
59
75
  rainbow (>= 2.2.2, < 4.0)
60
- regexp_parser (>= 1.7)
76
+ regexp_parser (>= 1.8, < 3.0)
61
77
  rexml
62
- rubocop-ast (>= 0.1.0, < 1.0)
78
+ rubocop-ast (>= 1.12.0, < 2.0)
63
79
  ruby-progressbar (~> 1.7)
64
- unicode-display_width (>= 1.4.0, < 2.0)
65
- rubocop-ast (0.1.0)
66
- parser (>= 2.7.0.1)
67
- ruby-progressbar (1.10.1)
68
- safe_yaml (1.0.5)
69
- simplecov (0.17.1)
80
+ unicode-display_width (>= 1.4.0, < 3.0)
81
+ rubocop-ast (1.15.0)
82
+ parser (>= 3.0.1.1)
83
+ rubocop-rake (0.6.0)
84
+ rubocop (~> 1.0)
85
+ rubocop-rspec (2.6.0)
86
+ rubocop (~> 1.19)
87
+ ruby-progressbar (1.11.0)
88
+ ruby2_keywords (0.0.5)
89
+ simplecov (0.21.2)
70
90
  docile (~> 1.1)
71
- json (>= 1.8, < 3)
72
- simplecov-html (~> 0.10.0)
73
- simplecov-html (0.10.2)
74
- unicode-display_width (1.7.0)
75
- webmock (3.8.3)
76
- addressable (>= 2.3.6)
91
+ simplecov-html (~> 0.11)
92
+ simplecov_json_formatter (~> 0.1)
93
+ simplecov-html (0.12.3)
94
+ simplecov_json_formatter (0.1.3)
95
+ unicode-display_width (2.1.0)
96
+ webmock (3.14.0)
97
+ addressable (>= 2.8.0)
77
98
  crack (>= 0.3.2)
78
99
  hashdiff (>= 0.4.0, < 2.0.0)
79
100
 
@@ -81,15 +102,17 @@ PLATFORMS
81
102
  ruby
82
103
 
83
104
  DEPENDENCIES
84
- bundler (~> 1.3)
105
+ bundler (~> 2.0)
85
106
  gem-release (~> 2.1)
86
107
  mrkt!
87
108
  pry-byebug (~> 3.7)
88
- rake (~> 12.3)
109
+ rake (~> 13.0)
89
110
  rspec (~> 3.2)
90
- rubocop (~> 0.87.1)
91
- simplecov (~> 0.17.1)
111
+ rubocop (~> 1.23.0)
112
+ rubocop-rake (~> 0.6.0)
113
+ rubocop-rspec (~> 2.6)
114
+ simplecov (~> 0.21.2)
92
115
  webmock (~> 3.1)
93
116
 
94
117
  BUNDLED WITH
95
- 1.17.3
118
+ 2.1.4
data/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
  [![Code Climate](https://codeclimate.com/github/raszi/mrkt/badges/gpa.svg)](https://codeclimate.com/github/raszi/mrkt)
5
5
  [![Test Coverage](https://codeclimate.com/github/raszi/mrkt/badges/coverage.svg)](https://codeclimate.com/github/raszi/mrkt)
6
6
  [![Gem Version](https://badge.fury.io/rb/mrkt.svg)](https://badge.fury.io/rb/mrkt)
7
+ [![Total Downloads](https://badgen.net/rubygems/dt/mrkt)](https://rubygems.org/gems/mrkt)
7
8
 
8
9
  This gem provides some level of abstraction to Marketo REST APIs. Please note that this gem is alpha quality.
9
10
 
@@ -0,0 +1,31 @@
1
+ module Mrkt
2
+ module CrudProgramMembers
3
+ def describe_program_members
4
+ get('/rest/v1/programs/members/describe.json')
5
+ end
6
+
7
+ def createupdate_program_members(program_id, lead_ids, status)
8
+ post_json("/rest/v1/programs/#{program_id}/members/status.json") do
9
+ {
10
+ statusName: status,
11
+ input: lead_ids.map { |lead_id| { leadId: lead_id } }
12
+ }
13
+ end
14
+ end
15
+
16
+ def get_program_members(program_id, filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil)
17
+ params = {
18
+ filterType: filter_type,
19
+ filterValues: filter_values
20
+ }
21
+
22
+ optional = {
23
+ fields: fields,
24
+ batchSize: batch_size,
25
+ nextPageToken: next_page_token
26
+ }
27
+
28
+ get("/rest/v1/programs/#{program_id}/members.json", params, optional)
29
+ end
30
+ end
31
+ end
data/lib/mrkt/errors.rb CHANGED
@@ -40,7 +40,26 @@ class Mrkt::Errors
40
40
  1011 => 'FieldNotSupported',
41
41
  1012 => 'InvalidCookieValue',
42
42
  1013 => 'ObjectNotFound',
43
- 1014 => 'FailedToCreateObject'
43
+ 1014 => 'FailedToCreateObject',
44
+ 1015 => 'LeadNotInList',
45
+ 1016 => 'TooManyImports',
46
+ 1017 => 'ObjectAlreadyExists',
47
+ 1018 => 'CRMEnabled',
48
+ 1019 => 'ImportInProgress',
49
+ 1020 => 'TooManyCloneToProgram',
50
+ 1021 => 'CompanyUpdateNotAllowed',
51
+ 1022 => 'ObjectInUse',
52
+ 1025 => 'ProgramStatusNotFound',
53
+ 1026 => 'CustomObjectNotEnabled',
54
+ 1027 => 'MaxActivityTypeLimitReached',
55
+ 1028 => 'MaxFieldLimitReached',
56
+ 1029 => 'BulkExportQuotaExceeded',
57
+ 1035 => 'UnsupportedFilterType',
58
+ 1036 => 'DuplicateObjectFoundInInput',
59
+ 1042 => 'InvalidRunAtDate',
60
+ 1048 => 'CustomObjectDiscardDraftFailed',
61
+ 1049 => 'FailedToCreateActivity',
62
+ 1077 => 'MergeLeadsCallFailedDueToFieldLength'
44
63
  }.freeze
45
64
 
46
65
  RESPONSE_CODE_TO_ERROR.each_value do |class_name|
data/lib/mrkt/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mrkt
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
data/lib/mrkt.rb CHANGED
@@ -13,6 +13,7 @@ require 'mrkt/concerns/import_custom_objects'
13
13
  require 'mrkt/concerns/crud_custom_objects'
14
14
  require 'mrkt/concerns/crud_custom_activities'
15
15
  require 'mrkt/concerns/crud_programs'
16
+ require 'mrkt/concerns/crud_program_members'
16
17
  require 'mrkt/concerns/crud_asset_static_lists'
17
18
  require 'mrkt/concerns/crud_asset_folders'
18
19
 
@@ -30,6 +31,7 @@ module Mrkt
30
31
  include CrudCustomObjects
31
32
  include CrudCustomActivities
32
33
  include CrudPrograms
34
+ include CrudProgramMembers
33
35
  include CrudAssetStaticLists
34
36
  include CrudAssetFolders
35
37
 
data/mrkt.gemspec CHANGED
@@ -17,17 +17,21 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = %w[lib]
19
19
 
20
- spec.required_ruby_version = '~> 2.5'
20
+ spec.metadata['rubygems_mfa_required'] = 'true'
21
+
22
+ spec.required_ruby_version = '>= 2.5'
21
23
 
22
24
  spec.add_dependency 'faraday', '~> 1.0'
23
25
  spec.add_dependency 'faraday_middleware', '~> 1.0'
24
26
 
25
- spec.add_development_dependency 'bundler', '~> 1.3'
27
+ spec.add_development_dependency 'bundler', '~> 2.0'
26
28
  spec.add_development_dependency 'gem-release', '~> 2.1'
27
29
  spec.add_development_dependency 'pry-byebug', '~> 3.7'
28
- spec.add_development_dependency 'rake', '~> 12.3'
30
+ spec.add_development_dependency 'rake', '~> 13.0'
29
31
  spec.add_development_dependency 'rspec', '~> 3.2'
30
- spec.add_development_dependency 'rubocop', '~> 0.87.1'
31
- spec.add_development_dependency 'simplecov', '~> 0.17.1'
32
+ spec.add_development_dependency 'rubocop', '~> 1.23.0'
33
+ spec.add_development_dependency 'rubocop-rake', '~> 0.6.0'
34
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.6'
35
+ spec.add_development_dependency 'simplecov', '~> 0.21.2'
32
36
  spec.add_development_dependency 'webmock', '~> 3.1'
33
37
  end
@@ -1,10 +1,10 @@
1
1
  describe Mrkt::Authentication do
2
- include_context 'initialized client'
2
+ include_context 'with an initialized client'
3
3
 
4
4
  describe '#authenticate' do
5
- subject { client.authenticate }
5
+ subject(:action) { client.authenticate }
6
6
 
7
- context 'on a successful response' do
7
+ context 'with on a successful response' do
8
8
  it { is_expected.to be_success }
9
9
  end
10
10
 
@@ -16,21 +16,28 @@ describe Mrkt::Authentication do
16
16
  }
17
17
  end
18
18
 
19
- it 'should raise an Error' do
20
- expect { subject }.to raise_error(Mrkt::Errors::Error, 'Bad client credentials')
19
+ it 'raises an Error' do
20
+ expect { action }.to raise_error(Mrkt::Errors::Error, 'Bad client credentials')
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
25
  describe '#authenticate!' do
26
- it 'should authenticate and then be authenticated?' do
27
- expect(client.authenticated?).to_not be true
26
+ it 'authenticates the client' do
27
+ expect(client.authenticated?).not_to be true
28
+
28
29
  client.authenticate!
29
30
  expect(client.authenticated?).to be true
30
31
  end
31
32
 
32
33
  context 'with optional partner_id client option' do
33
- before { remove_request_stub(@authentication_request_stub) }
34
+ subject(:client) { Mrkt::Client.new(client_options) }
35
+
36
+ before do
37
+ stub_request(:get, "https://#{host}/identity/oauth/token")
38
+ .with(query: query)
39
+ .to_return(json_stub(authentication_stub))
40
+ end
34
41
 
35
42
  let(:partner_id) { SecureRandom.uuid }
36
43
 
@@ -52,23 +59,22 @@ describe Mrkt::Authentication do
52
59
  }
53
60
  end
54
61
 
55
- subject(:client) { Mrkt::Client.new(client_options) }
56
-
57
- before do
58
- stub_request(:get, "https://#{host}/identity/oauth/token")
59
- .with(query: query)
60
- .to_return(json_stub(authentication_stub))
61
- end
62
-
63
- it 'should authenticate and then be authenticated?' do
64
- expect(client.authenticated?).to_not be true
62
+ it 'authenticates the client' do
63
+ expect(client.authenticated?).not_to be true
65
64
  client.authenticate!
66
65
  expect(client.authenticated?).to be true
67
66
  end
68
67
  end
69
68
 
70
69
  context 'when the token has expired and @retry_authentication = true' do
71
- before { remove_request_stub(@authentication_request_stub) }
70
+ subject(:client) { Mrkt::Client.new(client_options) }
71
+
72
+ before do
73
+ stub_request(:get, "https://#{host}/identity/oauth/token")
74
+ .with(query: { client_id: client_id, client_secret: client_secret, grant_type: 'client_credentials' })
75
+ .to_return(json_stub(expired_authentication_stub)).times(3).then
76
+ .to_return(json_stub(valid_authentication_stub))
77
+ end
72
78
 
73
79
  let(:retry_count) { 3 }
74
80
 
@@ -90,17 +96,8 @@ describe Mrkt::Authentication do
90
96
  }
91
97
  end
92
98
 
93
- subject(:client) { Mrkt::Client.new(client_options) }
94
-
95
- before do
96
- stub_request(:get, "https://#{host}/identity/oauth/token")
97
- .with(query: { client_id: client_id, client_secret: client_secret, grant_type: 'client_credentials' })
98
- .to_return(json_stub(expired_authentication_stub)).times(3).then
99
- .to_return(json_stub(valid_authentication_stub))
100
- end
101
-
102
- it 'should retry until getting valid token and then be authenticated?' do
103
- expect(client.authenticated?).to_not be true
99
+ it 'retries until it gets a valid token' do
100
+ expect(client.authenticated?).not_to be true
104
101
  client.authenticate!
105
102
  expect(client.authenticated?).to be true
106
103
  end
@@ -108,8 +105,8 @@ describe Mrkt::Authentication do
108
105
  context 'when retry_authentication_count is low' do
109
106
  let(:retry_count) { 2 }
110
107
 
111
- it 'should stop retrying after @retry_authentication_count tries and then raise an error' do
112
- expect(client.authenticated?).to_not be true
108
+ it 'stops retrying after a while' do
109
+ expect(client.authenticated?).not_to be true
113
110
 
114
111
  expect { client.authenticate! }.to raise_error(Mrkt::Errors::Error, 'Client not authenticated')
115
112
  end
@@ -120,11 +117,11 @@ describe Mrkt::Authentication do
120
117
  describe '#authenticated?' do
121
118
  subject { client.authenticated? }
122
119
 
123
- context 'before authentication' do
120
+ context 'when authentication has not been done' do
124
121
  it { is_expected.to be_falsey }
125
122
  end
126
123
 
127
- context 'after authentication' do
124
+ context 'when authentication has been done' do
128
125
  before { client.authenticate }
129
126
 
130
127
  it { is_expected.to be_truthy }