diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-06-30 17:26:24 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:44:37 +0200 |
| commit | abb91a93c40ef3577aa953cf6e8c252593e082d4 (patch) | |
| tree | 0f589ec4852182bbc797240a216af70194d95562 /web-server/opendc | |
| parent | cac980546e15882a232ce234cbde3e0cda693352 (diff) | |
| parent | c78432a639979283b309a03f41589b9823bcaaf7 (diff) | |
Merge branch 'feature/mongodb-migration' of https://github.com/atlarge-research/opendc-dev into feature/mongodb-migration
Diffstat (limited to 'web-server/opendc')
| -rw-r--r-- | web-server/opendc/api/v2/topologies/topologyId/endpoint.py | 15 | ||||
| -rw-r--r-- | web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py | 11 |
2 files changed, 26 insertions, 0 deletions
diff --git a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py index a8061d69..f0c12876 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py @@ -13,3 +13,18 @@ def GET(request): topology.check_user_access(request.google_id, False) return Response(200, 'Successfully retrieved topology.', topology.obj) + +def PUT(request): + """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, 'Successfully deleted topology.', topology.obj) 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 48bd6846..6243cc55 100644 --- a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py +++ b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py @@ -51,3 +51,14 @@ 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 + |
