omniauth-createsend 1.0.1 → 1.0.2
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.
- data/.gitignore +1 -2
- data/.rspec +2 -0
- data/.travis.yml +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +27 -1
- data/HISTORY.md +9 -0
- data/README.md +4 -3
- data/lib/omniauth/createsend/version.rb +1 -1
- data/lib/omniauth/strategies/createsend.rb +0 -15
- data/omniauth-createsend.gemspec +4 -0
- data/spec/omniauth/strategies/createsend_spec.rb +35 -7
- data/spec/spec_helper.rb +16 -0
- metadata +69 -9
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -5,8 +5,17 @@ PATH
|
|
5
5
|
omniauth-oauth2 (~> 1.1)
|
6
6
|
|
7
7
|
GEM
|
8
|
-
remote:
|
8
|
+
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
+
addressable (2.3.3)
|
11
|
+
colorize (0.5.8)
|
12
|
+
coveralls (0.6.3)
|
13
|
+
colorize
|
14
|
+
multi_json (~> 1.3)
|
15
|
+
rest-client
|
16
|
+
simplecov (>= 0.7)
|
17
|
+
thor
|
18
|
+
crack (0.3.2)
|
10
19
|
diff-lcs (1.1.3)
|
11
20
|
faraday (0.8.5)
|
12
21
|
multipart-post (~> 1.1)
|
@@ -14,6 +23,7 @@ GEM
|
|
14
23
|
httpauth (0.2.0)
|
15
24
|
jwt (0.1.5)
|
16
25
|
multi_json (>= 1.0)
|
26
|
+
mime-types (1.21)
|
17
27
|
multi_json (1.6.0)
|
18
28
|
multipart-post (1.1.5)
|
19
29
|
oauth2 (0.8.0)
|
@@ -29,7 +39,11 @@ GEM
|
|
29
39
|
oauth2 (~> 0.8.0)
|
30
40
|
omniauth (~> 1.0)
|
31
41
|
rack (1.5.2)
|
42
|
+
rack-test (0.6.2)
|
43
|
+
rack (>= 1.0)
|
32
44
|
rake (10.0.3)
|
45
|
+
rest-client (1.6.7)
|
46
|
+
mime-types (>= 1.16)
|
33
47
|
rspec (2.12.0)
|
34
48
|
rspec-core (~> 2.12.0)
|
35
49
|
rspec-expectations (~> 2.12.0)
|
@@ -38,11 +52,23 @@ GEM
|
|
38
52
|
rspec-expectations (2.12.1)
|
39
53
|
diff-lcs (~> 1.1.3)
|
40
54
|
rspec-mocks (2.12.2)
|
55
|
+
simplecov (0.7.1)
|
56
|
+
multi_json (~> 1.0)
|
57
|
+
simplecov-html (~> 0.7.1)
|
58
|
+
simplecov-html (0.7.1)
|
59
|
+
thor (0.18.0)
|
60
|
+
webmock (1.11.0)
|
61
|
+
addressable (>= 2.2.7)
|
62
|
+
crack (>= 0.3.2)
|
41
63
|
|
42
64
|
PLATFORMS
|
43
65
|
ruby
|
44
66
|
|
45
67
|
DEPENDENCIES
|
68
|
+
coveralls
|
46
69
|
omniauth-createsend!
|
70
|
+
rack-test
|
47
71
|
rake
|
48
72
|
rspec (~> 2.12)
|
73
|
+
simplecov
|
74
|
+
webmock
|
data/HISTORY.md
ADDED
data/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# OmniAuth CreateSend
|
2
|
-
[][travis] [][gemnasium] [][gembadge]
|
2
|
+
[][travis] [][coveralls] [][gemnasium] [][gembadge]
|
3
3
|
|
4
4
|
This is the official [OmniAuth](http://www.omniauth.org/) strategy for authenticating with the [Campaign Monitor API](http://www.campaignmonitor.com/api/). You'll need to register an OAuth Application in your Campaign Monitor account to get a Client ID and Client Secret to use with this OmniAuth strategy.
|
5
5
|
|
6
6
|
[travis]: http://travis-ci.org/jdennes/omniauth-createsend
|
7
|
+
[coveralls]: https://coveralls.io/r/jdennes/omniauth-createsend
|
7
8
|
[gemnasium]: https://gemnasium.com/jdennes/omniauth-createsend
|
8
9
|
[gembadge]: http://badge.fury.io/rb/omniauth-createsend
|
9
10
|
|
@@ -39,7 +40,7 @@ Once you've authenticated, you should use the [createsend](http://campaignmonito
|
|
39
40
|
|
40
41
|
## Contributing
|
41
42
|
1. Fork the repository
|
42
|
-
2. Make your changes, including tests for your changes.
|
43
|
-
3. Ensure that the build passes, by running `bundle exec rake` (CI runs on: `1.9.3`, `1.9.2`, `1.8.7
|
43
|
+
2. Make your changes, including tests for your changes which maintain [coverage][coveralls].
|
44
|
+
3. Ensure that the build passes, by running `bundle exec rake` (CI runs on: `2.0.0`, `1.9.3`, `1.9.2`, `1.8.7`, and `ree`)
|
44
45
|
4. It should go without saying, but do not increment the version number in your commits.
|
45
46
|
5. Submit a pull request.
|
@@ -9,21 +9,6 @@ module OmniAuth
|
|
9
9
|
:authorize_url => '/oauth',
|
10
10
|
:token_url => '/oauth/token'
|
11
11
|
}
|
12
|
-
|
13
|
-
def request_phase
|
14
|
-
super
|
15
|
-
end
|
16
|
-
|
17
|
-
def authorize_params
|
18
|
-
super.tap do |params|
|
19
|
-
%w[scope client_options].each do |v|
|
20
|
-
if request.params[v]
|
21
|
-
params[v.to_sym] = request.params[v]
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
12
|
end
|
28
13
|
end
|
29
14
|
end
|
data/omniauth-createsend.gemspec
CHANGED
@@ -19,5 +19,9 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.add_runtime_dependency 'omniauth-oauth2', '~> 1.1'
|
21
21
|
s.add_development_dependency 'rspec', '~> 2.12'
|
22
|
+
s.add_development_dependency 'rack-test'
|
23
|
+
s.add_development_dependency 'webmock'
|
22
24
|
s.add_development_dependency 'rake'
|
25
|
+
s.add_development_dependency 'simplecov'
|
26
|
+
s.add_development_dependency 'coveralls'
|
23
27
|
end
|
@@ -1,28 +1,56 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'omniauth-createsend'
|
3
2
|
|
4
3
|
describe OmniAuth::Strategies::CreateSend do
|
5
|
-
|
6
|
-
|
4
|
+
def app; lambda{|env| [200, {}, ["Hello."]]} end
|
5
|
+
let(:fresh_strategy){ Class.new(OmniAuth::Strategies::CreateSend) }
|
6
|
+
|
7
|
+
before do
|
8
|
+
OmniAuth.config.test_mode = true
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
OmniAuth.config.test_mode = false
|
7
13
|
end
|
8
14
|
|
9
15
|
describe '#client' do
|
16
|
+
subject{ fresh_strategy }
|
17
|
+
|
10
18
|
it 'should have the correct createsend site' do
|
11
|
-
subject.
|
19
|
+
instance = subject.new(app, {})
|
20
|
+
instance.client.site.should eq("https://api.createsend.com")
|
12
21
|
end
|
13
22
|
|
14
23
|
it 'should have the correct authorization url' do
|
15
|
-
subject.
|
24
|
+
instance = subject.new(app, {})
|
25
|
+
instance.client.options[:authorize_url].should eq("/oauth")
|
16
26
|
end
|
17
27
|
|
18
28
|
it 'should have the correct token url' do
|
19
|
-
subject.
|
29
|
+
instance = subject.new(app, {})
|
30
|
+
instance.client.options[:token_url].should eq('/oauth/token')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe '#authorize_params' do
|
35
|
+
subject { fresh_strategy }
|
36
|
+
|
37
|
+
it 'should include the appropriate authorize params passed in the :authorize_params option' do
|
38
|
+
instance = subject.new('abc', 'def', :authorize_params => {:scope => 'ViewReports,ImportSubscribers', :something => 'else', :state => '4321'})
|
39
|
+
instance.authorize_params[:scope].should eq('ViewReports,ImportSubscribers')
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should include appropriate top-level options that are marked as :authorize_options' do
|
43
|
+
instance = subject.new('abc', 'def', :authorize_options => [:scope], :scope => 'ViewReports,ImportSubscribers', :something => 'else', :authorize_params => {:state => '4321'})
|
44
|
+
instance.authorize_params[:scope].should eq('ViewReports,ImportSubscribers')
|
20
45
|
end
|
21
46
|
end
|
22
47
|
|
23
48
|
describe '#callback_path' do
|
49
|
+
subject{ fresh_strategy }
|
50
|
+
|
24
51
|
it 'should have the correct callback path' do
|
25
|
-
subject.
|
52
|
+
instance = subject.new(app, {})
|
53
|
+
instance.callback_path.should eq('/auth/createsend/callback')
|
26
54
|
end
|
27
55
|
end
|
28
56
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,23 @@
|
|
1
1
|
$:.unshift File.expand_path('..', __FILE__)
|
2
2
|
$:.unshift File.expand_path('../../lib', __FILE__)
|
3
|
+
|
4
|
+
require 'simplecov'
|
5
|
+
require 'coveralls'
|
6
|
+
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
9
|
+
Coveralls::SimpleCov::Formatter
|
10
|
+
]
|
11
|
+
SimpleCov.start
|
12
|
+
|
3
13
|
require 'rspec'
|
14
|
+
require 'rack/test'
|
15
|
+
require 'webmock/rspec'
|
16
|
+
require 'omniauth'
|
4
17
|
require 'omniauth-createsend'
|
5
18
|
|
6
19
|
RSpec.configure do |config|
|
20
|
+
config.include WebMock::API
|
21
|
+
config.include Rack::Test::Methods
|
22
|
+
config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
|
7
23
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-createsend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: omniauth-oauth2
|
@@ -43,6 +43,38 @@ dependencies:
|
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '2.12'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rack-test
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: webmock
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
46
78
|
- !ruby/object:Gem::Dependency
|
47
79
|
name: rake
|
48
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +91,38 @@ dependencies:
|
|
59
91
|
- - ! '>='
|
60
92
|
- !ruby/object:Gem::Version
|
61
93
|
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: simplecov
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: coveralls
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
62
126
|
description: The official OmniAuth strategy for authenticating with the Campaign Monitor
|
63
127
|
API.
|
64
128
|
email:
|
@@ -68,9 +132,11 @@ extensions: []
|
|
68
132
|
extra_rdoc_files: []
|
69
133
|
files:
|
70
134
|
- .gitignore
|
135
|
+
- .rspec
|
71
136
|
- .travis.yml
|
72
137
|
- Gemfile
|
73
138
|
- Gemfile.lock
|
139
|
+
- HISTORY.md
|
74
140
|
- LICENSE
|
75
141
|
- README.md
|
76
142
|
- Rakefile
|
@@ -95,21 +161,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
161
|
- - ! '>='
|
96
162
|
- !ruby/object:Gem::Version
|
97
163
|
version: '0'
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
hash: 1289819948662204167
|
101
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
165
|
none: false
|
103
166
|
requirements:
|
104
167
|
- - ! '>='
|
105
168
|
- !ruby/object:Gem::Version
|
106
169
|
version: '0'
|
107
|
-
segments:
|
108
|
-
- 0
|
109
|
-
hash: 1289819948662204167
|
110
170
|
requirements: []
|
111
171
|
rubyforge_project:
|
112
|
-
rubygems_version: 1.8.
|
172
|
+
rubygems_version: 1.8.23
|
113
173
|
signing_key:
|
114
174
|
specification_version: 3
|
115
175
|
summary: Official OmniAuth strategy for the Campaign Monitor API.
|