From 1e1985b17c3988056bef045fa84a9c7aaf0c4c65 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Mon, 12 Jul 2010 17:45:06 -0400 Subject: Add API to delete a service principal key, service-disable. I have to do some pretty low-level LDAP work to achieve this. Since we can't read the key using our modlist generator won't work and lots of tricks would be needed to use the LDAPUpdate object in any case. I pulled usercertificate out of the global params and put into each appropriate function because it makes no sense for service-disable. This also adds a new variable, has_keytab, to service/host_show output. This flag tells us whether there is a krbprincipalkey. --- tests/test_xmlrpc/test_host_plugin.py | 3 +++ tests/test_xmlrpc/test_service_plugin.py | 1 + tests/test_xmlrpc/xmlrpc_test.py | 2 ++ 3 files changed, 6 insertions(+) (limited to 'tests') diff --git a/tests/test_xmlrpc/test_host_plugin.py b/tests/test_xmlrpc/test_host_plugin.py index 36e920b0..7ae068c3 100644 --- a/tests/test_xmlrpc/test_host_plugin.py +++ b/tests/test_xmlrpc/test_host_plugin.py @@ -112,6 +112,7 @@ class test_host(Declarative): description=[u'Test host 1'], l=[u'Undisclosed location 1'], krbprincipalname=[u'host/%s@%s' % (fqdn1, api.env.realm)], + has_keytab=False ), ), ), @@ -138,6 +139,7 @@ class test_host(Declarative): objectclass=objectclasses.host, managedby=[dn1], ipauniqueid=[fuzzy_uuid], + has_keytab=False ), ), ), @@ -220,6 +222,7 @@ class test_host(Declarative): description=[u'Updated host 1'], l=[u'Undisclosed location 1'], krbprincipalname=[u'host/%s@%s' % (fqdn1, api.env.realm)], + has_keytab=False ), ), ), diff --git a/tests/test_xmlrpc/test_service_plugin.py b/tests/test_xmlrpc/test_service_plugin.py index 432a86b0..299c64fc 100644 --- a/tests/test_xmlrpc/test_service_plugin.py +++ b/tests/test_xmlrpc/test_service_plugin.py @@ -93,6 +93,7 @@ class test_service(XMLRPC_test): """ entry = api.Command['service_show'](self.principal)['result'] assert_attr_equal(entry, 'krbprincipalname', self.principal) + assert(entry['has_keytab'] == False) def test_6_service_find(self): """ diff --git a/tests/test_xmlrpc/xmlrpc_test.py b/tests/test_xmlrpc/xmlrpc_test.py index 61fca50a..1966edf9 100644 --- a/tests/test_xmlrpc/xmlrpc_test.py +++ b/tests/test_xmlrpc/xmlrpc_test.py @@ -46,6 +46,8 @@ try: res = api.Command['user_show'](u'notfound') except errors.NetworkError: server_available = False +except IOError: + server_available = False except errors.NotFound: server_available = True -- cgit