summaryrefslogtreecommitdiffstats
path: root/ipatests
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2014-09-25 10:11:49 +0200
committerPetr Viktorin <pviktori@dhcp-31-13.brq.redhat.com>2014-11-20 15:47:38 +0100
commit93422a54a3ab4e15decbab0b098fd44479b459f7 (patch)
tree4956e1fca96d595e8fa4cc2eb530dcddbf6a1082 /ipatests
parentc80a59eff479dbdc26eaaa18f18256f1f7471880 (diff)
downloadfreeipa-93422a54a3ab4e15decbab0b098fd44479b459f7.tar.gz
freeipa-93422a54a3ab4e15decbab0b098fd44479b459f7.tar.xz
freeipa-93422a54a3ab4e15decbab0b098fd44479b459f7.zip
Add additional backup & restore checks
https://fedorahosted.org/freeipa/ticket/3893 Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipatests')
-rw-r--r--ipatests/test_integration/test_backup_and_restore.py41
1 files changed, 35 insertions, 6 deletions
diff --git a/ipatests/test_integration/test_backup_and_restore.py b/ipatests/test_integration/test_backup_and_restore.py
index 3cf0d5d70..c9b4271d4 100644
--- a/ipatests/test_integration/test_backup_and_restore.py
+++ b/ipatests/test_integration/test_backup_and_restore.py
@@ -65,6 +65,12 @@ def check_admin_in_cli(host):
return result
+def check_admin_in_id(host):
+ result = host.run_command(['id', 'admin'])
+ assert 'admin' in result.stdout_text, result.stdout_text
+ return result
+
+
def check_certs(host):
result = host.run_command(['ipa', 'cert-find'])
assert re.search('^Number of entries returned [1-9]\d*$',
@@ -72,20 +78,43 @@ def check_certs(host):
return result
+def check_dns(host):
+ result = host.run_command(['host', host.hostname, 'localhost'])
+ return result
+
+
+def check_kinit(host):
+ result = host.run_command(['kinit', 'admin'],
+ stdin_text=host.config.admin_password)
+ return result
+
+
+CHECKS = [
+ (check_admin_in_ldap, assert_entries_equal),
+ (check_admin_in_cli, assert_results_equal),
+ (check_admin_in_id, assert_results_equal),
+ (check_certs, assert_results_equal),
+ (check_dns, assert_results_equal),
+ (check_kinit, assert_results_equal),
+]
+
+
@contextlib.contextmanager
def restore_checker(host):
"""Check that the IPA at host works the same at context enter and exit"""
tasks.kinit_admin(host)
- admin_entry = check_admin_in_ldap(host)
- admin_cli_result = check_admin_in_cli(host)
- certs_output = check_certs(host)
+ results = []
+ for check, assert_func in CHECKS:
+ log.info('Storing result for %s', check)
+ results.append(check(host))
yield
- assert_entries_equal(admin_entry, check_admin_in_ldap(host))
- assert_results_equal(admin_cli_result, check_admin_in_cli(host))
- assert_results_equal(certs_output, check_certs(host))
+ for (check, assert_func), expected in zip(CHECKS, results):
+ log.info('Checking result for %s', check)
+ got = check(host)
+ assert_func(expected, got)
def backup(host):