|
1 | 1 | import json |
| 2 | +from uuid import uuid4 |
| 3 | + |
2 | 4 | import pytest |
3 | 5 |
|
4 | 6 |
|
@@ -33,3 +35,39 @@ def create_asset(asset_type, asset): |
33 | 35 |
|
34 | 36 | assert response.status_code == 201, f"status code {response.status_code} not 201. Data: {response.get_data()}" |
35 | 37 | assert response.json == expected |
| 38 | + |
| 39 | +@pytest.mark.django_db |
| 40 | +def test_pass_task_run_search(test_client, simple_task_stack, simple_pass, simple_pass2, |
| 41 | + simple_sat, simple_gs, simple_task_run, some_uuid, another_uuid, yet_another_uuid): |
| 42 | + def create_asset(asset_type, asset): |
| 43 | + asset_hwid = asset["hwid"] |
| 44 | + response = test_client.put( |
| 45 | + f"/api/v0/{asset_type}s/{asset_hwid}/", json=asset) |
| 46 | + |
| 47 | + diff_uuid = uuid4() |
| 48 | + |
| 49 | + create_asset('satellite', simple_sat) |
| 50 | + create_asset('groundstation', simple_gs) |
| 51 | + response = test_client.put(f'/api/v0/passes/{some_uuid}/', json=simple_pass) |
| 52 | + assert response.status_code == 201, f"status code {response.status_code} not 201. Data: {response.get_data()}" |
| 53 | + |
| 54 | + response = test_client.put(f'/api/v0/passes/{diff_uuid}/', json=simple_pass2) |
| 55 | + assert response.status_code == 201, f"status code {response.status_code} not 201. Data: {response.get_data()}" |
| 56 | + |
| 57 | + |
| 58 | + response = test_client.put(f'/api/v0/task-stacks/{yet_another_uuid}/', json=simple_task_stack) |
| 59 | + assert response.status_code == 201, f"status code {response.status_code} not 201. Data: {response.get_data()}" |
| 60 | + |
| 61 | + simple_task_run['task_stack'] = yet_another_uuid |
| 62 | + # Create a task_run |
| 63 | + response = test_client.put(f"/api/v0/passes/{some_uuid}/task-runs/{another_uuid}/", json=simple_task_run) |
| 64 | + assert response.status_code == 201, response.get_data() |
| 65 | + |
| 66 | + response = test_client.get(f'/api/v0/passes/{some_uuid}/task-runs/') |
| 67 | + assert response.status_code == 200, response.get_data() |
| 68 | + assert response.json != [] |
| 69 | + |
| 70 | + response = test_client.get(f'/api/v0/passes/{diff_uuid}/task-runs/') |
| 71 | + assert response.status_code == 200, response.get_data() |
| 72 | + assert response.json == [] |
| 73 | + |
0 commit comments