summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc
diff options
context:
space:
mode:
authorLenka Doudova <ldoudova@redhat.com>2016-05-02 14:04:24 +0200
committerMartin Basti <mbasti@redhat.com>2016-05-03 17:12:45 +0200
commit847c950408b3c00ce3a4625709cadcddf39af6a5 (patch)
tree328f8482d1c88ae58c375dec1a9d5b25a07b722d /ipatests/test_xmlrpc
parent8a2afcafee977675fc289acab50cc808b469a2b3 (diff)
downloadfreeipa-847c950408b3c00ce3a4625709cadcddf39af6a5.tar.gz
freeipa-847c950408b3c00ce3a4625709cadcddf39af6a5.tar.xz
freeipa-847c950408b3c00ce3a4625709cadcddf39af6a5.zip
Test fix: Cleanup for host certificate
This fix provides means to remove certificates from host that were added during tests, but not removed. Ticket: https://fedorahosted.org/freeipa/ticket/5839 Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc')
-rw-r--r--ipatests/test_xmlrpc/test_host_plugin.py4
-rw-r--r--ipatests/test_xmlrpc/tracker/host_plugin.py14
2 files changed, 17 insertions, 1 deletions
diff --git a/ipatests/test_xmlrpc/test_host_plugin.py b/ipatests/test_xmlrpc/test_host_plugin.py
index ea8f49656..4d54dac4f 100644
--- a/ipatests/test_xmlrpc/test_host_plugin.py
+++ b/ipatests/test_xmlrpc/test_host_plugin.py
@@ -130,8 +130,10 @@ def this_host(request):
"""Fixture for the current master"""
tracker = HostTracker(name=api.env.host.partition('.')[0],
fqdn=api.env.host)
- # This host is not created/deleted, so don't call make_fixture
tracker.exists = True
+ # Finalizer ensures that any certificates added to this_host are removed
+ tracker.add_finalizer_certcleanup(request)
+ # This host is not created/deleted, so don't call make_fixture
return tracker
diff --git a/ipatests/test_xmlrpc/tracker/host_plugin.py b/ipatests/test_xmlrpc/tracker/host_plugin.py
index 67faa1acf..d8b59b989 100644
--- a/ipatests/test_xmlrpc/tracker/host_plugin.py
+++ b/ipatests/test_xmlrpc/tracker/host_plugin.py
@@ -10,6 +10,7 @@ from ipatests.test_xmlrpc.tracker.base import Tracker
from ipatests.test_xmlrpc.xmlrpc_test import fuzzy_uuid
from ipatests.test_xmlrpc import objectclasses
from ipatests.util import assert_deepequal
+from ipalib import errors
class HostTracker(Tracker):
@@ -155,3 +156,16 @@ class HostTracker(Tracker):
summary=u'Modified host "%s"' % self.fqdn,
result=self.filter_attrs(self.update_keys | set(extra_keys))
), result)
+
+ def add_finalizer_certcleanup(self, request):
+ """ Fixture to cleanup certificate from local host """
+ cleanup_command = self.make_update_command(
+ updates={'usercertificate':''})
+
+ def cleanup():
+ try:
+ cleanup_command()
+ except errors.EmptyModlist:
+ pass
+
+ request.addfinalizer(cleanup)