|
1 | 1 | require_relative 'test_helper'
|
2 | 2 |
|
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")) |
7 | 6 | end
|
8 | 7 |
|
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 |
12 | 10 | end
|
13 | 11 |
|
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 |
17 | 15 | end
|
18 | 16 |
|
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 |
23 | 20 | end
|
24 |
| -end |
25 | 21 |
|
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 |
34 | 25 | end
|
35 |
| -end |
36 |
| - |
37 |
| -class GitHubLdapMembershipValidatorsRecursiveTest < GitHub::Ldap::Test |
38 |
| - include GitHubLdapMembershipValidatorsTestCases |
39 | 26 |
|
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 |
45 | 30 | end
|
46 | 31 | end
|
0 commit comments