diff --git a/swh/counters/api/server.py b/swh/counters/api/server.py --- a/swh/counters/api/server.py +++ b/swh/counters/api/server.py @@ -6,7 +6,7 @@ import os from typing import Any, Dict, Optional -from flask import abort +from flask import abort, jsonify from swh.core import config from swh.core.api import RPCServerApp @@ -133,6 +133,8 @@ def get_history_file_content(filename: str): assert app is not None try: - return app.config["history"].get_history(filename) + content = app.config["history"].get_history(filename) except FileNotFoundError: abort(404) + + return jsonify(content) diff --git a/swh/counters/tests/test_server.py b/swh/counters/tests/test_server.py --- a/swh/counters/tests/test_server.py +++ b/swh/counters/tests/test_server.py @@ -170,7 +170,7 @@ expected_result = {"content": [[1, 1], [2, 2]]} mock = mocker.patch("swh.counters.history.History.get_history") - mock.return_value = json.dumps(expected_result) + mock.return_value = expected_result r = history_test_client.get("/counters_history/test.json") @@ -180,6 +180,7 @@ response_json = json.loads(response) assert response_json == expected_result + assert "application/json" == r.headers["Content-Type"] def test_server_counters_history_file_not_found(history_test_client, mocker):