From ef1c4537a475dfaa0af0f3903430ec497062773d Mon Sep 17 00:00:00 2001 From: Matt Todd Date: Fri, 14 Nov 2014 13:51:36 -0800 Subject: [PATCH 1/2] 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. --- test/membership_validators_test.rb | 49 +++++++++++------------------- 1 file changed, 17 insertions(+), 32 deletions(-) diff --git a/test/membership_validators_test.rb b/test/membership_validators_test.rb index e1a981f..74e8cf8 100644 --- a/test/membership_validators_test.rb +++ b/test/membership_validators_test.rb @@ -1,46 +1,31 @@ require_relative 'test_helper' -module GitHubLdapMembershipValidatorsTestCases - def make_validator(groups) - groups = @domain.groups(groups) - @validator.new(@ldap, groups) +class GitHubLdapMembershipValidatorsTest < GitHub::Ldap::Test + def setup + @ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com")) end - def test_validates_user_in_group - validator = make_validator(%w(ghe-users)) - assert validator.perform(@entry) + def test_defaults_to_detect_strategy + assert_equal :detect, @ldap.membership_validator end - def test_does_not_validate_user_not_in_group - validator = make_validator(%w(ghe-admins)) - refute validator.perform(@entry) + def test_configured_to_classic_strategy + @ldap.configure_membership_validation_strategy :classic + assert_equal :classic, @ldap.membership_validator 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) + def test_configured_to_recursive_strategy + @ldap.configure_membership_validation_strategy :recursive + assert_equal :recursive, @ldap.membership_validator 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 + def test_configured_to_active_directory_strategy + @ldap.configure_membership_validation_strategy :active_directory + assert_equal :active_directory, @ldap.membership_validator 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 + def test_misconfigured_to_unrecognized_strategy_falls_back_to_default + @ldap.configure_membership_validation_strategy :unknown + assert_equal :detect, @ldap.membership_validator end end From 7cd4bc84f305675b27d884e54731df40a2ce77f2 Mon Sep 17 00:00:00 2001 From: Matt Todd Date: Fri, 14 Nov 2014 13:56:37 -0800 Subject: [PATCH 2/2] Move membership validator config tests to GitHub::Ldap test --- test/ldap_test.rb | 20 +++++++++++++++++++ test/membership_validators_test.rb | 31 ------------------------------ 2 files changed, 20 insertions(+), 31 deletions(-) delete mode 100644 test/membership_validators_test.rb 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 74e8cf8..0000000 --- a/test/membership_validators_test.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative 'test_helper' - -class GitHubLdapMembershipValidatorsTest < GitHub::Ldap::Test - def setup - @ldap = GitHub::Ldap.new(options.merge(search_domains: "dc=github,dc=com")) - end - - def test_defaults_to_detect_strategy - assert_equal :detect, @ldap.membership_validator - end - - def test_configured_to_classic_strategy - @ldap.configure_membership_validation_strategy :classic - assert_equal :classic, @ldap.membership_validator - end - - def test_configured_to_recursive_strategy - @ldap.configure_membership_validation_strategy :recursive - assert_equal :recursive, @ldap.membership_validator - end - - def test_configured_to_active_directory_strategy - @ldap.configure_membership_validation_strategy :active_directory - assert_equal :active_directory, @ldap.membership_validator - end - - def test_misconfigured_to_unrecognized_strategy_falls_back_to_default - @ldap.configure_membership_validation_strategy :unknown - assert_equal :detect, @ldap.membership_validator - end -end pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy