summaryrefslogtreecommitdiff
path: root/web-server/opendc
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-06-30 19:33:19 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:44:39 +0200
commiteb82c4b678d60d74816d46df0f3b18b1760b7c6e (patch)
treedb1be1998a1f73ce8f8e77fa0ec902a8a731b685 /web-server/opendc
parent61baf441680953b3d6fa47be0a69309570548fa4 (diff)
Revamp web server instructions
Diffstat (limited to 'web-server/opendc')
-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
-rw-r--r--web-server/opendc/models/simulation.py4
3 files changed, 24 insertions, 32 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
-
diff --git a/web-server/opendc/models/simulation.py b/web-server/opendc/models/simulation.py
index dbe1e800..86aa4726 100644
--- a/web-server/opendc/models/simulation.py
+++ b/web-server/opendc/models/simulation.py
@@ -17,8 +17,8 @@ class Simulation(Model):
:param edit_access: True when edit access should be checked, otherwise view access.
"""
user = User.from_google_id(google_id)
- authorizations = list(
- filter(lambda x: str(x['simulationId']) == str(self.get_id()), user.obj['authorizations']))
+ authorizations = list(filter(lambda x: str(x['simulationId']) == str(self.get_id()),
+ user.obj['authorizations']))
if len(authorizations) == 0 or (edit_access and authorizations[0]['authorizationLevel'] == 'VIEW'):
raise ClientError(Response(403, "Forbidden from retrieving simulation."))