From bcc20eb15d822c63b77dccb7b8544321186e470a Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 31 2018 12:13:10 +0000 Subject: Fix the local login Ensure the local login flask controller is imported when it should be Fix running the tests for local login Signed-off-by: Pierre-Yves Chibon Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/ui/__init__.py b/pagure/ui/__init__.py index 4080a88..b0a9047 100644 --- a/pagure/ui/__init__.py +++ b/pagure/ui/__init__.py @@ -21,6 +21,8 @@ if pagure.config.config.get('ENABLE_TICKETS', True): import pagure.ui.issues # noqa: E402 import pagure.ui.plugins # noqa: E402 import pagure.ui.repo # noqa: E402 +if pagure.config.config['PAGURE_AUTH'] == 'local': + import pagure.ui.login # noqa: E402 @UI_NS.errorhandler(404) diff --git a/pagure/ui/login.py b/pagure/ui/login.py index 43c224c..de3e5b9 100644 --- a/pagure/ui/login.py +++ b/pagure/ui/login.py @@ -440,8 +440,9 @@ def _check_session_cookie(): _log.exception(err) flask.g.fas_session_id = session_id - flask.g.fas_user = user if user: + flask.g.fas_user = user + flask.g.authenticated = pagure.utils.authenticated() flask.g.fas_user.login_time = login_time diff --git a/tests/test_pagure_flask_ui_login.py b/tests/test_pagure_flask_ui_login.py index 36fade0..e9abbfe 100644 --- a/tests/test_pagure_flask_ui_login.py +++ b/tests/test_pagure_flask_ui_login.py @@ -38,6 +38,27 @@ import pagure.ui.login class PagureFlaskLogintests(tests.SimplePagureTest): """ Tests for flask app controller of pagure """ + def setUp(self): + """ Create the application with PAGURE_AUTH being local. """ + super(PagureFlaskLogintests, self).setUp() + + app = pagure.flask_app.create_app({ + 'DB_URL': self.dbpath, + 'PAGURE_AUTH': 'local' + }) + # Remove the log handlers for the tests + app.logger.handlers = [] + + self.app = app.test_client() + + @patch.dict('pagure.config.config', {'PAGURE_AUTH': 'local'}) + def test_front_page(self): + """ Test the front page. """ + # First access the front page + output = self.app.get('/') + self.assertEqual(output.status_code, 200) + self.assertIn('Home - Pagure', output.data) + @patch.dict('pagure.config.config', {'PAGURE_AUTH': 'local'}) @patch('pagure.lib.notify.send_email', MagicMock(return_value=True)) def test_new_user(self): @@ -440,6 +461,7 @@ class PagureFlaskLogintests(tests.SimplePagureTest): self.assertIn('Login - Pagure', output.data) self.assertIn('Password changed', output.data) + @patch('pagure.ui.login._check_session_cookie', MagicMock(return_value=True)) @patch.dict('pagure.config.config', {'PAGURE_AUTH': 'local'}) def test_change_password(self): """ Test the change_password endpoint. """