1
1
require_relative '../test_helper'
2
2
3
3
class GitHubLdapRecursiveMembershipValidatorsTest < GitHub ::Ldap ::Test
4
- def self . test_server_options
5
- { search_domains : "dc=github,dc=com" ,
6
- uid : "uid" ,
7
- user_fixtures : FIXTURES . join ( 'github-with-subgroups.ldif' ) . to_s
8
- }
9
- end
10
-
11
4
def setup
12
- @ldap = GitHub ::Ldap . new ( options )
5
+ @ldap = GitHub ::Ldap . new ( options . merge ( search_domains : %w( dc=github,dc=com ) ) )
13
6
@domain = @ldap . domain ( "dc=github,dc=com" )
14
- @entry = @domain . user? ( 'user1.1.1.1 ' )
7
+ @entry = @domain . user? ( 'user1' )
15
8
@validator = GitHub ::Ldap ::MembershipValidators ::Recursive
16
9
end
17
10
@@ -21,85 +14,43 @@ def make_validator(groups)
21
14
end
22
15
23
16
def test_validates_user_in_group
24
- validator = make_validator ( %w( group1.1.1.1 ) )
17
+ validator = make_validator ( %w( nested- group1) )
25
18
assert validator . perform ( @entry )
26
19
end
27
20
28
21
def test_validates_user_in_child_group
29
- validator = make_validator ( %w( group1.1.1 ) )
22
+ validator = make_validator ( %w( n-depth-nested- group1) )
30
23
assert validator . perform ( @entry )
31
24
end
32
25
33
26
def test_validates_user_in_grandchild_group
34
- validator = make_validator ( %w( group1.1 ) )
27
+ validator = make_validator ( %w( n-depth-nested-group2 ) )
35
28
assert validator . perform ( @entry )
36
29
end
37
30
38
31
def test_validates_user_in_great_grandchild_group
39
- validator = make_validator ( %w( group1 ) )
32
+ validator = make_validator ( %w( n-depth-nested-group3 ) )
40
33
assert validator . perform ( @entry )
41
34
end
42
35
43
36
def test_does_not_validate_user_in_great_granchild_group_with_depth
44
- validator = make_validator ( %w( group1 ) )
37
+ validator = make_validator ( %w( n-depth-nested-group3 ) )
45
38
refute validator . perform ( @entry , 2 )
46
39
end
47
40
48
41
def test_does_not_validate_user_not_in_group
49
- validator = make_validator ( %w( Enterprise ) )
42
+ validator = make_validator ( %w( ghe-admins ) )
50
43
refute validator . perform ( @entry )
51
44
end
52
45
53
46
def test_does_not_validate_user_not_in_any_group
54
- @entry = @domain . user? ( 'admin ' )
55
- validator = make_validator ( %w( Enterprise ) )
47
+ @entry = @domain . user? ( 'groupless-user1 ' )
48
+ validator = make_validator ( %w( all-users ) )
56
49
refute validator . perform ( @entry )
57
50
end
58
- end
59
-
60
- class GitHubLdapRecursiveMembershipValidatorsWithPosixGroupsTest < GitHub ::Ldap ::Test
61
- def self . test_server_options
62
- { search_domains : "dc=github,dc=com" ,
63
- uid : "uid" ,
64
- custom_schemas : FIXTURES . join ( 'posixGroup.schema.ldif' ) ,
65
- user_fixtures : FIXTURES . join ( 'github-with-posixGroups.ldif' ) . to_s
66
- }
67
- end
68
-
69
- def setup
70
- @ldap = GitHub ::Ldap . new ( options )
71
- @domain = @ldap . domain ( "dc=github,dc=com" )
72
- @entry = @domain . user? ( 'user1.1.1.1' )
73
- @validator = GitHub ::Ldap ::MembershipValidators ::Recursive
74
- end
75
-
76
- def make_validator ( groups )
77
- groups = @domain . groups ( groups )
78
- @validator . new ( @ldap , groups )
79
- end
80
-
81
- def test_validates_user_in_group
82
- validator = make_validator ( %w( group1.1.1.1 ) )
83
- assert validator . perform ( @entry )
84
- end
85
-
86
- def test_validates_user_in_child_group
87
- validator = make_validator ( %w( group1.1.1 ) )
88
- assert validator . perform ( @entry )
89
- end
90
-
91
- def test_validates_user_in_grandchild_group
92
- validator = make_validator ( %w( group1.1 ) )
93
- assert validator . perform ( @entry )
94
- end
95
51
96
- def test_validates_user_in_great_grandchild_group
97
- validator = make_validator ( %w( group1 ) )
52
+ def test_validates_user_in_posix_group
53
+ validator = make_validator ( %w( posix- group1) )
98
54
assert validator . perform ( @entry )
99
55
end
100
-
101
- def test_does_not_validate_user_in_great_granchild_group_with_depth
102
- validator = make_validator ( %w( group1 ) )
103
- refute validator . perform ( @entry , 2 )
104
- end
105
56
end
0 commit comments