add endpoint to get redmine issue subject (#78792)
gitea/gitea-redmine/pipeline/head This commit looks good
Details
gitea/gitea-redmine/pipeline/head This commit looks good
Details
This commit is contained in:
parent
2c54d760d1
commit
aabcb6cba6
|
@ -366,3 +366,16 @@ handle_pull_request_closed = make_handler(
|
|||
),
|
||||
save(),
|
||||
)
|
||||
|
||||
|
||||
@app.route('/redmine-issue/<issue_id>/', methods=['GET'])
|
||||
def redmine_issue(issue_id):
|
||||
try:
|
||||
issue = get_redmine_issue(issue_id)
|
||||
except redminelib.exceptions.ResourceNotFoundError:
|
||||
logging.warning('Unknown redmine issue %s', issue_id)
|
||||
return {'status': 'error', 'detail': 'Not found'}, 404
|
||||
if issue.is_private:
|
||||
logging.warning('Private redmine issue %s', issue_id)
|
||||
return {'status': 'error', 'detail': 'Private issue'}, 403
|
||||
return {'status': 'success', 'subject': issue.subject}
|
||||
|
|
18
test_app.py
18
test_app.py
|
@ -1,4 +1,5 @@
|
|||
import pytest
|
||||
import redminelib
|
||||
|
||||
import gitea_redmine
|
||||
|
||||
|
@ -609,3 +610,20 @@ def test_handle_pull_request_closed(mocker):
|
|||
'Test User (testuser) a fermé une pull request sur Gitea concernant cette demande.'
|
||||
)
|
||||
issue.save.assert_called_once()
|
||||
|
||||
|
||||
def test_issue_endpoint(client, mocker):
|
||||
issue = mocker.Mock(subject='subject 1', is_private=False)
|
||||
private_issue = mocker.Mock(subject='subject 2', is_private=True)
|
||||
mocker.patch.object(
|
||||
gitea_redmine,
|
||||
'get_redmine_issue',
|
||||
side_effect=[issue, private_issue, redminelib.exceptions.ResourceNotFoundError],
|
||||
)
|
||||
|
||||
response = client.get('/redmine-issue/123/')
|
||||
assert response.json == {'status': 'success', 'subject': 'subject 1'}
|
||||
response = client.get('/redmine-issue/234/')
|
||||
assert response.json == {'status': 'error', 'detail': 'Private issue'}
|
||||
response = client.get('/redmine-issue/345/')
|
||||
assert response.json == {'status': 'error', 'detail': 'Not found'}
|
||||
|
|
Loading…
Reference in New Issue