Skip to content

Commit e6e332c

Browse files
committed
fixing tests by moving fixture
1 parent d1a1c2b commit e6e332c

File tree

3 files changed

+46
-43
lines changed

3 files changed

+46
-43
lines changed

services/api-server/tests/unit/api_solvers/conftest.py

-32
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,8 @@
1313
from fastapi import FastAPI, status
1414
from fastapi.encoders import jsonable_encoder
1515
from models_library.projects_state import RunningState
16-
from pytest_mock import MockerFixture, MockType
1716
from pytest_simcore.helpers import faker_catalog
18-
from pytest_simcore.helpers.webserver_rpc_server import WebserverRpcSideEffects
1917
from respx import MockRouter
20-
from servicelib.rabbitmq._client_rpc import RabbitMQRPCClient
2118
from simcore_service_api_server.core.settings import ApplicationSettings
2219
from simcore_service_api_server.services_http.director_v2 import ComputationTaskGet
2320

@@ -46,35 +43,6 @@ def mocked_webserver_rest_api(
4643
return mocked_webserver_rest_api_base
4744

4845

49-
@pytest.fixture
50-
def mocked_webserver_rpc_api(
51-
app: FastAPI, mocker: MockerFixture
52-
) -> dict[str, MockType]:
53-
from servicelib.rabbitmq.rpc_interfaces.webserver import projects as projects_rpc
54-
from simcore_service_api_server.services_rpc import wb_api_server
55-
56-
# NOTE: mock_missing_plugins patches `setup_rabbitmq`
57-
try:
58-
wb_api_server.WbApiRpcClient.get_from_app_state(app)
59-
except AttributeError:
60-
wb_api_server.setup(
61-
app, RabbitMQRPCClient("fake_rpc_client", settings=mocker.MagicMock())
62-
)
63-
64-
settings: ApplicationSettings = app.state.settings
65-
assert settings.API_SERVER_WEBSERVER
66-
67-
side_effects = WebserverRpcSideEffects()
68-
69-
return {
70-
"mark_project_as_job": mocker.patch.object(
71-
projects_rpc,
72-
"mark_project_as_job",
73-
side_effects.mark_project_as_job,
74-
),
75-
}
76-
77-
7846
@pytest.fixture
7947
def mocked_catalog_rest_api(
8048
app: FastAPI,

services/api-server/tests/unit/api_studies/test_api_routes_studies_jobs.py

+14-10
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
CreateRespxMockCallback,
2020
HttpApiCallCaptureModel,
2121
)
22-
from respx import MockRouter
2322
from servicelib.common_headers import (
2423
X_SIMCORE_PARENT_NODE_ID,
2524
X_SIMCORE_PARENT_PROJECT_UUID,
@@ -123,8 +122,9 @@ async def test_studies_jobs_workflow(
123122

124123
async def test_start_stop_delete_study_job(
125124
client: httpx.AsyncClient,
126-
mocked_webserver_rest_api_base,
127-
mocked_directorv2_rest_api_base,
125+
mocked_webserver_rest_api_base: respx.MockRouter,
126+
mocked_webserver_rpc_api: dict[str, MockType],
127+
mocked_directorv2_rest_api_base: respx.MockRouter,
128128
create_respx_mock_from_capture: CreateRespxMockCallback,
129129
auth: httpx.BasicAuth,
130130
project_tests_dir: Path,
@@ -202,8 +202,9 @@ def _check_response(response: httpx.Response, status_code: int):
202202
@pytest.mark.parametrize("hidden", [True, False])
203203
async def test_create_study_job(
204204
client: httpx.AsyncClient,
205-
mocked_webserver_rest_api_base,
206-
mocked_directorv2_rest_api_base,
205+
mocked_webserver_rest_api_base: respx.MockRouter,
206+
mocked_webserver_rpc_api: dict[str, MockType],
207+
mocked_directorv2_rest_api_base: respx.MockRouter,
207208
create_respx_mock_from_capture: CreateRespxMockCallback,
208209
auth: httpx.BasicAuth,
209210
project_tests_dir: Path,
@@ -281,7 +282,8 @@ async def test_get_study_job_outputs(
281282
client: httpx.AsyncClient,
282283
fake_study_id: UUID,
283284
auth: httpx.BasicAuth,
284-
mocked_webserver_rest_api_base: MockRouter,
285+
mocked_webserver_rest_api_base: respx.MockRouter,
286+
mocked_webserver_rpc_api: dict[str, MockType],
285287
):
286288
job_id = "cfe9a77a-f71e-11ee-8fca-0242ac140008"
287289

@@ -338,8 +340,9 @@ async def test_get_study_job_outputs(
338340

339341
async def test_get_job_logs(
340342
client: httpx.AsyncClient,
341-
mocked_webserver_rest_api_base,
342-
mocked_directorv2_rest_api_base,
343+
mocked_webserver_rest_api_base: respx.MockRouter,
344+
mocked_webserver_rpc_api: dict[str, MockType],
345+
mocked_directorv2_rest_api_base: respx.MockRouter,
343346
create_respx_mock_from_capture: CreateRespxMockCallback,
344347
auth: httpx.BasicAuth,
345348
project_tests_dir: Path,
@@ -365,8 +368,9 @@ async def test_get_job_logs(
365368
async def test_get_study_outputs(
366369
client: httpx.AsyncClient,
367370
create_respx_mock_from_capture: CreateRespxMockCallback,
368-
mocked_directorv2_rest_api_base,
369-
mocked_webserver_rest_api_base,
371+
mocked_webserver_rest_api_base: respx.MockRouter,
372+
mocked_webserver_rpc_api: dict[str, MockType],
373+
mocked_directorv2_rest_api_base: respx.MockRouter,
370374
auth: httpx.BasicAuth,
371375
project_tests_dir: Path,
372376
):

services/api-server/tests/unit/conftest.py

+32-1
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,14 @@
3737
from moto.server import ThreadedMotoServer
3838
from packaging.version import Version
3939
from pydantic import EmailStr, HttpUrl, TypeAdapter
40-
from pytest_mock import MockerFixture
40+
from pytest_mock import MockerFixture, MockType
4141
from pytest_simcore.helpers.host import get_localhost_ip
4242
from pytest_simcore.helpers.monkeypatch_envs import EnvVarsDict, setenvs_from_dict
43+
from pytest_simcore.helpers.webserver_rpc_server import WebserverRpcSideEffects
4344
from pytest_simcore.simcore_webserver_projects_rest_api import GET_PROJECT
4445
from requests.auth import HTTPBasicAuth
4546
from respx import MockRouter
47+
from servicelib.rabbitmq._client_rpc import RabbitMQRPCClient
4648
from simcore_service_api_server.core.application import init_app
4749
from simcore_service_api_server.core.settings import ApplicationSettings
4850
from simcore_service_api_server.db.repositories.api_keys import UserAndProductTuple
@@ -332,6 +334,35 @@ def mocked_webserver_rest_api_base(
332334
yield respx_mock
333335

334336

337+
@pytest.fixture
338+
def mocked_webserver_rpc_api(
339+
app: FastAPI, mocker: MockerFixture
340+
) -> dict[str, MockType]:
341+
from servicelib.rabbitmq.rpc_interfaces.webserver import projects as projects_rpc
342+
from simcore_service_api_server.services_rpc import wb_api_server
343+
344+
# NOTE: mock_missing_plugins patches `setup_rabbitmq`
345+
try:
346+
wb_api_server.WbApiRpcClient.get_from_app_state(app)
347+
except AttributeError:
348+
wb_api_server.setup(
349+
app, RabbitMQRPCClient("fake_rpc_client", settings=mocker.MagicMock())
350+
)
351+
352+
settings: ApplicationSettings = app.state.settings
353+
assert settings.API_SERVER_WEBSERVER
354+
355+
side_effects = WebserverRpcSideEffects()
356+
357+
return {
358+
"mark_project_as_job": mocker.patch.object(
359+
projects_rpc,
360+
"mark_project_as_job",
361+
side_effects.mark_project_as_job,
362+
),
363+
}
364+
365+
335366
@pytest.fixture
336367
def mocked_storage_rest_api_base(
337368
app: FastAPI,

0 commit comments

Comments
 (0)