summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Fayans <ofayans@redhat.com>2016-09-09 12:10:46 +0200
committerDavid Kupka <dkupka@redhat.com>2016-09-22 15:20:42 +0200
commitc0e16aa3b9c380fb7936dc18c4bfc04e7f8327b5 (patch)
tree662a682d89a64438752740ee5b713ac297d50ca9
parent38ad864342bb3fcbf65397b763c240f034f3e2c7 (diff)
downloadfreeipa-c0e16aa3b9c380fb7936dc18c4bfc04e7f8327b5.tar.gz
freeipa-c0e16aa3b9c380fb7936dc18c4bfc04e7f8327b5.tar.xz
freeipa-c0e16aa3b9c380fb7936dc18c4bfc04e7f8327b5.zip
tests: Create a method that cleans all ipa certs
Upon uninstallation IPA does not remove certs from the system, see https://fedorahosted.org/freeipa/ticket/4639 for details. This causes installation failures in several tests. The workaround is to manually remove certs from all certificate databases used by IPA after each server uninstallation Reviewed-By: David Kupka <dkupka@redhat.com>
-rw-r--r--ipatests/test_integration/test_caless.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/ipatests/test_integration/test_caless.py b/ipatests/test_integration/test_caless.py
index 047917b25..2b4ceee7c 100644
--- a/ipatests/test_integration/test_caless.py
+++ b/ipatests/test_integration/test_caless.py
@@ -54,6 +54,17 @@ def get_replica_prepare_stdin(cert_passwords=()):
return '\n'.join(lines + [''])
+def ipa_certs_cleanup(host):
+ host.run_command(['certutil', '-d', paths.NSS_DB_DIR, '-D',
+ '-n', 'External CA cert'],
+ raiseonerr=False)
+ # A workaround for https://fedorahosted.org/freeipa/ticket/4639
+ result = host.run_command(['certutil', '-L', '-d',
+ paths.HTTPD_ALIAS_DIR])
+ for rawcert in result.stdout_text.split('\n')[4: -1]:
+ cert = rawcert.split(' ')[0]
+ host.run_command(['certutil', '-D', '-d', paths.HTTPD_ALIAS_DIR,
+ '-n', cert])
class CALessBase(IntegrationTest):
@classmethod
def install(cls, mh):