summaryrefslogtreecommitdiff
path: root/web-server/opendc/api/v2
diff options
context:
space:
mode:
Diffstat (limited to 'web-server/opendc/api/v2')
-rw-r--r--web-server/opendc/api/v2/topologies/topologyId/endpoint.py13
-rw-r--r--web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py7
2 files changed, 19 insertions, 1 deletions
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