cul_omniauth 0.4.3 → 0.5.0

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
  SHA1:
3
- metadata.gz: a7d79b0f43eeca5c75a633f01fe939ddcc798e5a
4
- data.tar.gz: a09213d0e00ca9642955507fba71d1e940fbcc30
3
+ metadata.gz: b8ba38b1d154bb45319aa7a7b320feebbd782d98
4
+ data.tar.gz: 3ff2f174925240d120e8787ce5b3074662b8e7f0
5
5
  SHA512:
6
- metadata.gz: 977bed10ff96bfcc48668b99313076c2267bf8023071709be49d8d51a2de37317e1dc3bfe2ed00d065b8bd6f84658be2c7ff63623a50c50d3db18f9ff651ccbd
7
- data.tar.gz: bc39d14929e69cbd30e50aeab065f069c8c14cdf935d484dd48ab1341291468ce97d7e65c35a8396e67e8f86800cec0d058c51d1b1a28d3103b23468d0ef50ef
6
+ metadata.gz: b93f0f9c6c8ba0ea242716e8fbe6d87086bb85a562f29b88eedabdeb16f6fabbabcc8a4b37696d29b07dbb031aac976543d0bf00b9b7ac4f052a347e6baa1c80
7
+ data.tar.gz: e1cb942dbfb5c8dd68e22d82a433dc0f355df74b5708d079668d920efed3c5088a7543848ea41cbc379fa260f332565aa53599d437140d0ed048b05576a5b4fa
@@ -28,7 +28,8 @@ module Cul::Omniauth::Callbacks
28
28
  affiliations(@current_user,affils)
29
29
  session["devise.roles"] = affils
30
30
  if @current_user && @current_user.persisted?
31
- flash[:notice] = I18n.t "devise.omniauth_callbacks.success", kind: auth_type
31
+ message = I18n.t "devise.omniauth_callbacks.success", kind: auth_type
32
+ flash[:notice] = message unless message.blank?
32
33
  sign_in_and_redirect @current_user, :event => :authentication
33
34
  else
34
35
  reason = @current_user ? 'no persisted user for id' : 'no uid in token'
@@ -0,0 +1,12 @@
1
+ module Cul::Omniauth::Users::ConfiguredRoles
2
+ extend ActiveSupport::Concern
3
+ def role? role_sym
4
+ super || begin
5
+ found = false
6
+ found = role_members(role_sym).detect {|member| self.role?(member.to_sym)}
7
+ end
8
+ end
9
+ def role_members(role_sym)
10
+ Ability.config.fetch(role_sym.to_sym,{}).fetch(:members,[])
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  module Cul
2
2
  module Omniauth
3
- VERSION = "0.4.3"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
@@ -122,3 +122,102 @@ no persisted user for id {"uid"=>"foo", "extra"=>{}}
122
122
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
123
123
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
124
124
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
125
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
126
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
127
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
128
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
129
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
130
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
131
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
132
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
133
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
134
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
135
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
136
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
137
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
138
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
139
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
140
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
141
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
142
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
143
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
144
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
145
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
146
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
147
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
148
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
149
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
150
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
151
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
152
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
153
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
154
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
155
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
156
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
157
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
158
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
159
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
160
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
161
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
162
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
163
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
164
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
165
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
166
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
167
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
168
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
169
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
170
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
171
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
172
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
173
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
174
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
175
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
176
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
177
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
178
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
179
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
180
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
181
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
182
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
183
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
184
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
185
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
186
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
187
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
188
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
189
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
190
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
191
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
192
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
193
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
194
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
195
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
196
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
197
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
198
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
199
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
200
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
201
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
202
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
203
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
204
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
205
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
206
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
207
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
208
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
209
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
210
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
211
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
212
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
213
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
214
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
215
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
216
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
217
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
218
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
219
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
220
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
221
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
222
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
223
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
@@ -59,6 +59,21 @@ describe Cul::Omniauth::Callbacks do
59
59
  subject.send method.downcase.to_sym
60
60
  expect(rig.flash[:notice]).to be
61
61
  end
