Skip to content

Commit 96e67a5

Browse files
committed
drafting tests
1 parent 57260b0 commit 96e67a5

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

services/api-server/src/simcore_service_api_server/_service_solvers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
from models_library.services_history import ServiceRelease
1515
from models_library.users import UserID
1616
from packaging.version import Version
17-
from simcore_service_api_server.models.schemas.jobs import Job
1817

18+
from .api.dependencies.webserver_rpc import get_wb_api_rpc_client
19+
from .models.schemas.jobs import Job
1920
from .models.schemas.solvers import Solver, SolverKeyId
2021
from .services_rpc.catalog import CatalogService
2122
from .services_rpc.wb_api_server import WbApiRpcClient
@@ -30,7 +31,7 @@ class SolverService:
3031
def __init__(
3132
self,
3233
catalog_service: Annotated[CatalogService, Depends()],
33-
webserver_client: Annotated[WbApiRpcClient, Depends()],
34+
webserver_client: Annotated[WbApiRpcClient, Depends(get_wb_api_rpc_client)],
3435
):
3536
self._catalog_service = catalog_service
3637
self._webserver_client = webserver_client
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# pylint: disable=protected-access
2+
# pylint: disable=redefined-outer-name
3+
# pylint: disable=unused-argument
4+
# pylint: disable=unused-variable
5+
6+
import pytest
7+
from models_library.products import ProductName
8+
from models_library.users import UserID
9+
from pytest_mock import MockerFixture, MockType
10+
from simcore_service_api_server._service_solvers import SolverService
11+
from simcore_service_api_server.models.schemas.solvers import Solver
12+
from simcore_service_api_server.services_rpc.catalog import CatalogService
13+
from simcore_service_api_server.services_rpc.wb_api_server import WbApiRpcClient
14+
15+
16+
@pytest.fixture
17+
def solver_service(
18+
mocker: MockerFixture,
19+
mocked_rpc_catalog_service_api: dict[str, MockType],
20+
) -> SolverService:
21+
return SolverService(
22+
catalog_service=CatalogService(client=mocker.MagicMock()),
23+
webserver_client=WbApiRpcClient(_client=mocker.MagicMock()),
24+
)
25+
26+
27+
async def test_get_solver(
28+
solver_service: SolverService,
29+
mocked_rpc_catalog_service_api: dict[str, MockType],
30+
product_name: ProductName,
31+
user_id: UserID,
32+
):
33+
solver = await solver_service.get_solver(
34+
user_id=user_id,
35+
name="simcore/services/comp/solver-1",
36+
version="1.0.0",
37+
product_name=product_name,
38+
)
39+
40+
assert isinstance(solver, Solver)
41+
mocked_rpc_catalog_service_api["get_service"].assert_called_once()

0 commit comments

Comments
 (0)