Skip to content

Commit 73a094f

Browse files
add unit test
1 parent d332491 commit 73a094f

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

services/web/server/tests/unit/with_dbs/01/test_director_v2_handlers.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,31 @@ def mock_rpc_list_computations_latest_iteration_tasks(
151151
)
152152

153153

154+
@pytest.fixture
155+
def mock_rpc_list_computation_iterations(
156+
mocker: MockerFixture,
157+
user_project: ProjectDict,
158+
) -> ComputationRunRpcGetPage:
159+
project_uuid = user_project["uuid"]
160+
example_1 = ComputationRunRpcGet.model_config["json_schema_extra"]["examples"][0]
161+
example_1["project_uuid"] = project_uuid
162+
example_2 = ComputationRunRpcGet.model_config["json_schema_extra"]["examples"][0]
163+
example_2["project_uuid"] = project_uuid
164+
example_2["iteration"] = 2
165+
166+
return mocker.patch(
167+
"simcore_service_webserver.director_v2._computations_service.computations.list_computations_iterations_page",
168+
spec=True,
169+
return_value=ComputationRunRpcGetPage(
170+
items=[
171+
ComputationRunRpcGet.model_validate(example_1),
172+
ComputationRunRpcGet.model_validate(example_2),
173+
],
174+
total=2,
175+
),
176+
)
177+
178+
154179
@pytest.fixture
155180
def mock_rpc_list_computations_latest_iteration_tasks_page(
156181
mocker: MockerFixture,
@@ -180,6 +205,7 @@ async def test_list_computations_latest_iteration(
180205
expected: ExpectedResponse,
181206
mock_rpc_list_computations_latest_iteration_tasks: None,
182207
mock_rpc_list_computations_latest_iteration_tasks_page: None,
208+
mock_rpc_list_computation_iterations: None,
183209
):
184210
assert client.app
185211
url = client.app.router["list_computations_latest_iteration"].url_for()
@@ -191,6 +217,19 @@ async def test_list_computations_latest_iteration(
191217
assert ComputationRunRestGet.model_validate(data[0])
192218
assert data[0]["rootProjectName"] == user_project["name"]
193219

220+
url = client.app.router["list_computation_iterations"].url_for(
221+
project_id=f"{user_project['uuid']}"
222+
)
223+
resp = await client.get(f"{url}")
224+
data, _ = await assert_status(
225+
resp, status.HTTP_200_OK if user_role == UserRole.GUEST else expected.ok
226+
)
227+
if user_role != UserRole.ANONYMOUS:
228+
assert ComputationRunRestGet.model_validate(data[0])
229+
assert len(data) == 2
230+
assert data[0]["rootProjectName"] == user_project["name"]
231+
assert data[1]["rootProjectName"] == user_project["name"]
232+
194233
url = client.app.router["list_computations_latest_iteration_tasks"].url_for(
195234
project_id=f"{user_project['uuid']}"
196235
)

0 commit comments

Comments
 (0)