summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2013-09-13 16:08:22 +0200
committerPetr Viktorin <pviktori@redhat.com>2014-02-12 17:11:17 +0100
commiteb14f99ece71170758399c16bee5b07a866f3775 (patch)
tree140b23bb82a8555840937cdc83b97584c5f6236e
parent2f3ab2914a2522ab97b455d83b809530dac37f04 (diff)
downloadfreeipa.git-eb14f99ece71170758399c16bee5b07a866f3775.tar.gz
freeipa.git-eb14f99ece71170758399c16bee5b07a866f3775.tar.xz
freeipa.git-eb14f99ece71170758399c16bee5b07a866f3775.zip
Make it possible to call custom functions in Declarative tests
Sometimes, we will want to do more than just call IPA commands and check the output. This patch makes it possible to add arbitrary functions to Declarative tests. They will be called as part of the sequence of tests. Reviewed-By: Martin Kosek <mkosek@redhat.com>
-rw-r--r--ipatests/test_xmlrpc/xmlrpc_test.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/ipatests/test_xmlrpc/xmlrpc_test.py b/ipatests/test_xmlrpc/xmlrpc_test.py
index 21959fbb..8f31a1ec 100644
--- a/ipatests/test_xmlrpc/xmlrpc_test.py
+++ b/ipatests/test_xmlrpc/xmlrpc_test.py
@@ -278,11 +278,18 @@ class Declarative(XMLRPC_test):
# Iterate through the tests:
name = self.__class__.__name__
for (i, test) in enumerate(self.tests):
- nice = '%s[%d]: %s: %s' % (
- name, i, test['command'][0], test.get('desc', '')
- )
- func = lambda: self.check(nice, **test)
- func.description = nice
+ if callable(test):
+ func = lambda: test(self)
+ nice = '%s[%d]: call %s: %s' % (
+ name, i, test.__name__, test.__doc__
+ )
+ func.description = nice
+ else:
+ nice = '%s[%d]: %s: %s' % (
+ name, i, test['command'][0], test.get('desc', '')
+ )
+ func = lambda: self.check(nice, **test)
+ func.description = nice
yield (func,)
# Iterate through post-cleanup: