From 64afef95c368e6a4dbb0e85d25b43ed69e2a57b4 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 11 2016 07:40:38 +0000 Subject: Move all the logic to reload pagure off flask_ui_old_commit This way it can be re-used by other tests requiring config change --- diff --git a/tests/__init__.py b/tests/__init__.py index 3cf0597..d3aeea1 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -56,6 +56,46 @@ if os.environ.get('BUILD_ID'): pagure.LOG.handlers = [] +def reload_pagure(config_file=None): + + # We need to reload pagure as otherwise the configuration file will + # not be taken into account + pagure.APP.view_functions = {} + if config_file: + os.environ['PAGURE_CONFIG'] = config_file + else: + if 'PAGURE_CONFIG' in os.environ: + del os.environ['PAGURE_CONFIG'] + + reload(pagure) + reload(pagure.lib) + reload(pagure.lib.model) + reload(pagure.hooks) + reload(pagure.hooks.mail) + reload(pagure.hooks.irc) + reload(pagure.hooks.fedmsg) + reload(pagure.hooks.pagure_force_commit) + reload(pagure.hooks.pagure_hook) + reload(pagure.hooks.pagure_request_hook) + reload(pagure.hooks.pagure_ticket_hook) + reload(pagure.hooks.pagure_ci) + reload(pagure.hooks.rtd) + reload(pagure.api) + reload(pagure.api.fork) + reload(pagure.api.issue) + reload(pagure.api.project) + reload(pagure.api.user) + reload(pagure.api.ci.jenkins) + reload(pagure.ui.admin) + reload(pagure.ui.app) + reload(pagure.ui.groups) + reload(pagure.ui.repo) + reload(pagure.ui.filters) + reload(pagure.ui.plugins) + reload(pagure.ui.issues) + reload(pagure.ui.fork) + + @contextmanager def user_set(APP, user): """ Set the provided user as fas_user in the provided application.""" diff --git a/tests/test_zzz_pagure_flask_ui_old_commit.py b/tests/test_zzz_pagure_flask_ui_old_commit.py index 2717d40..4b4063a 100644 --- a/tests/test_zzz_pagure_flask_ui_old_commit.py +++ b/tests/test_zzz_pagure_flask_ui_old_commit.py @@ -42,21 +42,7 @@ class PagureFlaskRepoOldUrltests(tests.Modeltests): """ Set up the environnment, ran before every tests. """ super(PagureFlaskRepoOldUrltests, self).setUp() - # We need to reload pagure as otherwise the configuration file will - # not be taken into account - pagure.APP.view_functions = {} - os.environ['PAGURE_CONFIG'] = CONFIG - - reload(pagure) - reload(pagure.lib) - reload(pagure.lib.model) - reload(pagure.ui.admin) - reload(pagure.ui.app) - reload(pagure.ui.groups) - reload(pagure.ui.repo) - reload(pagure.ui.filters) - reload(pagure.ui.issues) - reload(pagure.ui.fork) + tests.reload_pagure(CONFIG) pagure.APP.config['TESTING'] = True pagure.SESSION = self.session @@ -83,33 +69,8 @@ class PagureFlaskRepoOldUrltests(tests.Modeltests): def tearDown(self): """ Tear down the environnment, after every tests. """ super(PagureFlaskRepoOldUrltests, self).tearDown() - if 'PAGURE_CONFIG' in os.environ: - del os.environ['PAGURE_CONFIG'] - - # We need to reload pagure as otherwise the configuration file will - # remain set for the other tests - pagure.APP.view_functions = {} - - reload(pagure) - reload(pagure.lib) - reload(pagure.lib.model) - reload(pagure.hooks) - reload(pagure.hooks.mail) - reload(pagure.hooks.irc) - reload(pagure.hooks.fedmsg) - reload(pagure.hooks.pagure_force_commit) - reload(pagure.hooks.pagure_hook) - reload(pagure.hooks.pagure_request_hook) - reload(pagure.hooks.pagure_ticket_hook) - reload(pagure.hooks.rtd) - reload(pagure.ui.admin) - reload(pagure.ui.app) - reload(pagure.ui.groups) - reload(pagure.ui.repo) - reload(pagure.ui.filters) - reload(pagure.ui.plugins) - reload(pagure.ui.issues) - reload(pagure.ui.fork) + + tests.reload_pagure(CONFIG) pagure.APP.config['EMAIL_SEND'] = False pagure.LOG.handlers = []