summaryrefslogtreecommitdiff
path: root/web-server/opendc/api/v2/simulations
diff options
context:
space:
mode:
Diffstat (limited to 'web-server/opendc/api/v2/simulations')
-rw-r--r--web-server/opendc/api/v2/simulations/simulationId/endpoint.py7
-rw-r--r--web-server/opendc/api/v2/simulations/simulationId/test_endpoint.py3
-rw-r--r--web-server/opendc/api/v2/simulations/simulationId/topologies/endpoint.py1
3 files changed, 7 insertions, 4 deletions
diff --git a/web-server/opendc/api/v2/simulations/simulationId/endpoint.py b/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
index 282e3291..05b38686 100644
--- a/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
+++ b/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
@@ -1,5 +1,6 @@
from datetime import datetime
+from opendc.models.experiment import Experiment
from opendc.models.simulation import Simulation
from opendc.models.topology import Topology
from opendc.util.database import Database
@@ -50,8 +51,10 @@ def DELETE(request):
topology = Topology.from_id(topology_id)
topology.delete()
- # TODO remove all experiments
+ for experiment_id in simulation.obj['experimentIds']:
+ experiment = Experiment.from_id(experiment_id)
+ experiment.delete()
simulation.delete()
- return Response(200, f'Successfully deleted simulation.', simulation.obj)
+ return Response(200, 'Successfully deleted simulation.', simulation.obj)
diff --git a/web-server/opendc/api/v2/simulations/simulationId/test_endpoint.py b/web-server/opendc/api/v2/simulations/simulationId/test_endpoint.py
index 7038f1b0..7aa7ebfc 100644
--- a/web-server/opendc/api/v2/simulations/simulationId/test_endpoint.py
+++ b/web-server/opendc/api/v2/simulations/simulationId/test_endpoint.py
@@ -110,7 +110,8 @@ def test_delete_simulation(client, mocker):
'simulationId': '1',
'authorizationLevel': 'OWN'
}],
- 'topologyIds': []
+ 'topologyIds': [],
+ 'experimentIds': [],
})
mocker.patch.object(DB, 'delete_one', return_value={'googleId': 'test'})
res = client.delete('/api/v2/simulations/1')
diff --git a/web-server/opendc/api/v2/simulations/simulationId/topologies/endpoint.py b/web-server/opendc/api/v2/simulations/simulationId/topologies/endpoint.py
index ab7b7006..0ad7e4bf 100644
--- a/web-server/opendc/api/v2/simulations/simulationId/topologies/endpoint.py
+++ b/web-server/opendc/api/v2/simulations/simulationId/topologies/endpoint.py
@@ -2,7 +2,6 @@ from datetime import datetime
from opendc.models.simulation import Simulation
from opendc.models.topology import Topology
-from opendc.util import exceptions
from opendc.util.rest import Response
from opendc.util.database import Database