diff options
Diffstat (limited to 'opendc-web/opendc-web-api/opendc/api')
6 files changed, 45 insertions, 0 deletions
diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/__init__.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/__init__.py diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/endpoint.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/endpoint.py new file mode 100644 index 00000000..ee699e02 --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/endpoint.py @@ -0,0 +1,10 @@ +from opendc.models.trace import Trace +from opendc.util.rest import Response + + +def GET(_): + """Get all available Traces.""" + + traces = Trace.get_all() + + return Response(200, 'Successfully retrieved Traces', traces.obj) diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/test_endpoint.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/test_endpoint.py new file mode 100644 index 00000000..36846bd9 --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/test_endpoint.py @@ -0,0 +1,6 @@ +from opendc.util.database import DB + + +def test_get_traces(client, mocker): + mocker.patch.object(DB, 'fetch_all', return_value=[]) + assert '200' in client.get('/v2/traces').status diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/__init__.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/__init__.py diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/endpoint.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/endpoint.py new file mode 100644 index 00000000..670f88d1 --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/endpoint.py @@ -0,0 +1,14 @@ +from opendc.models.trace import Trace +from opendc.util.rest import Response + + +def GET(request): + """Get this Trace.""" + + request.check_required_parameters(path={'traceId': 'string'}) + + trace = Trace.from_id(request.params_path['traceId']) + + trace.check_exists() + + return Response(200, 'Successfully retrieved trace.', trace.obj) diff --git a/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/test_endpoint.py b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/test_endpoint.py new file mode 100644 index 00000000..0c51538b --- /dev/null +++ b/opendc-web/opendc-web-api/opendc/api/v2/traces/traceId/test_endpoint.py @@ -0,0 +1,15 @@ +from opendc.util.database import DB + +test_id = 24 * '1' + + +def test_get_trace_non_existing(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value=None) + assert '404' in client.get(f'/v2/traces/{test_id}').status + + +def test_get_trace(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value={'name': 'test trace'}) + res = client.get(f'/v2/traces/{test_id}') + assert 'name' in res.json['content'] + assert '200' in res.status |
