summaryrefslogtreecommitdiff
path: root/opendc/api
diff options
context:
space:
mode:
authorjc0b <j@jc0b.computer>2020-06-26 11:50:05 +0200
committerjc0b <j@jc0b.computer>2020-06-26 11:50:05 +0200
commit8ab2604d6ea2aa1efb9582f919d59dcdd0b8ea78 (patch)
treea1166970cf1180bbda6ca59b1c2ef91175f32fc6 /opendc/api
parentb4af0b06bd5a77fa3b008a78d0552aac1d344a2b (diff)
Moved topologies POST to simulations
Diffstat (limited to 'opendc/api')
-rw-r--r--opendc/api/v2/paths.json2
-rw-r--r--opendc/api/v2/simulations/simulationId/topologies/__init__.py0
-rw-r--r--opendc/api/v2/simulations/simulationId/topologies/endpoint.py (renamed from opendc/api/v2/topologies/endpoint.py)2
-rw-r--r--opendc/api/v2/simulations/simulationId/topologies/test_endpoint.py (renamed from opendc/api/v2/topologies/test_endpoint.py)16
4 files changed, 10 insertions, 10 deletions
diff --git a/opendc/api/v2/paths.json b/opendc/api/v2/paths.json
index 3348c7cd..ce054a8c 100644
--- a/opendc/api/v2/paths.json
+++ b/opendc/api/v2/paths.json
@@ -4,12 +4,12 @@
"/simulations",
"/simulations/{simulationId}",
"/simulations/{simulationId}/authorizations",
+ "/simulations/{simulationId}/topologies",
"/experiments/{experimentId}/last-simulated-tick",
"/experiments/{experimentId}/machine-states",
"/experiments/{experimentId}/rack-states",
"/experiments/{experimentId}/room-states",
"/experiments/{experimentId}/task-states",
- "/topologies",
"/topologies/{topologyId}",
"/simulations/{simulationId}/experiments",
"/experiments/{experimentId}",
diff --git a/opendc/api/v2/simulations/simulationId/topologies/__init__.py b/opendc/api/v2/simulations/simulationId/topologies/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v2/simulations/simulationId/topologies/__init__.py
diff --git a/opendc/api/v2/topologies/endpoint.py b/opendc/api/v2/simulations/simulationId/topologies/endpoint.py
index be4c5382..4104c4dd 100644
--- a/opendc/api/v2/topologies/endpoint.py
+++ b/opendc/api/v2/simulations/simulationId/topologies/endpoint.py
@@ -19,7 +19,7 @@ def POST(request):
# Instantiate a Topology object from our request, and add some metadata
- topology = Topology({'topology': request.params_body['topology']})
+ topology = Topology({'name': request.params_body['topology']['name']})
topology.set_property('datetimeCreated', Database.datetime_to_string(datetime.now()))
topology.set_property('datetimeLastEdited', Database.datetime_to_string(datetime.now()))
topology.insert()
diff --git a/opendc/api/v2/topologies/test_endpoint.py b/opendc/api/v2/simulations/simulationId/topologies/test_endpoint.py
index 283aac67..67973268 100644
--- a/opendc/api/v2/topologies/test_endpoint.py
+++ b/opendc/api/v2/simulations/simulationId/topologies/test_endpoint.py
@@ -1,23 +1,23 @@
from opendc.util.database import DB
-'''
-POST /topologies
-'''
-def test_add_topology_missing_parameter(client):
- assert '400' in client.post('/api/v2/topologies').status
+def test_add_simulation_missing_parameter(client):
+ assert '400' in client.post('/api/v2/simulations/1/topologies/').status
-def test_add_topology(client, mocker):
+
+def test_add_simulation(client, mocker):
mocker.patch.object(DB, 'fetch_one', return_value={'_id': '1', 'authorizations': []})
mocker.patch.object(DB,
'insert',
return_value={
'_id': '1',
'datetimeCreated': '000',
- 'datetimeEdit': '000'
+ 'datetimeEdit': '000',
+ 'topologyIds': []
})
mocker.patch.object(DB, 'update', return_value={})
- res = client.post('/api/v2/topologies', json={'topology': {'name': 'test topology'}})
+ res = client.post('/api/v2/simulations/1/topologies/', json={'simulation': {'name': 'test simulation'}})
assert 'datetimeCreated' in res.json['content']
assert 'datetimeEdit' in res.json['content']
+ assert 'topologyIds' in res.json['content']
assert '200' in res.status