From 2e44ebf648bf4be0dbd092a78f21e878e7f5f307 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Apr 20 2015 10:20:38 +0000 Subject: Add unit-tests for the admin_generate_hook_token endpoint --- diff --git a/tests/test_progit_flask_ui_admin.py b/tests/test_progit_flask_ui_admin.py index 88c4cde..01b1eeb 100644 --- a/tests/test_progit_flask_ui_admin.py +++ b/tests/test_progit_flask_ui_admin.py @@ -169,6 +169,52 @@ class PagureFlaskAdmintests(tests.Modeltests): '
  • Authorized file updated
  • ' in output.data) + def test_admin_generate_hook_token(self): + """ Test the admin_generate_hook_token endpoint. """ + + output = self.app.get('/admin/hook_token') + self.assertEqual(output.status_code, 404) + + output = self.app.post('/admin/hook_token') + self.assertEqual(output.status_code, 302) + + user = tests.FakeUser() + with tests.user_set(pagure.APP, user): + output = self.app.post('/admin/hook_token', follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertTrue( + '
  • Access restricted
  • ' in output.data) + + user = tests.FakeUser( + username='pingou', + groups=pagure.APP.config['ADMIN_GROUP']) + with tests.user_set(pagure.APP, user): + output = self.app.post('/admin/hook_token', follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertTrue('

    Admin section

    ' in output.data) + self.assertTrue('Re-generate gitolite ACLs file' in output.data) + self.assertTrue( + 'Re-generate ssh authorized_key file' in output.data) + self.assertTrue( + 'Re-generate hook-token for every projects' in output.data) + + csrf_token = output.data.split( + 'name="csrf_token" type="hidden" value="')[1].split('">')[0] + data = {'csrf_token': csrf_token} + + output = self.app.post( + '/admin/hook_token', data=data, follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertTrue('

    Admin section

    ' in output.data) + self.assertTrue('Re-generate gitolite ACLs file' in output.data) + self.assertTrue( + 'Re-generate ssh authorized_key file' in output.data) + self.assertTrue( + 'Re-generate hook-token for every projects' in output.data) + self.assertTrue( + '
  • Hook token all re-generated
  • ' + in output.data) + if __name__ == '__main__': SUITE = unittest.TestLoader().loadTestsFromTestCase(PagureFlaskAdmintests)