Use setup_class/teardown_class in Declarative tests

Pytest will consider each Declarative test individually, running
setup/teardown for each one.
Move the setup and teardown to the class level.

https://fedorahosted.org/freeipa/ticket/4610

Reviewed-By: Tomas Babej <tbabej@redhat.com>
This commit is contained in:
Petr Viktorin 2014-10-08 09:42:52 +02:00 committed by Tomas Babej
parent 84bd4c1246
commit 93c69b5127
4 changed files with 9 additions and 22 deletions

View File

@ -52,27 +52,22 @@ class cmdline_test(XMLRPC_test):
# some reasonable default command
command = paths.LS
def setup(self):
@classmethod
def setup_class(cls):
# Find the executable in $PATH
# This is neded because ipautil.run resets the PATH to
# a system default.
original_command = self.command
if not os.path.isabs(self.command):
self.command = distutils.spawn.find_executable(self.command)
original_command = cls.command
if not os.path.isabs(cls.command):
cls.command = distutils.spawn.find_executable(cls.command)
# raise an error if the command is missing even if the remote
# server is not available.
if not self.command:
if not cls.command:
raise AssertionError(
'Command %r not available' % original_command
)
super(cmdline_test, self).setup()
super(cmdline_test, cls).setup_class()
if not server_available:
raise nose.SkipTest(
'Server not available: %r' % api.env.xmlrpc_uri
)
def teardown(self):
"""
nose tear-down fixture.
"""
super(cmdline_test, self).teardown()

View File

@ -34,7 +34,6 @@ class test_changepw(XMLRPC_test, Unauthorized_HTTP_test):
app_uri = '/ipa/session/change_password'
def setup(self):
super(test_changepw, self).setup()
try:
api.Command['user_add'](uid=testuser, givenname=u'Test', sn=u'User')
api.Command['passwd'](testuser, password=u'old_password')
@ -48,7 +47,6 @@ class test_changepw(XMLRPC_test, Unauthorized_HTTP_test):
api.Command['user_del']([testuser])
except errors.NotFound:
pass
super(test_changepw, self).teardown()
def _changepw(self, user, old_password, new_password):
return self.send_request(params={'user': str(user),

View File

@ -84,7 +84,6 @@ class test_cert(XMLRPC_test):
return ipautil.run(new_args, stdin)
def setup(self):
super(test_cert, self).setup()
self.reqdir = tempfile.mkdtemp(prefix = "tmp-")
self.reqfile = self.reqdir + "/test.csr"
self.pwname = self.reqdir + "/pwd"
@ -100,7 +99,6 @@ class test_cert(XMLRPC_test):
self.subject = DN(('CN', self.host_fqdn), x509.subject_base())
def teardown(self):
super(test_cert, self).teardown()
shutil.rmtree(self.reqdir, ignore_errors=True)
def generateCSR(self, subject):

View File

@ -172,15 +172,11 @@ class XMLRPC_test(object):
if not server_available:
raise nose.SkipTest('%r: Server not available: %r' %
(cls.__module__, api.env.xmlrpc_uri))
def setup(self):
if not api.Backend.rpcclient.isconnected():
api.Backend.rpcclient.connect(fallback=False)
def teardown(self):
"""
nose tear-down fixture.
"""
@classmethod
def teardown_class(cls):
request.destroy_context()
def failsafe_add(self, obj, pk, **options):