4me-sdk 1.2.0 → 2.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,28 +13,28 @@ describe Sdk4me::Response do
13
13
 
14
14
  def credentials(authentication)
15
15
  if authentication == :api_token
16
- { basic_auth: ['secret', 'x'] }
16
+ { basic_auth: %w[secret x] }
17
17
  else
18
- { headers: {'Authorization' => 'Bearer secret'} }
18
+ { headers: { 'Authorization' => 'Bearer secret' } }
19
19
  end
20
20
  end
21
21
 
22
- [:api_token, :access_token].each do |authentication|
22
+ %i[api_token access_token].each do |authentication|
23
23
  context "#{authentication} - " do
24
24
  before(:each) do
25
25
  @person_hash = {
26
- addresses:[],
27
- contacts:[ {id: 1365, label: 'work', telephone: '7139872946'} ],
26
+ addresses: [],
27
+ contacts: [{ id: 1365, label: 'work', telephone: '7139872946' }],
28
28
  id: 562,
29
29
  information: 'Info about John.',
30
30
  job_title: 'rolling stone',
31
31
  locale: 'en-US',
32
32
  location: 'Top of John Hill',
33
33
  name: 'John',
34
- organization: {id: 20, name: 'SDK4ME Institute'},
34
+ organization: { id: 20, name: 'SDK4ME Institute' },
35
35
  picture_uri: nil,
36
36
  primary_email: 'john@example.com',
37
- site: {id:14, name: 'IT Training Facility'},
37
+ site: { id: 14, name: 'IT Training Facility' },
38
38
  time_format_24h: false,
39
39
  time_zone: 'Central Time (US & Canada)'
40
40
  }
@@ -42,9 +42,9 @@ describe Sdk4me::Response do
42
42
  @response_hash = client(authentication).get('me')
43
43
 
44
44
  @people_array = [
45
- {id: 562, name: 'John', organization: { id: 20, name: 'SDK4ME Institute'}, site: {id: 14, name: 'IT Training Facility'} },
46
- {id: 560, name: 'Lucas', organization: { id: 20, name: 'SDK4ME Institute', office: { name: 'The Office'}}, site: {id: 14, name: 'IT Training Facility'} },
47
- {id: 561, name: 'Sheryl', organization: { id: 20, name: 'SDK4ME Institute'}, site: {id: 14, name: 'IT Training Facility'} }
45
+ { id: 562, name: 'John', organization: { id: 20, name: 'SDK4ME Institute' }, site: { id: 14, name: 'IT Training Facility' } },
46
+ { id: 560, name: 'Lucas', organization: { id: 20, name: 'SDK4ME Institute', office: { name: 'The Office' } }, site: { id: 14, name: 'IT Training Facility' } },
47
+ { id: 561, name: 'Sheryl', organization: { id: 20, name: 'SDK4ME Institute' }, site: { id: 14, name: 'IT Training Facility' } }
48
48
  ]
49
49
  stub_request(:get, 'https://api.4me.com/v1/people').to_return(body: @people_array.to_json).with(credentials(authentication))
50
50
  @response_array = client(authentication).get('people')
@@ -98,7 +98,7 @@ describe Sdk4me::Response do
98
98
  end
99
99
 
100
100
  it 'should add a message if the HTTP response is not OK' do
101
- stub_request(:get, 'https://api.4me.com/v1/organizations').with(credentials(authentication)).to_return(status: 429, body: {message: 'Too Many Requests'}.to_json)
101
+ stub_request(:get, 'https://api.4me.com/v1/organizations').with(credentials(authentication)).to_return(status: 429, body: { message: 'Too Many Requests' }.to_json)
102
102
  response = client(authentication).get('organizations')
103
103
 
104
104
  message = '429: Too Many Requests'
@@ -124,7 +124,6 @@ describe Sdk4me::Response do
124
124
  it 'should have a blank message when single record is succesfully retrieved' do
125
125
  expect(@response_array.message).to be_nil
126
126
  end
127
-
128
127
  end
129
128
 
130
129
  it 'should define empty' do
@@ -138,12 +137,12 @@ describe Sdk4me::Response do
138
137
 
139
138
  context 'valid' do
140
139
  it 'should be valid when the message is nil' do
