diff --git a/openapi_core/contrib/flask/handlers.py b/openapi_core/contrib/flask/handlers.py index fb2ea291..bc0cf5b6 100644 --- a/openapi_core/contrib/flask/handlers.py +++ b/openapi_core/contrib/flask/handlers.py @@ -22,10 +22,8 @@ def handle(cls, errors): data = { 'errors': data_errors, } - status = max( - range(len(data_errors)), - key=lambda idx: data_errors[idx]['status'], - ) + data_error_max = max(data_errors, key=lambda x: x['status']) + status = data_error_max['status'] return current_app.response_class( dumps(data), status=status, diff --git a/tests/integration/contrib/flask/test_flask_views.py b/tests/integration/contrib/flask/test_flask_views.py index 4fdd5aff..83706444 100644 --- a/tests/integration/contrib/flask/test_flask_views.py +++ b/tests/integration/contrib/flask/test_flask_views.py @@ -45,6 +45,7 @@ def test_invalid_content_type(self, client): result = client.get('/browse/12/') + assert result.status_code == 415 assert result.json == { 'errors': [ { @@ -78,6 +79,7 @@ def test_server_error(self, client): } ] } + assert result.status_code == 500 assert result.json == expected_data def test_endpoint_error(self, client): @@ -97,6 +99,7 @@ def test_endpoint_error(self, client): } ] } + assert result.status_code == 400 assert result.json == expected_data def test_valid(self, client):