@@ -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
155180def 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