diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-06-25 18:35:53 +0200 |
|---|---|---|
| committer | Georgios Andreadis <info@gandreadis.com> | 2020-06-25 18:35:53 +0200 |
| commit | 00597ec99f587557b88b9982a2c41a2cb8db8112 (patch) | |
| tree | b5a535951db7e0b99887ae6456e3410404982449 /opendc/api/v2/simulations/simulationId/test_endpoint.py | |
| parent | 4c272a01f38aba268dd8b8aa17dae4c9f56b087f (diff) | |
Add simulation put path
Diffstat (limited to 'opendc/api/v2/simulations/simulationId/test_endpoint.py')
| -rw-r--r-- | opendc/api/v2/simulations/simulationId/test_endpoint.py | 59 |
1 files changed, 57 insertions, 2 deletions
diff --git a/opendc/api/v2/simulations/simulationId/test_endpoint.py b/opendc/api/v2/simulations/simulationId/test_endpoint.py index cf4b375a..ad53fcaa 100644 --- a/opendc/api/v2/simulations/simulationId/test_endpoint.py +++ b/opendc/api/v2/simulations/simulationId/test_endpoint.py @@ -13,12 +13,67 @@ def test_get_simulation_no_authorizations(client, mocker): def test_get_simulation_not_authorized(client, mocker): - mocker.patch.object(DB, 'fetch_one', return_value={'authorizations': [{'simulationId': '2', 'authorizationLevel': 'OWN'}]}) + mocker.patch.object(DB, + 'fetch_one', + return_value={ + '_id': '1', + 'authorizations': [{ + 'simulationId': '2', + 'authorizationLevel': 'OWN' + }] + }) res = client.get('/api/v2/simulations/1') assert '403' in res.status def test_get_simulation(client, mocker): - mocker.patch.object(DB, 'fetch_one', return_value={'authorizations': [{'simulationId': '1', 'authorizationLevel': 'EDIT'}]}) + mocker.patch.object(DB, + 'fetch_one', + return_value={ + '_id': '1', + 'authorizations': [{ + 'simulationId': '1', + 'authorizationLevel': 'EDIT' + }] + }) res = client.get('/api/v2/simulations/1') assert '200' in res.status + + +def test_update_simulation_missing_parameter(client): + assert '400' in client.put('/api/v2/simulations/1').status + + +def test_update_simulation_non_existing(client, mocker): + mocker.patch.object(DB, 'fetch_one', return_value=None) + assert '404' in client.put('/api/v2/simulations/1', json={'simulation': {'name': 'S'}}).status + + +def test_update_simulation_not_authorized(client, mocker): + mocker.patch.object(DB, + 'fetch_one', + return_value={ + '_id': '1', + 'authorizations': [{ + 'simulationId': '1', + 'authorizationLevel': 'VIEW' + }] + }) + mocker.patch.object(DB, 'update', return_value={}) + assert '403' in client.put('/api/v2/simulations/1', json={'simulation': {'name': 'S'}}).status + + +def test_update_simulation(client, mocker): + mocker.patch.object(DB, + 'fetch_one', + return_value={ + '_id': '1', + 'authorizations': [{ + 'simulationId': '1', + 'authorizationLevel': 'OWN' + }] + }) + mocker.patch.object(DB, 'update', return_value={}) + + res = client.put('/api/v2/simulations/1', json={'simulation': {'name': 'S'}}) + assert '200' in res.status |
