From 069347c63424d01799eb01e35f5f7dc8d3f30420 Mon Sep 17 00:00:00 2001 From: Julen Landa Alustiza Date: Mar 30 2020 09:17:11 +0000 Subject: api/issue: allow viewing issues with user tokens --- diff --git a/pagure/api/issue.py b/pagure/api/issue.py index 4f7eaa8..64429bc 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -564,7 +564,7 @@ def api_view_issue(repo, issueid, username=None, namespace=None): repo = _get_repo(repo, username, namespace) _check_issue_tracker(repo) - _check_token(repo) + _check_token(repo, project_token=False) issue_id = issue_uid = None try: diff --git a/tests/test_pagure_flask_api_issue.py b/tests/test_pagure_flask_api_issue.py index 8248243..7747f4d 100644 --- a/tests/test_pagure_flask_api_issue.py +++ b/tests/test_pagure_flask_api_issue.py @@ -4524,6 +4524,37 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): self.assertEqual(data["total_issues_assigned_pages"], 1) self.assertEqual(data["total_issues_created_pages"], 1) + def api_api_view_issue_user_token(self): + """ Testhe the api view issues of the flask api with valid user token """ + tests.create_projects(self.session) + tests.create_projects_git( + os.path.join(self.path, "tickets", bare=True) + ) + tests.create_tokens(self.session, project_id=None) + tests.create_tokens_acl(self.session) + + headers = {"Authorization": "token aaabbbcccddd"} + + # Create issue + repo = pagure.lib.query.get_authorized_project(self.session, "test") + msg = pagure.lib.query.new_issue( + session=self.session, + repo=repo, + title="Test issue #1", + content="We should work on this", + user="pingou", + private=False, + issue_uid="aaabbbccc1", + ) + self.session.commit() + self.assertEqual(msg.title, "Test issue #1") + self.assertEqual(msg.related_prs, []) + self.assertEqual(msg.id, 1) + + # Check issue + output = self.app.get("/api/0/test/issue/1") + self.assertEqual(output.status_code, 200) + if __name__ == "__main__": SUITE = unittest.TestLoader().loadTestsFromTestCase(