From 88d8a9cbeae3466230db6bd13120bd4438abbc66 Mon Sep 17 00:00:00 2001 From: jc0b Date: Tue, 30 Jun 2020 14:10:34 +0200 Subject: Topology DELETE progress --- web-server/opendc/api/v2/topologies/topologyId/endpoint.py | 13 +++++++++++++ .../opendc/api/v2/topologies/topologyId/test_endpoint.py | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'web-server') diff --git a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py index 6c6ab9c2..fb7b1c59 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py @@ -14,3 +14,16 @@ def GET(request): topology.check_user_access(request.google_id, False) return Response(200, 'Successfully retrieved topology.', topology.obj) + +def PUT(request): + pass + +def DELETE(request): + request.check_required_parameters(path={'topologyId': 'int'}) + + topology = Topology.from_id(request.params_path['topologyId']) + + topology.check_exists() + topology.delete() + + return Response(200, f'Successfully deleted topology.', topology.obj) \ No newline at end of file diff --git a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py index e54052aa..e8cfdd99 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py @@ -43,4 +43,9 @@ PUT /topologies/{topologyId} ''' DELETE /topologies/{topologyId} -''' \ No newline at end of file +''' + +def test_delete_topology(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value={'_id': '1'}) + res = client.delete('/api/v2/topologies/1') + assert '200' in res.status \ No newline at end of file -- cgit v1.2.3 From cc24651d8c29dba014ff0949e6c3bf7fbb19d7b1 Mon Sep 17 00:00:00 2001 From: jc0b Date: Tue, 30 Jun 2020 16:44:51 +0200 Subject: Added DELETE tests --- .../opendc/api/v2/topologies/topologyId/test_endpoint.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'web-server') diff --git a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py index b210479e..6243cc55 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py @@ -48,8 +48,17 @@ def test_get_topology_no_authorizations(client, mocker): ''' PUT /topologies/{topologyId} ''' - - ''' DELETE /topologies/{topologyId} ''' + +def test_delete_topology(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value={'_id': '1'}) + mocker.patch.object(DB, 'delete_one', return_value=None) + res = client.delete('/api/v2/topologies/1') + assert '200' in res.status + +def test_delete_nonexistent_topology(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value=None) + assert '404' in client.delete('/api/v2/topologies/1').status + -- cgit v1.2.3 From c78432a639979283b309a03f41589b9823bcaaf7 Mon Sep 17 00:00:00 2001 From: jc0b Date: Tue, 30 Jun 2020 16:54:14 +0200 Subject: pleasing the linter --- web-server/opendc/api/v2/topologies/topologyId/endpoint.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'web-server') diff --git a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py index 05bf27aa..f0c12876 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py @@ -15,14 +15,16 @@ def GET(request): return Response(200, 'Successfully retrieved topology.', topology.obj) def PUT(request): - pass + """Update this topology""" + print(request) def DELETE(request): + """Delete this topology""" request.check_required_parameters(path={'topologyId': 'int'}) topology = Topology.from_id(request.params_path['topologyId']) - + topology.check_exists() topology.delete() - return Response(200, f'Successfully deleted topology.', topology.obj) \ No newline at end of file + return Response(200, 'Successfully deleted topology.', topology.obj) -- cgit v1.2.3