From 3f60e3e272f34f717a87e95f2401e16f8af57122 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 07 2016 10:50:18 +0000 Subject: Adjust unit-tests for the new @app.before_request method This method now checks for the existence of the git repo when the URL is called, so the order in which we do our tests needs to be adjusted. --- diff --git a/tests/test_pagure_flask_ui_fork.py b/tests/test_pagure_flask_ui_fork.py index 909cc59..b87c373 100644 --- a/tests/test_pagure_flask_ui_fork.py +++ b/tests/test_pagure_flask_ui_fork.py @@ -1854,15 +1854,19 @@ index 0000000..2a552bb send_email.return_value = True - # User not logged in + # Git repo not found output = self.app.post('fork_edit/test/edit/master/f/sources') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) tests.create_projects(self.session) for folder in ['docs', 'tickets', 'requests', 'repos']: tests.create_projects_git( os.path.join(tests.HERE, folder), bare=True) + # User not logged in + output = self.app.post('fork_edit/test/edit/master/f/sources') + self.assertEqual(output.status_code, 302) + user = tests.FakeUser() user.username = 'pingou' with tests.user_set(pagure.APP, user): diff --git a/tests/test_pagure_flask_ui_plugins.py b/tests/test_pagure_flask_ui_plugins.py index 2d9469d..0d0a071 100644 --- a/tests/test_pagure_flask_ui_plugins.py +++ b/tests/test_pagure_flask_ui_plugins.py @@ -84,8 +84,9 @@ class PagureFlaskPluginstests(tests.Modeltests): def test_view_plugin_page(self): """ Test the view_plugin_page endpoint. """ + # No Git repo output = self.app.get('/foo/settings/Mail') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -98,6 +99,10 @@ class PagureFlaskPluginstests(tests.Modeltests): output = self.app.get('/test/settings/Mail') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.get('/test/settings/Mail') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.get('/test/settings/Mail') diff --git a/tests/test_pagure_flask_ui_plugins_fedmsg.py b/tests/test_pagure_flask_ui_plugins_fedmsg.py index 5d9ed27..7da5451 100644 --- a/tests/test_pagure_flask_ui_plugins_fedmsg.py +++ b/tests/test_pagure_flask_ui_plugins_fedmsg.py @@ -55,6 +55,7 @@ class PagureFlaskPluginFedmsgtests(tests.Modeltests): """ Test the fedmsg plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -87,11 +88,6 @@ class PagureFlaskPluginFedmsgtests(tests.Modeltests): tests.HERE, 'test.git', 'hooks', 'post-receive.fedmsg'))) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Fedmsg', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) # With the git repo output = self.app.post( diff --git a/tests/test_pagure_flask_ui_plugins_irc.py b/tests/test_pagure_flask_ui_plugins_irc.py index 891a9c6..0e74120 100644 --- a/tests/test_pagure_flask_ui_plugins_irc.py +++ b/tests/test_pagure_flask_ui_plugins_irc.py @@ -55,6 +55,7 @@ class PagureFlaskPluginIRCtests(tests.Modeltests): """ Test the irc plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -87,11 +88,6 @@ class PagureFlaskPluginIRCtests(tests.Modeltests): tests.HERE, 'test.git', 'hooks', 'post-receive.irc'))) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/IRC', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) # With the git repo output = self.app.post( diff --git a/tests/test_pagure_flask_ui_plugins_mail.py b/tests/test_pagure_flask_ui_plugins_mail.py index 13c1d92..55c2f88 100644 --- a/tests/test_pagure_flask_ui_plugins_mail.py +++ b/tests/test_pagure_flask_ui_plugins_mail.py @@ -55,6 +55,7 @@ class PagureFlaskPluginMailtests(tests.Modeltests): """ Test the mail plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -90,11 +91,6 @@ class PagureFlaskPluginMailtests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Mail', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) # With the git repo output = self.app.post( diff --git a/tests/test_pagure_flask_ui_plugins_noff.py b/tests/test_pagure_flask_ui_plugins_noff.py index 039350f..c2db1f5 100644 --- a/tests/test_pagure_flask_ui_plugins_noff.py +++ b/tests/test_pagure_flask_ui_plugins_noff.py @@ -55,6 +55,7 @@ class PagureFlaskPluginNoFFtests(tests.Modeltests): """ Test the noff plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -96,12 +97,6 @@ class PagureFlaskPluginNoFFtests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post( - '/test/settings/Block non fast-forward pushes', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) # With the git repo output = self.app.post( diff --git a/tests/test_pagure_flask_ui_plugins_pagure_ci.py b/tests/test_pagure_flask_ui_plugins_pagure_ci.py index d3416a6..648e0c3 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_ci.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_ci.py @@ -47,6 +47,7 @@ class PagureFlaskPluginPagureCItests(tests.Modeltests): """ Test the pagure ci plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -104,12 +105,6 @@ class PagureFlaskPluginPagureCItests(tests.Modeltests): data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Pagure', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) - if not pagure.APP.config.get('PAGURE_CI_SERVICES'): return diff --git a/tests/test_pagure_flask_ui_plugins_pagure_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_hook.py index fd68dfa..712a098 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_hook.py @@ -57,6 +57,7 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): """ Test the pagure hook plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -86,11 +87,7 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Pagure', data=data) - self.assertEqual(output.status_code, 404) - tests.create_projects_git(tests.HERE) tests.create_projects_git(os.path.join(tests.HERE, 'docs')) tests.create_projects_git(os.path.join(tests.HERE, 'requests')) diff --git a/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py index a821bae..b564347 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py @@ -55,6 +55,7 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): """ Test the pagure_request plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -84,15 +85,10 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Pagure requests', data=data) - self.assertEqual(output.status_code, 404) - # Create both the requests repo + # Create the requests repo tests.create_projects_git(os.path.join(tests.HERE, 'requests')) - # With the git repo - tests.create_projects_git(tests.HERE) output = self.app.post( '/test/settings/Pagure requests', data=data, follow_redirects=True) diff --git a/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py index fcd8baa..4e13a84 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py @@ -55,6 +55,7 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): """ Test the pagure_ticket plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -84,15 +85,10 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Pagure tickets', data=data) - self.assertEqual(output.status_code, 404) - # Create both the tickets repo + # Create the tickets repo tests.create_projects_git(os.path.join(tests.HERE, 'tickets')) - # With the git repo - tests.create_projects_git(tests.HERE) output = self.app.post( '/test/settings/Pagure tickets', data=data, follow_redirects=True) diff --git a/tests/test_pagure_flask_ui_plugins_rtd_hook.py b/tests/test_pagure_flask_ui_plugins_rtd_hook.py index f4b5d35..8efefbc 100644 --- a/tests/test_pagure_flask_ui_plugins_rtd_hook.py +++ b/tests/test_pagure_flask_ui_plugins_rtd_hook.py @@ -55,6 +55,7 @@ class PagureFlaskPluginRtdHooktests(tests.Modeltests): """ Test the pagure_request plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -84,15 +85,10 @@ class PagureFlaskPluginRtdHooktests(tests.Modeltests): output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post('/test/settings/Read the Doc', data=data) - self.assertEqual(output.status_code, 404) - # Create both the requests repo + # Create the requests repo tests.create_projects_git(os.path.join(tests.HERE, 'requests')) - # With the git repo - tests.create_projects_git(tests.HERE) output = self.app.post( '/test/settings/Read the Doc', data=data, follow_redirects=True) diff --git a/tests/test_pagure_flask_ui_plugins_unsigned.py b/tests/test_pagure_flask_ui_plugins_unsigned.py index 89ecab8..009689a 100644 --- a/tests/test_pagure_flask_ui_plugins_unsigned.py +++ b/tests/test_pagure_flask_ui_plugins_unsigned.py @@ -55,6 +55,7 @@ class PagureFlaskPluginUnsignedtests(tests.Modeltests): """ Test the noff plugin on/off endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -90,12 +91,6 @@ class PagureFlaskPluginUnsignedtests(tests.Modeltests): in output.data) data['csrf_token'] = csrf_token - # No git found - output = self.app.post( - '/test/settings/Block Un-Signed commits', data=data) - self.assertEqual(output.status_code, 404) - - tests.create_projects_git(tests.HERE) # With the git repo output = self.app.post( diff --git a/tests/test_pagure_flask_ui_repo.py b/tests/test_pagure_flask_ui_repo.py index 42d3886..6e106e7 100644 --- a/tests/test_pagure_flask_ui_repo.py +++ b/tests/test_pagure_flask_ui_repo.py @@ -65,13 +65,19 @@ class PagureFlaskRepotests(tests.Modeltests): pagure.APP.config['ENABLE_USER_MNGT'] = False ast.return_value = False + # No Git repo output = self.app.get('/foo/adduser') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # User not logged in + output = self.app.get('/test/adduser') self.assertEqual(output.status_code, 302) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): - tests.create_projects(self.session) - tests.create_projects_git(tests.HERE) output = self.app.get('/test/adduser') self.assertEqual(output.status_code, 404) @@ -109,18 +115,19 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the add_user endpoint. """ ast.return_value = False + # No git repo output = self.app.get('/foo/adduser') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # User not logged in + output = self.app.get('/test/adduser') self.assertEqual(output.status_code, 302) user = tests.FakeUser() with tests.user_set(pagure.APP, user): - - output = self.app.get('/foo/adduser') - self.assertEqual(output.status_code, 404) - - tests.create_projects(self.session) - tests.create_projects_git(tests.HERE) - output = self.app.get('/test/adduser') self.assertEqual(output.status_code, 403) @@ -185,7 +192,15 @@ class PagureFlaskRepotests(tests.Modeltests): pagure.APP.config['ENABLE_USER_MNGT'] = False ast.return_value = False + # No Git repo output = self.app.get('/foo/addgroup') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # User not logged in + output = self.app.get('/test/addgroup') self.assertEqual(output.status_code, 302) msg = pagure.lib.add_group( @@ -203,13 +218,8 @@ class PagureFlaskRepotests(tests.Modeltests): user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): - output = self.app.get('/test/addgroup') - self.assertEqual(output.status_code, 404) - #just get the csrf token pagure.APP.config['ENABLE_USER_MNGT'] = True - tests.create_projects(self.session) - tests.create_projects_git(tests.HERE) output = self.app.get('/test/addgroup') csrf_token = output.data.split( @@ -240,17 +250,19 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the add_group_project endpoint. """ ast.return_value = False + # No Git repo output = self.app.get('/foo/addgroup') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # User not logged in + output = self.app.get('/test/addgroup') self.assertEqual(output.status_code, 302) user = tests.FakeUser() with tests.user_set(pagure.APP, user): - output = self.app.get('/foo/addgroup') - self.assertEqual(output.status_code, 404) - - tests.create_projects(self.session) - tests.create_projects_git(tests.HERE) - output = self.app.get('/test/addgroup') self.assertEqual(output.status_code, 403) @@ -327,8 +339,9 @@ class PagureFlaskRepotests(tests.Modeltests): pagure.APP.config['ENABLE_USER_MNGT'] = False ast.return_value = False + # Git repo not found output = self.app.post('/foo/dropuser/1') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): @@ -346,6 +359,10 @@ class PagureFlaskRepotests(tests.Modeltests): '/test/dropuser/2', data=data, follow_redirects=True) self.assertEqual(output.status_code, 404) + # User not logged in + output = self.app.post('/test/dropuser/1') + self.assertEqual(output.status_code, 302) + # Add an user to a project repo = pagure.lib.get_project(self.session, 'test') msg = pagure.lib.add_user_to_project( @@ -374,8 +391,9 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the remove_user endpoint. """ ast.return_value = False + # Git repo not found output = self.app.post('/foo/dropuser/1') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -393,6 +411,10 @@ class PagureFlaskRepotests(tests.Modeltests): self.assertEqual(output.status_code, 302) ast.return_value = False + # User not logged in + output = self.app.post('/test/dropuser/1') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.post('/test/settings') @@ -450,16 +472,20 @@ class PagureFlaskRepotests(tests.Modeltests): pagure.APP.config['ENABLE_USER_MNGT'] = False ast.return_value = False + # No Git repo output = self.app.post('/foo/dropgroup/1') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # User not logged in + output = self.app.post('/test/dropgroup/1') self.assertEqual(output.status_code, 302) user = tests.FakeUser() - with tests.user_set(pagure.APP, user): - tests.create_projects(self.session) - user.username = 'pingou' with tests.user_set(pagure.APP, user): - tests.create_projects_git(tests.HERE) output = self.app.post('/test/settings') csrf_token = output.data.split( @@ -513,8 +539,9 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the remove_group_project endpoint. """ ast.return_value = False + # No Git repo output = self.app.post('/foo/dropgroup/1') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -532,6 +559,10 @@ class PagureFlaskRepotests(tests.Modeltests): self.assertEqual(output.status_code, 302) ast.return_value = False + # User not logged in + output = self.app.post('/test/dropgroup/1') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.post('/test/settings') @@ -604,27 +635,35 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the update_project endpoint. """ ast.return_value = True + # Git repo not found output = self.app.post('/foo/update') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): - output = self.app.post('/foo/update') - self.assertEqual(output.status_code, 302) - - ast.return_value = False - + # Project does not exist output = self.app.post('/foo/update') self.assertEqual(output.status_code, 404) tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + + # Session timed-out + output = self.app.post('/test/update') + self.assertEqual(output.status_code, 302) + ast.return_value = False + + # Not allowed output = self.app.post('/test/update') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.post('/test/update') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): - tests.create_projects_git(tests.HERE) output = self.app.post('/test/update', follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( @@ -692,8 +731,9 @@ class PagureFlaskRepotests(tests.Modeltests): """ Test the view_settings endpoint. """ ast.return_value = False + # No Git repo output = self.app.get('/foo/settings') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -706,6 +746,10 @@ class PagureFlaskRepotests(tests.Modeltests): output = self.app.get('/test/settings') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.get('/test/settings') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): ast.return_value = True @@ -1918,16 +1962,23 @@ index 0000000..fb7093d send_email.return_value = True pagure.APP.config['ENABLE_DEL_PROJECTS'] = False + # No Git repo output = self.app.post('/foo/delete') - # User not logged in - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) + output = self.app.post('/test/delete', follow_redirects=True) self.assertEqual(output.status_code, 404) + # User not logged in + output = self.app.post('/test/delete') + self.assertEqual(output.status_code, 302) + + with tests.user_set(pagure.APP, user): # Only git repo item = pagure.lib.model.Project( user_id=1, # pingou @@ -1937,7 +1988,6 @@ index 0000000..fb7093d ) self.session.add(item) self.session.commit() - tests.create_projects_git(tests.HERE) output = self.app.post('/test/delete', follow_redirects=True) self.assertEqual(output.status_code, 404) @@ -2125,23 +2175,23 @@ index 0000000..fb7093d ast.return_value = False send_email.return_value = True + # No Git repo output = self.app.post('/foo/delete') - # User not logged in - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): - output = self.app.post('/foo/delete') - # No project registered in the DB - self.assertEqual(output.status_code, 404) - tests.create_projects(self.session) - #tests.create_projects_git(tests.HERE) + tests.create_projects_git(tests.HERE) - output = self.app.post('/test/delete') - # No git repo associated + # No project registered in the DB (no git repo) + output = self.app.post('/foo/delete') self.assertEqual(output.status_code, 404) + # User not logged in + output = self.app.post('/test/delete') + self.assertEqual(output.status_code, 302) + user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): tests.create_projects_git(tests.HERE) @@ -2442,6 +2492,7 @@ index 0000000..fb7093d upgit.return_value = True sendmail.return_value = True tests.create_projects(self.session) + tests.create_projects_git(tests.HERE) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2491,7 +2542,6 @@ index 0000000..fb7093d self.assertEqual(msg.title, 'Test issue') data['regenerate'] = 'tickets' - tests.create_projects_git(tests.HERE) output = self.app.post( '/test/regenerate', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) @@ -2558,8 +2608,9 @@ index 0000000..fb7093d def test_edit_file(self): """ Test the edit_file endpoint. """ + # No Git repo output = self.app.get('/foo/edit/foo/f/sources') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2574,6 +2625,10 @@ index 0000000..fb7093d output = self.app.get('/test/edit/foo/f/sources') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.get('/test/edit/foo/f/sources') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): @@ -2702,8 +2757,9 @@ index 0000000..fb7093d """ Test the change_ref_head endpoint. """ ast.return_value = True + # No Git repo output = self.app.post('/foo/default/branch/') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2721,6 +2777,10 @@ index 0000000..fb7093d output = self.app.post('/test/default/branch/') self.assertEqual(output.status_code, 403) + # User no logged in + output = self.app.post('/test/default/branch/') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.post('/test/default/branch/', @@ -2798,8 +2858,9 @@ index 0000000..fb7093d def test_new_release(self): """ Test the new_release endpoint. """ + # No Git repo output = self.app.post('/foo/upload/') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2807,10 +2868,15 @@ index 0000000..fb7093d self.assertEqual(output.status_code, 404) tests.create_projects(self.session) + repo = tests.create_projects_git(tests.HERE) output = self.app.post('/test/upload/') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.post('/test/upload/') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): img = os.path.join(tests.HERE, 'placebo.png') @@ -2824,19 +2890,6 @@ index 0000000..fb7093d csrf_token = output.data.split( 'name="csrf_token" type="hidden" value="')[1].split('">')[0] - # Upload Ok but No git repo - data = {'filestream': open(img), 'csrf_token': csrf_token} - output = self.app.post( - '/test/upload/', data=data, follow_redirects=True) - self.assertEqual(output.status_code, 404) - self.assertIn( - '\n File', output.data) - self.assertIn( - 'uploaded\n ', output.data) - self.assertIn('

No git repo found

', output.data) - - repo = tests.create_projects_git(tests.HERE) - # Upload successful data = {'filestream': open(img), 'csrf_token': csrf_token} output = self.app.post( @@ -2853,8 +2906,9 @@ index 0000000..fb7093d """ Test the add_token endpoint. """ ast.return_value = False + # No Git repo output = self.app.get('/foo/token/new/') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2867,6 +2921,10 @@ index 0000000..fb7093d output = self.app.get('/test/token/new/') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.get('/test/token/new/') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.get('/test/token/new/') @@ -2914,8 +2972,9 @@ index 0000000..fb7093d """ Test the revoke_api_token endpoint. """ ast.return_value = False + # No Git repo output = self.app.post('/foo/token/revoke/123') - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) user = tests.FakeUser() with tests.user_set(pagure.APP, user): @@ -2928,6 +2987,10 @@ index 0000000..fb7093d output = self.app.post('/test/token/revoke/123') self.assertEqual(output.status_code, 403) + # User not logged in + output = self.app.post('/test/token/revoke/123') + self.assertEqual(output.status_code, 302) + user.username = 'pingou' with tests.user_set(pagure.APP, user): output = self.app.get('/test/token/new') @@ -2990,17 +3053,21 @@ index 0000000..fb7093d def test_delete_branch(self): """ Test the delete_branch endpoint. """ + # No Git repo output = self.app.post('/foo/b/master/delete') - # No project registered in the DB - self.assertEqual(output.status_code, 302) + self.assertEqual(output.status_code, 404) tests.create_projects(self.session) tests.create_projects_git(tests.HERE, bare=True) + # User not logged in + output = self.app.post('/test/b/master/delete') + self.assertEqual(output.status_code, 302) + user = tests.FakeUser() with tests.user_set(pagure.APP, user): - output = self.app.post('/foo/b/master/delete') # Unknown repo + output = self.app.post('/foo/b/master/delete') self.assertEqual(output.status_code, 404) output = self.app.post('/test/b/master/delete') @@ -3097,6 +3164,7 @@ index 0000000..fb7093d def test_view_project_activity(self): """ Test the view_project_activity endpoint. """ tests.create_projects(self.session) + tests.create_projects_git(tests.HERE, bare=True) # Project Exists, but No DATAGREPPER_URL set output = self.app.get('/test/activity/') @@ -3122,6 +3190,7 @@ index 0000000..fb7093d self.assertEqual(output.status_code, 405) tests.create_projects(self.session) + tests.create_projects_git(tests.HERE, bare=True) user = tests.FakeUser() user.username = 'pingou' @@ -3164,13 +3233,15 @@ index 0000000..fb7093d item = pagure.lib.model.Project( user_id=2, # foo name='test', - description='test project #1', + description='foo project #1', hook_token='aaabbb', is_fork=True, parent_id=1, ) self.session.add(item) self.session.commit() + gitrepo = os.path.join(tests.HERE, 'forks', 'foo', 'test.git') + pygit2.init_repository(gitrepo, bare=True) output = self.app.post( '/watch/fork/foo/test/settings/0', data=data, follow_redirects=True)