Skip to content

Commit d14c8e5

Browse files
committed
Fix task-run search returning all task-runs.
1 parent 46bcfdb commit d14c8e5

3 files changed

Lines changed: 49 additions & 1 deletion

File tree

missioncontrol/tests/conftest.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,16 @@ def simple_pass(simple_sat, simple_gs):
113113
"end_time": "2018-11-25T01:00:00.000000Z",
114114
}
115115

116+
@pytest.fixture
117+
def simple_pass2(simple_sat, simple_gs):
118+
return {
119+
"uuid": "9f6236cc-6bce-4e78-b8fa-8de758c20d74",
120+
"satellite": simple_sat["hwid"],
121+
"groundstation": simple_gs["hwid"],
122+
"start_time": "2019-11-25T00:00:00.000000Z",
123+
"end_time": "2019-11-25T01:00:00.000000Z",
124+
}
125+
116126
@pytest.fixture
117127
def simple_task_run(simple_pass, simple_task_stack):
118128
return {

missioncontrol/tests/test_pass_task_run.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import json
2+
from uuid import uuid4
3+
24
import pytest
35

46

@@ -33,3 +35,39 @@ def create_asset(asset_type, asset):
3335

3436
assert response.status_code == 201, f"status code {response.status_code} not 201. Data: {response.get_data()}"
3537
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+

missioncontrol/v0/pass_task_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
def search(pass_uuid=None):
7-
return [x.to_dict() for x in TaskRun.objects.all()]
7+
return [x.to_dict() for x in TaskRun.objects.filter(task_pass=pass_uuid)]
88

99
def get(pass_uuid=None, uuid=None):
1010
result = TaskRun.objects.get(uuid=uuid, task_pass=pass_uuid)

0 commit comments

Comments
 (0)