141
- expect(@response_hash).to receive(:message){ nil }
140
+ expect(@response_hash).to receive(:message) { nil }
142
141
  expect(@response_hash.valid?).to be_truthy
143
142
  end
144
143
 
145
144
  it 'should not be valid when the message is not nil' do
146
- expect(@response_array).to receive(:message){ 'invalid' }
145
+ expect(@response_array).to receive(:message) { 'invalid' }
147
146
  expect(@response_array.valid?).to be_falsey
148
147
  end
149
148
  end
@@ -165,7 +164,7 @@ describe Sdk4me::Response do
165
164
 
166
165
  context 'list of records' do
167
166
  it 'should delegate [] to the json of each record' do
168
- expect(@response_array['name']).to eq(['John', 'Lucas', 'Sheryl'])
167
+ expect(@response_array['name']).to eq(%w[John Lucas Sheryl])
169
168
  end
170
169
 
171
170
  it 'should allow multiple keys' do
@@ -188,7 +187,7 @@ describe Sdk4me::Response do
188
187
  end
189
188
 
190
189
  it 'should return nil if an error message is present' do
191
- expect(@response_hash).to receive(:message){ 'error message' }
190
+ expect(@response_hash).to receive(:message) { 'error message' }
192
191
  expect(@response_hash.size).to eq(0)
193
192
  end
194
193
  end
@@ -203,7 +202,7 @@ describe Sdk4me::Response do
203
202
  end
204
203
 
205
204
  it 'should return nil if an error message is present' do
206
- expect(@response_hash).to receive(:message){ 'error message' }
205
+ expect(@response_hash).to receive(:message) { 'error message' }
207
206
  expect(@response_hash.count).to eq(0)
208
207
  end
209
208
  end
@@ -215,9 +214,9 @@ describe Sdk4me::Response do
215
214
  'X-Pagination-Current-Page' => 1,
216
215
  'X-Pagination-Total-Pages' => 2,
217
216
  'X-Pagination-Total-Entries' => 5,
218
- 'Link' => '<https://api.4me.com/v1/people?page=1&per_page=3>; rel="first",<https://api.4me.com/v1/people?page=2&per_page=3>; rel="next", <https://api.4me.com/v1/people?page=2&per_page=3>; rel="last"',
217
+ 'Link' => '<https://api.4me.com/v1/people?page=1&per_page=3>; rel="first",<https://api.4me.com/v1/people?page=2&per_page=3>; rel="next", <https://api.4me.com/v1/people?page=2&per_page=3>; rel="last"'
219
218
  }
220
- allow(@response_array.response).to receive('header'){ @pagination_header }
219
+ allow(@response_array.response).to receive('header') { @pagination_header }
221
220
  end
222
221
 
223
222
  it "should retrieve per_page from the 'X-Pagination-Per-Page' header" do
@@ -236,19 +235,17 @@ describe Sdk4me::Response do
236
235
  expect(@response_array.total_entries).to eq(5)
237
236
  end
238
237
 
239
- {first: 'https://api.4me.com/v1/people?page=1&per_page=3',
240
- next: 'https://api.4me.com/v1/people?page=2&per_page=3',
241
- last: 'https://api.4me.com/v1/people?page=2&per_page=3'}.each do |relation, link|
242
-
238
+ { first: 'https://api.4me.com/v1/people?page=1&per_page=3',
239
+ next: 'https://api.4me.com/v1/people?page=2&per_page=3',
240
+ last: 'https://api.4me.com/v1/people?page=2&per_page=3' }.each do |relation, link|
243
241
  it "should define pagination link for :#{relation}" do
244
242
  expect(@response_array.pagination_link(relation)).to eq(link)
245
243
  end
246
244
  end
247
245
 
248
- {first: '/v1/people?page=1&per_page=3',
249
- next: '/v1/people?page=2&per_page=3',
250
- last: '/v1/people?page=2&per_page=3'}.each do |relation, link|
251
-
246
+ { first: '/v1/people?page=1&per_page=3',
247
+ next: '/v1/people?page=2&per_page=3',
248
+ last: '/v1/people?page=2&per_page=3' }.each do |relation, link|
252
249
  it "should define pagination relative link for :#{relation}" do
253
250
  expect(@response_array.pagination_relative_link(relation)).to eq(link)
254
251
  end
@@ -268,7 +265,7 @@ describe Sdk4me::Response do
268
265
  end
269
266
 
270
267
  it 'should check the return message' do
271
- stub_request(:get, 'https://api.4me.com/v1/organizations').with(credentials(authentication)).to_return(status: 500, body: {message: 'Too Many Requests'}.to_json )
268
+ stub_request(:get, 'https://api.4me.com/v1/organizations').with(credentials(authentication)).to_return(status: 500, body: { message: 'Too Many Requests' }.to_json)
272
269
  response = client(authentication).get('organizations')
273
270
  expect(response.throttled?).to be_truthy
274
271
  end
@@ -285,7 +282,6 @@ describe Sdk4me::Response do
285
282
  expect(response.to_s).to eq('429: empty body')
286
283
  end
287
284
  end
288
-
289
285
  end
290
286
  end
291
287
  end
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Sdk4me do
4
- it "should define a default configuration" do
4
+ it 'should define a default configuration' do
5
5
  conf = Sdk4me.configuration.current
6
6
 
7
- expect(conf.keys.sort).to eq([:access_token, :account, :api_token, :api_version, :block_at_rate_limit, :ca_file, :host, :logger, :max_retry_time, :max_throttle_time, :proxy_host, :proxy_password, :proxy_port, :proxy_user, :read_timeout, :source])
7
+ expect(conf.keys.sort).to eq(%i[access_token account api_token api_version block_at_rate_limit ca_file host logger max_retry_time max_throttle_time proxy_host proxy_password proxy_port proxy_user read_timeout source])
8
8
 
9
9
  expect(conf[:logger].class).to eq(::Logger)
10
10
  expect(conf[:host]).to eq('https://api.4me.com')
@@ -16,18 +16,18 @@ describe Sdk4me do
16
16
 
17
17
  expect(conf[:proxy_port]).to eq(8080)
18
18
 
19
- [:access_token, :api_token, :account, :source, :proxy_host, :proxy_user, :proxy_password].each do |no_default|
19
+ %i[access_token api_token account source proxy_host proxy_user proxy_password].each do |no_default|
20
20
  expect(conf[no_default]).to be_nil
21
21
  end
22
22
 
23
23
  expect(conf[:ca_file]).to eq('../ca-bundle.crt')
24
24
  end
25
25
 
26
- it "should define a logger" do
26
+ it 'should define a logger' do
27
27
  expect(Sdk4me.logger.class).to eq(::Logger)
28
28
  end
29
29
 
30
- it "should define an exception class" do
31
- expect { raise ::Sdk4me::Exception.new('test') }.to raise_error('test')
30
+ it 'should define an exception class' do
31
+ expect { raise ::Sdk4me::Exception, 'test' }.to raise_error('test')
32
32
  end
33
- end
33
+ end
@@ -1,9 +1,8 @@
1
- # -*- encoding : utf-8 -*-
2
1
  dir = File.dirname(__FILE__)
3
- $LOAD_PATH.unshift dir + '/../lib'
2
+ $LOAD_PATH.unshift "#{dir}/../lib"
4
3
  $LOAD_PATH.unshift dir
5
4
 
6
- STDERR.puts("Running specs using ruby version #{RUBY_VERSION}")
5
+ warn("Running specs using ruby version #{RUBY_VERSION}")
7
6
 
8
7
  require 'simplecov'
9
8
  SimpleCov.start
@@ -26,12 +25,12 @@ require 'sdk4me/client'
26
25
 
27
26
  # Requires supporting ruby files with custom matchers and macros, etc,
28
27
  # in spec/support/ and its subdirectories.
29
- Dir["#{dir}/support/**/*.rb"].each { |f| require f }
28
+ Dir["#{dir}/support/**/*.rb"].sort.each { |f| require f }
30
29
 
31
30
  RSpec.configure do |config|
32
31
  config.before(:each) do
33
- log_dir = File.dirname(__FILE__) + '/log'
34
- Dir.mkdir(log_dir) unless File.exists?(log_dir)
32
+ log_dir = "#{File.dirname(__FILE__)}/log"
33
+ Dir.mkdir(log_dir) unless File.exist?(log_dir)
35
34
  Sdk4me.configuration.logger = Logger.new("#{log_dir}/test.log")
