omniauth-plangrade 0.1.0 → 0.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 +4 -4
- data/Gemfile +7 -0
- data/README.md +2 -0
- data/lib/omniauth/plangrade/version.rb +1 -1
- data/spec/omniauth/strategies/plangrade_spec.rb +62 -12
- data/spec/spec_helper.rb +10 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3174239bb8b6b7b3c24cd69bbc2391976bfb2095
|
4
|
+
data.tar.gz: 3b7ea023d9b1c54c8b485c1971f4adaa4a670d22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea9c296465dc5fdc58653a8e5e0aa18c4029f121b34ce0358b4f5e5f5b1c01d4093f96940f79b1d80fe95016a4dc3cce322fd73860e797f6d7232bef66ff5fdf
|
7
|
+
data.tar.gz: 76b6f7288d675b6a24fbaa7f2273c162f4e73cef5ad57ab87b6de8aa23180fce243708a62ddc4a8642771c3855744a27e1edbdb079c5418b1daa3e3495976660
|
data/Gemfile
CHANGED
@@ -2,5 +2,12 @@ source "https://rubygems.org"
|
|
2
2
|
|
3
3
|
gem 'rake'
|
4
4
|
|
5
|
+
group :test do
|
6
|
+
gem 'rspec', '>= 2.11'
|
7
|
+
gem 'simplecov', :require => false
|
8
|
+
gem 'coveralls', :require => false
|
9
|
+
gem 'webmock', '>= 1.10.1'
|
10
|
+
end
|
11
|
+
|
5
12
|
# Specify your gem's dependencies in omniauth-twitter.gemspec
|
6
13
|
gemspec
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# OmniAuth plangrade
|
2
2
|
[](http://badge.fury.io/rb/omniauth-plangrade)
|
3
3
|
[](https://codeclimate.com/github/topherreynoso/omniauth-plangrade)
|
4
|
+
[](https://travis-ci.org/topherreynoso/omniauth-plangrade)
|
5
|
+
[](https://coveralls.io/r/topherreynoso/omniauth-plangrade?branch=master)
|
4
6
|
|
5
7
|
plangrade OAuth2 strategy for OmniAuth.
|
6
8
|
Supports the OAuth 2.0 server-side and client-side flows. Read the plangrade docs for more details: [docs.plangrade.com](https://docs.plangrade.com/#authentication). Additionally, this may be used in conjunction with [plangrade-ruby](https://github.com/topherreynoso/plangrade-ruby) in order to refresh tokens and access plangrade API endpoints.
|
@@ -1,24 +1,74 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OmniAuth::Strategies::Plangrade do
|
4
|
-
|
4
|
+
subject { OmniAuth::Strategies::Plangrade.new(nil) }
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
it 'should add a camelization for itself' do
|
7
|
+
expect(OmniAuth::Utils.camelize('plangrade')).to eq('Plangrade')
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#client' do
|
11
|
+
it 'has correct Plangrade site' do
|
12
|
+
expect(subject.client.site).to eq('https://plangrade.com')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'has correct authorize url' do
|
16
|
+
expect(subject.client.options[:authorize_url]).to eq('/oauth/authorize')
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'has correct token url' do
|
20
|
+
expect(subject.client.options[:token_url]).to eq('/oauth/token')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#callback_path' do
|
25
|
+
it 'has the correct callback path' do
|
26
|
+
expect(subject.callback_path).to eq('/auth/plangrade/callback')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '#uid' do
|
31
|
+
before :each do
|
32
|
+
allow(subject).to receive(:raw_info) { { 'id' => 'uid' } }
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'returns the id from raw_info' do
|
36
|
+
expect(subject.uid).to eq('uid')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '#info' do
|
41
|
+
context 'and therefore has all the necessary fields' do
|
42
|
+
before :each do
|
43
|
+
allow(subject).to receive(:raw_info) {
|
44
|
+
{
|
45
|
+
'name' => 'John Doe',
|
46
|
+
'email' => 'compliance@plangrade.com'
|
47
|
+
}
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
it { expect(subject.info).to have_key :name }
|
52
|
+
it { expect(subject.info).to have_key :email }
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'and does not fail with empty response' do
|
56
|
+
before :each do
|
57
|
+
allow(subject).to receive(:raw_info) { {} }
|
58
|
+
end
|
59
|
+
|
60
|
+
it { expect { subject.info }.not_to raise_error }
|
12
61
|
end
|
13
62
|
end
|
14
63
|
|
15
|
-
describe '
|
16
|
-
|
17
|
-
|
64
|
+
describe '#raw_info' do
|
65
|
+
before :each do
|
66
|
+
response = double('response', :parsed => { 'foo' => 'bar' })
|
67
|
+
allow(subject).to receive(:access_token) { double('access token', :get => response) }
|
18
68
|
end
|
19
69
|
|
20
|
-
it '
|
21
|
-
expect(subject.
|
70
|
+
it 'returns parsed response from access token' do
|
71
|
+
expect(subject.raw_info).to eq({ 'foo' => 'bar' })
|
22
72
|
end
|
23
73
|
end
|
24
74
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
$:.unshift File.expand_path('..', __FILE__)
|
2
2
|
$:.unshift File.expand_path('../../lib', __FILE__)
|
3
3
|
require 'simplecov'
|
4
|
+
require 'coveralls'
|
5
|
+
|
6
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
7
|
+
SimpleCov::Formatter::HTMLFormatter,
|
8
|
+
Coveralls::SimpleCov::Formatter
|
9
|
+
]
|
4
10
|
SimpleCov.start
|
11
|
+
|
5
12
|
require 'rspec'
|
6
13
|
require 'rack/test'
|
7
14
|
require 'webmock/rspec'
|
@@ -10,6 +17,8 @@ require 'omniauth'
|
|
10
17
|
require 'omniauth-oauth2'
|
11
18
|
require 'omniauth/plangrade'
|
12
19
|
|
20
|
+
WebMock.disable_net_connect!(:allow => 'coveralls.io')
|
21
|
+
|
13
22
|
RSpec.configure do |config|
|
14
23
|
config.include WebMock::API
|
15
24
|
config.include Rack::Test::Methods
|
@@ -17,4 +26,4 @@ RSpec.configure do |config|
|
|
17
26
|
config.expect_with :rspec do |c|
|
18
27
|
c.syntax = :expect
|
19
28
|
end
|
20
|
-
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-plangrade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Reynoso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|