@@ -242,6 +242,37 @@ def mocked_s3_server_url() -> Iterator[HttpUrl]:
242242## MOCKED res/web APIs from simcore services ------------------------------------------
243243
244244
245+ @pytest .fixture
246+ def mocked_app_dependencies (app : FastAPI , mocker : MockerFixture ) -> Iterator [None ]:
247+ """
248+ Mocks some dependency overrides for the FastAPI app.
249+ """
250+ assert app .state .settings .API_SERVER_RABBITMQ is None
251+
252+ from simcore_service_api_server .api .dependencies .rabbitmq import (
253+ get_rabbitmq_rpc_client ,
254+ )
255+ from simcore_service_api_server .api .dependencies .webserver_rpc import (
256+ get_wb_api_rpc_client ,
257+ )
258+
259+ def _get_rabbitmq_rpc_client_override ():
260+ return mocker .MagicMock ()
261+
262+ async def _get_wb_api_rpc_client_override ():
263+ return mocker .AsyncMock ()
264+
265+ app .dependency_overrides [get_rabbitmq_rpc_client ] = (
266+ _get_rabbitmq_rpc_client_override
267+ )
268+ app .dependency_overrides [get_wb_api_rpc_client ] = _get_wb_api_rpc_client_override
269+
270+ yield
271+
272+ app .dependency_overrides .pop (get_wb_api_rpc_client , None )
273+ app .dependency_overrides .pop (get_rabbitmq_rpc_client , None )
274+
275+
245276@pytest .fixture
246277def directorv2_service_openapi_specs (
247278 osparc_simcore_services_dir : Path ,
@@ -352,33 +383,6 @@ def mocked_webserver_rest_api_base(
352383 yield respx_mock
353384
354385
355- @pytest .fixture
356- def mocked_webserver_rpc_api (mocker : MockerFixture ) -> dict [str , MockType ]:
357- """
358- Mocks the webserver's simcore service RPC API for testing purposes.
359- """
360- from servicelib .rabbitmq .rpc_interfaces .webserver import (
361- projects as projects_rpc , # keep import here
362- )
363-
364- side_effects = WebserverRpcSideEffects ()
365-
366- return {
367- "mark_project_as_job" : mocker .patch .object (
368- projects_rpc ,
369- "mark_project_as_job" ,
370- autospec = True ,
371- side_effect = side_effects .mark_project_as_job ,
372- ),
373- "list_projects_marked_as_jobs" : mocker .patch .object (
374- projects_rpc ,
375- "list_projects_marked_as_jobs" ,
376- autospec = True ,
377- side_effect = side_effects .list_projects_marked_as_jobs ,
378- ),
379- }
380-
381-
382386@pytest .fixture
383387def mocked_storage_rest_api_base (
384388 app : FastAPI ,
@@ -473,32 +477,32 @@ def mocked_catalog_rest_api_base(
473477
474478
475479@pytest .fixture
476- def mocked_app_dependencies (app : FastAPI , mocker : MockerFixture ) -> Iterator [None ]:
480+ def mocked_webserver_rpc_api (
481+ mocked_app_dependencies : None , mocker : MockerFixture
482+ ) -> dict [str , MockType ]:
477483 """
478- Mocks some dependency overrides for the FastAPI app .
484+ Mocks the webserver's simcore service RPC API for testing purposes .
479485 """
480- from simcore_service_api_server .api .dependencies .rabbitmq import (
481- get_rabbitmq_rpc_client ,
482- )
483- from simcore_service_api_server .api .dependencies .webserver_rpc import (
484- get_wb_api_rpc_client ,
485- )
486-
487- def _get_rabbitmq_rpc_client_override (app : FastAPI ):
488- return mocker .MagicMock ()
489-
490- async def _get_wb_api_rpc_client_override (app : FastAPI ):
491- return mocker .MagicMock ()
492-
493- app .dependency_overrides [get_rabbitmq_rpc_client ] = (
494- _get_rabbitmq_rpc_client_override
486+ from servicelib .rabbitmq .rpc_interfaces .webserver import (
487+ projects as projects_rpc , # keep import here
495488 )
496- app .dependency_overrides [get_wb_api_rpc_client ] = _get_wb_api_rpc_client_override
497489
498- yield
490+ side_effects = WebserverRpcSideEffects ()
499491
500- app .dependency_overrides .pop (get_wb_api_rpc_client , None )
501- app .dependency_overrides .pop (get_rabbitmq_rpc_client , None )
492+ return {
493+ "mark_project_as_job" : mocker .patch .object (
494+ projects_rpc ,
495+ "mark_project_as_job" ,
496+ autospec = True ,
497+ side_effect = side_effects .mark_project_as_job ,
498+ ),
499+ "list_projects_marked_as_jobs" : mocker .patch .object (
500+ projects_rpc ,
501+ "list_projects_marked_as_jobs" ,
502+ autospec = True ,
503+ side_effect = side_effects .list_projects_marked_as_jobs ,
504+ ),
505+ }
502506
503507
504508@pytest .fixture
0 commit comments