From 781665416ca4a864efb1e4729008a6f62be71d96 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Oct 19 2015 12:22:11 +0000 Subject: SSSDConfigTest: Test real config without config_file_version src/config/testconfigs/sssd-valid.conf explicitly contains config_file_version. Recently we changed the default value to 2 and therefore it needn't be listed in configuration file. This patch test real sssd.conf without config_file_version. Reviewed-by: Michal Židek (cherry picked from commit 7388fc91bd6c22705e60632346ec815f4a4963f1) (cherry picked from commit b1c6767617c082de2521976175bc2f499ec295e9) --- diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py index 7bad874..98101f6 100755 --- a/src/config/SSSDConfigTest.py +++ b/src/config/SSSDConfigTest.py @@ -1230,6 +1230,91 @@ class SSSDConfigTestSSSDConfig(unittest.TestCase): self.assertRaises(SSSDConfig.AlreadyInitializedError, sssdconfig.import_config, srcdir + "/testconfigs/sssd-valid.conf") + def testImportConfigNoVersion(self): + # Positive Test + sssdconfig = SSSDConfig.SSSDConfig(srcdir + "/etc/sssd.api.conf", + srcdir + "/etc/sssd.api.d") + sssdconfig.import_config( + srcdir + "/testconfigs/sssd-noversion.conf" + ) + + # Validate services + services = sssdconfig.list_services() + self.assertTrue('sssd' in services) + self.assertTrue('nss' in services) + self.assertTrue('pam' in services) + self.assertTrue('dp' in services) + + #Verify service attributes + sssd_service = sssdconfig.get_service('sssd') + service_opts = sssd_service.list_options() + + self.assertTrue('services' in service_opts.keys()) + service_list = sssd_service.get_option('services') + self.assertTrue('nss' in service_list) + self.assertTrue('pam' in service_list) + self.assertTrue('reconnection_retries' in service_opts) + + #Validate domain list + domains = sssdconfig.list_domains() + self.assertTrue('LOCAL' in domains) + self.assertTrue('LDAP' in domains) + self.assertTrue('PROXY' in domains) + self.assertTrue('IPA' in domains) + + # Verify domain attributes + ipa_domain = sssdconfig.get_domain('IPA') + domain_opts = ipa_domain.list_options() + self.assertTrue('debug_level' in domain_opts.keys()) + self.assertTrue('id_provider' in domain_opts.keys()) + self.assertTrue('auth_provider' in domain_opts.keys()) + + # Verify domain attributes + proxy_domain = sssdconfig.get_domain('PROXY') + domain_opts = proxy_domain.list_options() + self.assertTrue('debug_level' in domain_opts.keys()) + self.assertTrue('id_provider' in domain_opts.keys()) + self.assertTrue('auth_provider' in domain_opts.keys()) + + # Verify domain attributes + local_domain = sssdconfig.get_domain('LOCAL') + domain_opts = local_domain.list_options() + self.assertTrue('debug_level' in domain_opts.keys()) + self.assertTrue('id_provider' in domain_opts.keys()) + self.assertTrue('auth_provider' in domain_opts.keys()) + + # Verify domain attributes + ldap_domain = sssdconfig.get_domain('LDAP') + domain_opts = ldap_domain.list_options() + self.assertTrue('debug_level' in domain_opts.keys()) + self.assertTrue('id_provider' in domain_opts.keys()) + self.assertTrue('auth_provider' in domain_opts.keys()) + + domain_control_list = [ + 'cache_credentials', + 'id_provider', + 'auth_provider', + 'access_provider', + 'default_shell', + 'fallback_homedir', + 'cache_credentials', + 'use_fully_qualified_names', + ] + + ad_domain = sssdconfig.get_domain("ad.example.com") + + for option in ad_domain.get_all_options(): + self.assertTrue(option in domain_control_list) + + negative_domain_control_list = [ + 'ad_server', + 'ldap_id_mapping', + 'ldap_sasl_authid', + ] + + for option in ad_domain.get_all_options(): + self.assertFalse(option in negative_domain_control_list) + def testNewConfig(self): # Positive Test sssdconfig = SSSDConfig.SSSDConfig(srcdir + "/etc/sssd.api.conf", diff --git a/src/config/testconfigs/sssd-noversion.conf b/src/config/testconfigs/sssd-noversion.conf index 71af85c..d5f524d 100644 --- a/src/config/testconfigs/sssd-noversion.conf +++ b/src/config/testconfigs/sssd-noversion.conf @@ -39,3 +39,25 @@ debug_level = 0 [dp] debug_level = 0 +[domain/ad.example.com] +cache_credentials = true + +id_provider = ad +auth_provider = ad +access_provider = ad + +# Uncomment if service discovery is not working +# ad_server = server.ad.example.com + +# Uncomment if you want to use POSIX UIDs and GIDs set on the AD side +# ldap_id_mapping = False + +# Comment out if the users have the shell and home dir set on the AD side +default_shell = /bin/bash +fallback_homedir = /home/%d/%u + +# Uncomment and adjust if the default principal SHORTNAME$@REALM is not available +# ldap_sasl_authid = host/client.ad.example.com@AD.EXAMPLE.COM + +# Comment out if you prefer to user shortnames. +use_fully_qualified_names = True