summaryrefslogtreecommitdiff
path: root/web-server/opendc/api
diff options
context:
space:
mode:
Diffstat (limited to 'web-server/opendc/api')
-rw-r--r--web-server/opendc/api/v2/topologies/topologyId/endpoint.py11
-rw-r--r--web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py41
2 files changed, 22 insertions, 30 deletions
diff --git a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
index 824bb12b..a4f71ed6 100644
--- a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
+++ b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
@@ -6,7 +6,6 @@ from opendc.models.topology import Topology
from opendc.util.rest import Response
-
def GET(request):
"""Get this Topology."""
@@ -19,15 +18,10 @@ def GET(request):
return Response(200, 'Successfully retrieved topology.', topology.obj)
+
def PUT(request):
"""Update this topology"""
- request.check_required_parameters(path={'topologyId': 'int'},
- body={
- 'topology': {
- 'name': 'string',
- 'rooms': {}
- }
- })
+ request.check_required_parameters(path={'topologyId': 'int'}, body={'topology': {'name': 'string', 'rooms': {}}})
topology = Topology.from_id(request.params_path['topologyId'])
topology.check_exists()
@@ -41,6 +35,7 @@ def PUT(request):
return Response(200, 'Successfully updated topology.', topology.obj)
+
def DELETE(request):
"""Delete this topology"""
request.check_required_parameters(path={'topologyId': 'int'})
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 ac0d02aa..fa88c497 100644
--- a/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py
+++ b/web-server/opendc/api/v2/topologies/topologyId/test_endpoint.py
@@ -49,18 +49,15 @@ def test_get_topology_no_authorizations(client, mocker):
PUT /topologies/{topologyId}
'''
+
def test_update_topology_missing_parameter(client):
assert '400' in client.put('/api/v2/topologies/1').status
+
def test_update_topology_non_existent(client, mocker):
mocker.patch.object(DB, 'fetch_one', return_value=None)
- assert '404' in client.put('/api/v2/topologies/1',
- json={
- 'topology': {
- 'name': 'test_topology',
- 'rooms': {}
- }
- }).status
+ assert '404' in client.put('/api/v2/topologies/1', json={'topology': {'name': 'test_topology', 'rooms': {}}}).status
+
def test_update_topology_not_authorized(client, mocker):
mocker.patch.object(DB,
@@ -74,13 +71,13 @@ def test_update_topology_not_authorized(client, mocker):
}]
})
mocker.patch.object(DB, 'update', return_value={})
- assert '403' in client.put('/api/v2/topologies/1',
- json={
- 'topology': {
- 'name': 'updated_topology',
- 'rooms': {}
- }
- }).status
+ assert '403' in client.put('/api/v2/topologies/1', json={
+ 'topology': {
+ 'name': 'updated_topology',
+ 'rooms': {}
+ }
+ }).status
+
def test_update_topology(client, mocker):
mocker.patch.object(DB,
@@ -95,19 +92,19 @@ def test_update_topology(client, mocker):
})
mocker.patch.object(DB, 'update', return_value={})
- assert '200' in client.put('/api/v2/topologies/1',
- json={
- 'topology': {
- 'name': 'updated_topology',
- 'rooms': {}
- }
- }).status
+ assert '200' in client.put('/api/v2/topologies/1', json={
+ 'topology': {
+ 'name': 'updated_topology',
+ 'rooms': {}
+ }
+ }).status
'''
DELETE /topologies/{topologyId}
'''
+
def test_delete_topology(client, mocker):
mocker.patch.object(DB,
'fetch_one',
@@ -126,7 +123,7 @@ def test_delete_topology(client, mocker):
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
-