diff --git a/ipatests/test_xmlrpc/test_user_plugin.py b/ipatests/test_xmlrpc/test_user_plugin.py index 18305ad02..3d7b5e6ba 100644 --- a/ipatests/test_xmlrpc/test_user_plugin.py +++ b/ipatests/test_xmlrpc/test_user_plugin.py @@ -1619,6 +1619,11 @@ class test_denied_bind_with_expired_principal(XMLRPC_test): cls.connection = ldap.initialize('ldap://{host}' .format(host=api.env.host)) + @classmethod + def teardown_class(cls): + cls.failsafe_del(api.Object.user, user1) + super(test_denied_bind_with_expired_principal, cls).teardown_class() + def test_1_bind_as_test_user(self): self.failsafe_add( api.Object.user, diff --git a/ipatests/test_xmlrpc/xmlrpc_test.py b/ipatests/test_xmlrpc/xmlrpc_test.py index 80638e2ef..a7251f695 100644 --- a/ipatests/test_xmlrpc/xmlrpc_test.py +++ b/ipatests/test_xmlrpc/xmlrpc_test.py @@ -195,11 +195,20 @@ class XMLRPC_test(object): :param pk: The primary key of the entry to be created :param options: Kwargs to be passed to obj.add() """ + self.failsafe_del(obj, pk) + return obj.methods['add'](pk, **options) + + @classmethod + def failsafe_del(cls, obj, pk): + """ + Delete an entry if it exists + :param obj: An Object like api.Object.user + :param pk: The primary key of the entry to be deleted + """ try: obj.methods['del'](pk) except errors.NotFound: pass - return obj.methods['add'](pk, **options) IGNORE = """Command %r is missing attribute %r in output entry.