From a26be41c618b1b8640f390b329ad0d2f3c4e7017 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 14 2015 21:19:49 +0000 Subject: Add unit-tests for the add_token endpoint --- diff --git a/tests/test_progit_flask_ui_repo.py b/tests/test_progit_flask_ui_repo.py index 8d6b0fd..24a26b9 100644 --- a/tests/test_progit_flask_ui_repo.py +++ b/tests/test_progit_flask_ui_repo.py @@ -1956,6 +1956,55 @@ index 0000000..fb7093d self.assertIn('
  • File uploaded
  • ', output.data) self.assertIn('This project has not been tagged.', output.data) + def test_add_token(self): + """ Test the add_token endpoint. """ + + output = self.app.get('/foo/token/new/') + self.assertEqual(output.status_code, 302) + + user = tests.FakeUser() + with tests.user_set(pagure.APP, user): + output = self.app.get('/foo/token/new/') + self.assertEqual(output.status_code, 404) + + tests.create_projects(self.session) + + output = self.app.get('/test/token/new/') + self.assertEqual(output.status_code, 403) + + user.username = 'pingou' + with tests.user_set(pagure.APP, user): + output = self.app.get('/test/token/new/') + self.assertEqual(output.status_code, 200) + self.assertIn('

    Create a new token

    ', output.data) + + csrf_token = output.data.split( + 'name="csrf_token" type="hidden" value="')[1].split('">')[0] + + # Missing acls + data = {'csrf_token': csrf_token} + output = self.app.post('/test/token/new/', data=data) + self.assertEqual(output.status_code, 200) + self.assertIn('

    Create a new token

    ', output.data) + + data = {'csrf_token': csrf_token, 'acls': ['issue_create']} + output = self.app.post( + '/test/token/new/', data=data, follow_redirects=True) + self.assertEqual(output.status_code, 404) + self.assertIn('
  • Token created
  • ', output.data) + self.assertIn('
    No git repo found
    ', output.data) + + repo = tests.create_projects_git(tests.HERE) + + # Upload successful + data = {'csrf_token': csrf_token, 'acls': ['issue_create']} + output = self.app.post( + '/test/token/new/', data=data, follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertIn('
  • Token created
  • ', output.data) + self.assertIn('

    Settings

    ', output.data) + self.assertIn('Valid until:', output.data) + if __name__ == '__main__': SUITE = unittest.TestLoader().loadTestsFromTestCase(PagureFlaskRepotests)