diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2012-08-03 12:12:17 -0400 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2012-08-05 19:20:32 +0200 |
commit | bf960d6a15feffff26dff782a876cb0b6e7dd935 (patch) | |
tree | 5b299d3cb6455421610da9030232f288726eac73 /src | |
parent | 68a962920bb277475047cebf3f02f77136e83156 (diff) | |
download | sssd-bf960d6a15feffff26dff782a876cb0b6e7dd935.tar.gz sssd-bf960d6a15feffff26dff782a876cb0b6e7dd935.tar.xz sssd-bf960d6a15feffff26dff782a876cb0b6e7dd935.zip |
SSSDConfig: Fix nonfunctional SSSDDomain.remove_provider()
Also adds a regression test to the unit test suite.
https://fedorahosted.org/sssd/ticket/1388
Diffstat (limited to 'src')
-rw-r--r-- | src/config/SSSDConfig/__init__.py.in | 5 | ||||
-rwxr-xr-x | src/config/SSSDConfigTest.py | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in index 32613543f..b90a8e100 100644 --- a/src/config/SSSDConfig/__init__.py.in +++ b/src/config/SSSDConfig/__init__.py.in @@ -1254,6 +1254,11 @@ class SSSDDomain(SSSDConfigObject): if self.options.has_key(option): del self.options[option] + # Remove this provider from the option list + option = '%s_provider' % provider_type + if self.options.has_key(option): + del self.options[option] + self.providers.remove((provider, provider_type)) class SSSDConfig(SSSDChangeConf): diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py index eefbe786a..b03223f46 100755 --- a/src/config/SSSDConfigTest.py +++ b/src/config/SSSDConfigTest.py @@ -957,6 +957,7 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase): # Remove the local ID provider and add an LDAP one # LDAP ID providers can also use the krb5_realm domain.remove_provider('id') + self.assertFalse(domain.options.has_key('id_provider')) domain.add_provider('ldap', 'id') @@ -981,6 +982,7 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase): # Remove the auth domain and verify that the options # revert to the backup_list domain.remove_provider('auth') + self.assertFalse(domain.options.has_key('auth_provider')) options = domain.list_options() self.assertTrue(type(options) == dict, @@ -1003,14 +1005,17 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase): # Test removing nonexistent provider - Real domain.remove_provider('id') + self.assertFalse(domain.options.has_key('id_provider')) # Test removing nonexistent provider - Bad backend type # Should pass without complaint domain.remove_provider('id') + self.assertFalse(domain.options.has_key('id_provider')) # Test removing nonexistent provider - Bad provider type # Should pass without complaint domain.remove_provider('nosuchprovider') + self.assertFalse(domain.options.has_key('nosuchprovider_provider')) def testGetOption(self): domain = SSSDConfig.SSSDDomain('sssd', self.schema) |