Skip to content

Commit ef1c453

Browse files
committed
Test membership validation configuration
This replaces the existing tests on the top level MembershipValidators module since those tests were duplicates of more specific tests for each strategy.
1 parent 85781c4 commit ef1c453

File tree

1 file changed

+17
-32
lines changed

1 file changed

+17
-32
lines changed

test/membership_validators_test.rb

Lines changed: 17 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,31 @@
11
require_relative 'test_helper'
22

3-
module GitHubLdapMembershipValidatorsTestCases
4-
def make_validator(groups)
5-
groups = @domain.groups(groups)
6-
@validator.new(@ldap, groups)
3+
class GitHubLdapMembershipValidatorsTest < GitHub::Ldap::Test
4+
def setup
5+
@ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com"))
76
end
87

9-
def test_validates_user_in_group
10-
validator = make_validator(%w(ghe-users))
11-
assert validator.perform(@entry)
8+
def test_defaults_to_detect_strategy
9+
assert_equal :detect, @ldap.membership_validator
1210
end
1311

14-
def test_does_not_validate_user_not_in_group
15-
validator = make_validator(%w(ghe-admins))
16-
refute validator.perform(@entry)
12+
def test_configured_to_classic_strategy
13+
@ldap.configure_membership_validation_strategy :classic
14+
assert_equal :classic, @ldap.membership_validator
1715
end
1816

19-
def test_does_not_validate_user_not_in_any_group
20-
@entry = @domain.user?('groupless-user1')
21-
validator = make_validator(%w(ghe-users ghe-admins))
22-
refute validator.perform(@entry)
17+
def test_configured_to_recursive_strategy
18+
@ldap.configure_membership_validation_strategy :recursive
19+
assert_equal :recursive, @ldap.membership_validator
2320
end
24-
end
2521

26-
class GitHubLdapMembershipValidatorsClassicTest < GitHub::Ldap::Test
27-
include GitHubLdapMembershipValidatorsTestCases
28-
29-
def setup
30-
@ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com"))
31-
@domain = @ldap.domain("dc=github,dc=com")
32-
@entry = @domain.user?('user1')
33-
@validator = GitHub::Ldap::MembershipValidators::Classic
22+
def test_configured_to_active_directory_strategy
23+
@ldap.configure_membership_validation_strategy :active_directory
24+
assert_equal :active_directory, @ldap.membership_validator
3425
end
35-
end
36-
37-
class GitHubLdapMembershipValidatorsRecursiveTest < GitHub::Ldap::Test
38-
include GitHubLdapMembershipValidatorsTestCases
3926

40-
def setup
41-
@ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com"))
42-
@domain = @ldap.domain("dc=github,dc=com")
43-
@entry = @domain.user?('user1')
44-
@validator = GitHub::Ldap::MembershipValidators::Recursive
27+
def test_misconfigured_to_unrecognized_strategy_falls_back_to_default
28+
@ldap.configure_membership_validation_strategy :unknown
29+
assert_equal :detect, @ldap.membership_validator
4530
end
4631
end

0 commit comments

Comments
 (0)