36
35
  @spec_dir = dir
37
36
  @fixture_dir = "#{dir}/support/fixtures"
@@ -43,6 +42,4 @@ RSpec.configure do |config|
43
42
  # the seed, which is printed after each run.
44
43
  # --seed 1234
45
44
  config.order = 'random'
46
-
47
45
  end
48
-
@@ -19,28 +19,23 @@ RSpec::Matchers.define :never_raise do |exception_class|
19
19
  end
20
20
 
21
21
  match do |block|
22
- begin
23
- block.call
24
- rescue exception_class => e
25
- global_result = "expected #{block.source_location[0]}:#{block.source_location[1]} to never raise #{exception_class.name}, but did: #{e.message}"
26
- false # we did NOT never raise this exception
27
-
28
- rescue RSpec::Expectations::ExpectationNotMetError => exception
29
- global_result = "expectation failed inside block at #{block.source_location[0]}:#{block.source_location[1]}: #{exception}"
30
- # give us a pretty error message in addition to the error message from the exception
31
- raise exception
32
-
33
- rescue
34
- # handle other exceptions by reraising them. They are exceptional!!!
35
- # (also, no pretty error messages here)
36
- raise
37
-
38
- else
39
- true # everything ran, nothing raised at all, thus code did in fact not raise anything
40
- end
22
+ block.call
23
+ rescue exception_class => e
24
+ global_result = "expected #{block.source_location[0]}:#{block.source_location[1]} to never raise #{exception_class.name}, but did: #{e.message}"
25
+ false # we did NOT never raise this exception
26
+ rescue RSpec::Expectations::ExpectationNotMetError => e
27
+ global_result = "expectation failed inside block at #{block.source_location[0]}:#{block.source_location[1]}: #{e}"
28
+ # give us a pretty error message in addition to the error message from the exception
29
+ raise e
30
+ rescue StandardError
31
+ # handle other exceptions by reraising them. They are exceptional!!!
32
+ # (also, no pretty error messages here)
33
+ raise
34
+ else
35
+ true # everything ran, nothing raised at all, thus code did in fact not raise anything
41
36
  end
42
37
 
43
- failure_message do |player|
38
+ failure_message do |_player|
44
39
  global_result
45
40
  end
46
- end
41
+ end
@@ -1,3 +1,3 @@
1
1
  def expect_log(text, level = :info, logger = Sdk4me.configuration.logger)
2
- expect(logger).to receive(level).ordered { |&args| expect(args.call).to eq(text) }
3
- end
2
+ expect(logger).to(receive(level).ordered { |&args| expect(args.call).to eq(text) })
3
+ end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: 4me-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0.pre.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - 4me
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2020-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: gem_config
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.3'
19
+ version: '4.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.3'
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: gem_config
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '4.2'
33
+ version: '0.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '4.2'
40
+ version: '0.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mime-types
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +95,19 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.3'
97
97
  - !ruby/object:Gem::Dependency
98
- name: webmock
98
+ name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3'
103
+ version: 0.49.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '3'
110
+ version: 0.49.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,21 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description: SDK for accessing the 4me API
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3'
139
+ description: SDK for accessing the 4me REST API
126
140
  email: developers@4me.com
127
141
  executables: []
128
142
  extensions: []
@@ -163,18 +177,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
- version: 2.0.0
180
+ version: 2.5.0
167
181
  required_rubygems_version: !ruby/object:Gem::Requirement
168
182
  requirements:
169
- - - ">="
183
+ - - ">"
170
184
  - !ruby/object:Gem::Version
171
- version: '0'
185
+ version: 1.3.1
172
186
  requirements: []
173
- rubygems_version: 3.1.2
187
+ rubyforge_project:
188
+ rubygems_version: 2.7.9
174
189
  signing_key:
175
190
  specification_version: 4
176
- summary: The official 4me SDK for Ruby. Provides easy access to the APIs found at
177
- https://developer.4me.com
191
+ summary: The official 4me SDK for Ruby. Provides easy access to the REST APIs found
192
+ at https://developer.4me.com
178
193
  test_files:
179
194
  - spec/lib/sdk4me/attachments_spec.rb
180
195
  - spec/lib/sdk4me/certificate_spec.rb