id_please 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/id_please.gemspec +5 -3
- data/lib/id_please/assignment_map.rb +40 -12
- data/lib/id_please/model_extensions/for_subject.rb +31 -20
- data/test/assignment_test.rb +38 -0
- data/test/debug.log +222903 -0
- data/test/roles_test.rb +19 -9
- metadata +4 -2
data/test/roles_test.rb
CHANGED
@@ -219,6 +219,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
219
219
|
@user1 = User.create!(:name => "User1")
|
220
220
|
@user2 = User.create!(:name => "User2")
|
221
221
|
@user3 = User.create!(:name => "User3")
|
222
|
+
@user4 = User.create!(:name => "User4")
|
222
223
|
@group1 = Group.create!(:name => "Group1")
|
223
224
|
@group2 = Group.create!(:name => "Group2")
|
224
225
|
@group3 = Group.create!(:name => "Group3")
|
@@ -236,7 +237,6 @@ class RolesTest < ActiveSupport::TestCase
|
|
236
237
|
@user1.in_group!(@group2)
|
237
238
|
|
238
239
|
assert_same_elements @user1.groups, [@group1, @group2]
|
239
|
-
assert_same_elements_in_hash @user1.groups(:result => :hash), {@group1 => [@user1], @group2 => [@user1]}
|
240
240
|
assert_same_elements @group1.children, [@user1, @user2]
|
241
241
|
assert_equal @group2.children, [@user1]
|
242
242
|
|
@@ -257,6 +257,9 @@ class RolesTest < ActiveSupport::TestCase
|
|
257
257
|
|
258
258
|
@user3.has_role!(:owner, @group4)
|
259
259
|
|
260
|
+
@user4.has_role!(:owner, @group2)
|
261
|
+
|
262
|
+
|
260
263
|
end
|
261
264
|
|
262
265
|
should "avoid circularity" do
|
@@ -277,15 +280,22 @@ class RolesTest < ActiveSupport::TestCase
|
|
277
280
|
end
|
278
281
|
|
279
282
|
should "handle nested groups" do
|
283
|
+
|
280
284
|
assert_same_elements @user1.groups(:nested => false), [@group1, @group3, @group4]
|
285
|
+
|
281
286
|
assert_same_elements @user1.groups, [@group1, @group2, @group3, @group4]
|
282
|
-
|
287
|
+
|
288
|
+
assert_same_elements_in_hash @user1.groups_with_assignments[:member], {@group1 => [@user1], @group2 => [@group1], @group3 => [@user1], @group4 => [@user1, @group2]}
|
289
|
+
|
290
|
+
assert_same_elements_in_hash @user4.groups_with_assignments[:owner], {@group2 => [@user4]}
|
291
|
+
|
292
|
+
|
283
293
|
|
284
294
|
assert_same_elements @user2.groups, [@group2, @group4]
|
285
295
|
|
286
|
-
assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3]
|
287
|
-
assert_same_elements @group2.children, [@group1, @user1, @user2]
|
288
|
-
assert_same_elements @group2.children(:nested => false), [@group1, @user2]
|
296
|
+
assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3, @user4]
|
297
|
+
assert_same_elements @group2.children, [@group1, @user1, @user2, @user4]
|
298
|
+
assert_same_elements @group2.children(:nested => false), [@group1, @user2, @user4]
|
289
299
|
|
290
300
|
assert @group4.accepts_role?(:member, @user1)
|
291
301
|
assert @group2.accepts_role?(:member, @user1)
|
@@ -296,7 +306,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
296
306
|
end
|
297
307
|
|
298
308
|
should "be able to display hashes of subject permissions" do
|
299
|
-
assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner]}
|
309
|
+
assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner], @user4 => [:owner]}
|
300
310
|
end
|
301
311
|
|
302
312
|
should "display a list of roles, or a hash of roles to users" do
|
@@ -304,12 +314,12 @@ class RolesTest < ActiveSupport::TestCase
|
|
304
314
|
|
305
315
|
role_hash = @group4.children(:view => :role_hash)
|
306
316
|
assert_same_elements role_hash[:member], [@group1, @group2, @user1, @user2]
|
307
|
-
assert_same_elements role_hash[:owner], [@user3]
|
317
|
+
assert_same_elements role_hash[:owner], [@user3, @user4]
|
308
318
|
end
|
309
319
|
|
310
320
|
should "display a hash of roles to users with the relevant groups attached" do
|
311
321
|
role_with_assignments = @group4.children(:view => :role_with_assignments)
|
312
|
-
assert_equal role_with_assignments[:owner], {@user3 => [@group4]}
|
322
|
+
assert_equal role_with_assignments[:owner], {@user3 => [@group4], @user4 => [@group2]}
|
313
323
|
assert_same_elements role_with_assignments[:member].keys, [@user1, @user2, @group1, @group2]
|
314
324
|
assert_same_elements_in_hash role_with_assignments[:member], {@group2 => [@group4], @group1 => [@group2], @user1 => [@group1, @group4], @user2 => [@group2]}
|
315
325
|
|
@@ -328,7 +338,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
328
338
|
assert_false @user1.has_role?(:owner, @foo, :check_groups => false)
|
329
339
|
|
330
340
|
|
331
|
-
assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2]
|
341
|
+
assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2, @user4]
|
332
342
|
assert_same_elements @foo.list_owners(:check_groups => false), [@group2]
|
333
343
|
|
334
344
|
assert @foo.accepts_role?(:owner, @user1)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: id_please
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Stuart
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-03-
|
12
|
+
date: 2010-03-16 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/id_please/model_extensions/for_role.rb
|
81
81
|
- lib/id_please/model_extensions/for_subject.rb
|
82
82
|
- lib/id_please/model_extensions/for_user.rb
|
83
|
+
- test/assignment_test.rb
|
83
84
|
- test/database.yml
|
84
85
|
- test/debug.log
|
85
86
|
- test/id_please_test.rb
|
@@ -116,6 +117,7 @@ signing_key:
|
|
116
117
|
specification_version: 3
|
117
118
|
summary: Access control gem for rails
|
118
119
|
test_files:
|
120
|
+
- test/assignment_test.rb
|
119
121
|
- test/id_please_test.rb
|
120
122
|
- test/roles_test.rb
|
121
123
|
- test/support/models.rb
|