62
+ context "and success translation is empty" do
63
+ before do
64
+ I18n.load_path.unshift fixture_path(File.join('test', 'locales', 'translation.en.yml'))
65
+ I18n.backend.reload!
66
+ end
67
+ after do
68
+ I18n.load_path.shift
69
+ I18n.backend.reload!
70
+ end
71
+ it do
72
+ is_expected.to receive(:sign_in_and_redirect)
73
+ subject.send method.downcase.to_sym
74
+ expect(rig.flash[:notice]).not_to be
75
+ end
76
+ end
62
77
  context "no current_user" do
63
78
  before do
64
79
  rig.instance_variable_set :@current_user, nil
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe Cul::Omniauth::Users::ConfiguredRoles do
4
+
5
+ it do
6
+ is_expected.to be_a Module
7
+ end
8
+ context "is included" do
9
+ let(:uid) { 'foo' }
10
+ let(:rules) do
11
+ YAML.load(fixture('test/role_config/members.yml').read)['_all_environments']
12
+ end
13
+ let(:test_class) {
14
+ c = Class.new(User)
15
+ c.class_eval do
16
+ attr_accessor :request, :flash, :session
17
+ include Cul::Omniauth::Users::ConfiguredRoles
18
+ end
19
+ c
20
+ }
21
+
22
+ before do
23
+ Ability.instance_variable_set :@role_proxy_config, symbolize_hash_keys(rules)
24
+ end
25
+
26
+ after do
27
+ Ability.instance_variable_set :@role_proxy_config, nil
28
+ end
29
+
30
+ subject { test_class.new }
31
+
32
+ context "a role as ad-hoc members" do
33
+ it 'should find memberships one level removed' do
34
+ expect(subject.role? 'one_level').to be
35
+ end
36
+ it 'should find memberships several levels removed' do
37
+ expect(subject.role? 'three_level').to be
38
+ end
39
+ it 'should still return false for other roles' do
40
+ expect(subject.role? 'none_level').not_to be
41
+ end
42
+ end
43
+ end
44
+ end
data/spec/spec_helper.rb CHANGED
@@ -28,6 +28,10 @@ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
28
28
  ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
29
29
  end
30
30
 
31
+ def fixture_path(filename)
32
+ path = File.join(File.dirname(__FILE__),'..','fixtures',filename)
33
+ end
34
+
31
35
  def fixture(filename, mode="r")
32
36
  path = File.join(File.dirname(__FILE__),'..','fixtures',filename)
33
37
  if block_given?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cul_omniauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - barmintor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-02 00:00:00.000000000 Z
11
+ date: 2015-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -113,6 +113,7 @@ files:
113
113
  - app/helpers/cul/omniauth/application_helper.rb
114
114
  - app/models/concerns/cul/omniauth/abilities.rb
115
115
  - app/models/concerns/cul/omniauth/users.rb
116
+ - app/models/concerns/cul/omniauth/users/configured_roles.rb
116
117
  - app/views/layouts/cul/omniauth/application.html.erb
117
118
  - config/locales/cul_omniauth.en.yml
118
119
  - config/routes.rb
@@ -170,6 +171,7 @@ files:
170
171
  - spec/lib/cul/omniauth/abilities_spec.rb
171
172
  - spec/lib/cul/omniauth/callbacks_spec.rb
172
173
  - spec/lib/cul/omniauth/remote_ip_ability_spec.rb
174
+ - spec/lib/cul/omniauth/users/configured_roles_spec.rb
173
175
  - spec/lib/cul/omniauth/users_spec.rb
174
176
  - spec/lib/omni_auth/strategies/saml/service_ticket_validator_spec.rb
175
177
  - spec/lib/omni_auth/strategies/wind/service_ticket_validator_spec.rb
@@ -240,6 +242,7 @@ test_files:
240
242
  - spec/lib/cul/omniauth/abilities_spec.rb
241
243
  - spec/lib/cul/omniauth/callbacks_spec.rb
242
244
  - spec/lib/cul/omniauth/remote_ip_ability_spec.rb
245
+ - spec/lib/cul/omniauth/users/configured_roles_spec.rb
243
246
  - spec/lib/cul/omniauth/users_spec.rb
244
247
  - spec/lib/omni_auth/strategies/saml/service_ticket_validator_spec.rb
245
248
  - spec/lib/omni_auth/strategies/wind/service_ticket_validator_spec.rb