diff --git a/test/ldap_test.rb b/test/ldap_test.rb index 250c6bb..6d4d5fb 100644 --- a/test/ldap_test.rb +++ b/test/ldap_test.rb @@ -77,6 +77,26 @@ def test_membership_validator_default assert_equal :detect, @ldap.membership_validator end + def test_membership_validator_configured_to_classic_strategy + @ldap.configure_membership_validation_strategy :classic + assert_equal :classic, @ldap.membership_validator + end + + def test_membership_validator_configured_to_recursive_strategy + @ldap.configure_membership_validation_strategy :recursive + assert_equal :recursive, @ldap.membership_validator + end + + def test_membership_validator_configured_to_active_directory_strategy + @ldap.configure_membership_validation_strategy :active_directory + assert_equal :active_directory, @ldap.membership_validator + end + + def test_membership_validator_misconfigured_to_unrecognized_strategy_falls_back_to_default + @ldap.configure_membership_validation_strategy :unknown + assert_equal :detect, @ldap.membership_validator + end + def test_capabilities assert_kind_of Net::LDAP::Entry, @ldap.capabilities end diff --git a/test/membership_validators_test.rb b/test/membership_validators_test.rb deleted file mode 100644 index e1a981f..0000000 --- a/test/membership_validators_test.rb +++ /dev/null @@ -1,46 +0,0 @@ -require_relative 'test_helper' - -module GitHubLdapMembershipValidatorsTestCases - def make_validator(groups) - groups = @domain.groups(groups) - @validator.new(@ldap, groups) - end - - def test_validates_user_in_group - validator = make_validator(%w(ghe-users)) - assert validator.perform(@entry) - end - - def test_does_not_validate_user_not_in_group - validator = make_validator(%w(ghe-admins)) - refute validator.perform(@entry) - end - - def test_does_not_validate_user_not_in_any_group - @entry = @domain.user?('groupless-user1') - validator = make_validator(%w(ghe-users ghe-admins)) - refute validator.perform(@entry) - end -end - -class GitHubLdapMembershipValidatorsClassicTest < GitHub::Ldap::Test - include GitHubLdapMembershipValidatorsTestCases - - def setup - @ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com")) - @domain = @ldap.domain("dc=github,dc=com") - @entry = @domain.user?('user1') - @validator = GitHub::Ldap::MembershipValidators::Classic - end -end - -class GitHubLdapMembershipValidatorsRecursiveTest < GitHub::Ldap::Test - include GitHubLdapMembershipValidatorsTestCases - - def setup - @ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com")) - @domain = @ldap.domain("dc=github,dc=com") - @entry = @domain.user?('user1') - @validator = GitHub::Ldap::MembershipValidators::Recursive - end -end