From 0f891c6a3fef7b75cb4b0a125e26e6e80b0bdcf3 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Fri, 17 May 2019 14:50:03 +0300 Subject: [PATCH] test_ipagetkeytab: factor out DM password reader Related: https://pagure.io/freeipa/issue/7953 Reviewed-By: Christian Heimes --- ipatests/test_cmdline/test_ipagetkeytab.py | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/ipatests/test_cmdline/test_ipagetkeytab.py b/ipatests/test_cmdline/test_ipagetkeytab.py index 3b1c7e951..419de86e2 100644 --- a/ipatests/test_cmdline/test_ipagetkeytab.py +++ b/ipatests/test_cmdline/test_ipagetkeytab.py @@ -218,6 +218,19 @@ class test_ipagetkeytab(KeytabRetrievalTest): os.unlink(symlink_target) +def retrieve_dm_password(): + dmpw_file = os.path.join(api.env.dot_ipa, '.dmpw') + + if not os.path.isfile(dmpw_file): + raise errors.NotFound(reason='{} file required ' + 'for this test'.format(dmpw_file)) + + with open(dmpw_file, 'r') as f: + dm_password = f.read().strip() + + return dm_password + + class TestBindMethods(KeytabRetrievalTest): """ Class that tests '-c'/'-H'/'-Y' flags @@ -230,13 +243,10 @@ class TestBindMethods(KeytabRetrievalTest): def setup_class(cls): super(TestBindMethods, cls).setup_class() - dmpw_file = os.path.join(api.env.dot_ipa, '.dmpw') - - if not os.path.isfile(dmpw_file): - pytest.skip('{} file required for this test'.format(dmpw_file)) - - with open(dmpw_file, 'r') as f: - cls.dm_password = f.read().strip() + try: + cls.dm_password = retrieve_dm_password() + except errors.NotFound as e: + pytest.skip(e.args) tempfd, temp_ca_cert = tempfile.mkstemp()