Skip to content

Commit 4664a49

Browse files
committed
refactor: rename mocked_rpc_client to mocked_rabbit_rpc_client for clarity
1 parent 89d98e2 commit 4664a49

File tree

5 files changed

+49
-41
lines changed

5 files changed

+49
-41
lines changed

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

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async def catalog_rpc_side_effect():
3434

3535

3636
@pytest.fixture
37-
def mocked_rpc_client(mocker: MockerFixture) -> MockType:
37+
def mocked_rabbit_rpc_client(mocker: MockerFixture) -> MockType:
3838
"""This fixture mocks the RabbitMQRPCClient.request method which is used
3939
in all RPC clients in the api-server, regardeless of the namespace.
4040
"""
@@ -62,6 +62,7 @@ async def _request(
6262

6363
pytest.fail(f"Unexpected namespace {namespace} and method {method_name}")
6464

65+
# NOTE: mocks RabbitMQRPCClient.request(...)
6566
mock = mocker.MagicMock(spec=RabbitMQRPCClient)
6667
mock.request.side_effect = _request
6768

@@ -70,31 +71,34 @@ async def _request(
7071

7172
@pytest.fixture
7273
def wb_api_rpc_client(
73-
mocked_rpc_client: MockType,
74-
mocker: MockerFixture,
74+
mocked_rabbit_rpc_client: MockType,
7575
) -> WbApiRpcClient:
7676
from servicelib.rabbitmq.rpc_interfaces.webserver.v1 import WebServerRpcClient
7777

7878
return WbApiRpcClient(
79-
_client=mocked_rpc_client, _rpc_client=mocker.MagicMock(spec=WebServerRpcClient)
79+
_rpc_client=WebServerRpcClient(
80+
mocked_rabbit_rpc_client, WEBSERVER_RPC_NAMESPACE
81+
),
8082
)
8183

8284

8385
@pytest.fixture
8486
def director_v2_rpc_client(
85-
mocked_rpc_client: MockType,
87+
mocked_rabbit_rpc_client: MockType,
8688
) -> DirectorV2Service:
87-
return DirectorV2Service(_rpc_client=mocked_rpc_client)
89+
return DirectorV2Service(_rpc_client=mocked_rabbit_rpc_client)
8890

8991

9092
@pytest.fixture
9193
def storage_rpc_client(
92-
mocked_rpc_client: MockType,
94+
mocked_rabbit_rpc_client: MockType,
9395
user_id: UserID,
9496
product_name: ProductName,
9597
) -> StorageService:
9698
return StorageService(
97-
_rpc_client=mocked_rpc_client, _user_id=user_id, _product_name=product_name
99+
_rpc_client=mocked_rabbit_rpc_client,
100+
_user_id=user_id,
101+
_product_name=product_name,
98102
)
99103

100104

@@ -129,12 +133,12 @@ def storage_rest_client(
129133

130134
@pytest.fixture
131135
def catalog_service(
132-
mocked_rpc_client: MockType,
136+
mocked_rabbit_rpc_client: MockType,
133137
product_name: ProductName,
134138
user_id: UserID,
135139
) -> CatalogService:
136140
return CatalogService(
137-
_rpc_client=mocked_rpc_client, user_id=user_id, product_name=product_name
141+
_rpc_client=mocked_rabbit_rpc_client, user_id=user_id, product_name=product_name
138142
)
139143

140144

services/api-server/tests/unit/service/test_service_catalog.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def _to_solver_schema(
3131
async def test_catalog_service_read_solvers(
3232
product_name: ProductName,
3333
user_id: UserID,
34-
mocked_rpc_client: MockType,
34+
mocked_rabbit_rpc_client: MockType,
3535
catalog_service: CatalogService,
3636
):
3737
# Step 1: List latest releases in a page
@@ -72,20 +72,20 @@ async def test_catalog_service_read_solvers(
7272
assert any(port.kind == "output" for port in ports), "Should contain output ports"
7373

7474
# checks calls to rpc
75-
assert mocked_rpc_client.request.call_count == 4
76-
assert mocked_rpc_client.request.call_args_list[0].args == (
75+
assert mocked_rabbit_rpc_client.request.call_count == 4
76+
assert mocked_rabbit_rpc_client.request.call_args_list[0].args == (
7777
"catalog",
7878
"list_services_paginated",
7979
)
80-
assert mocked_rpc_client.request.call_args_list[1].args == (
80+
assert mocked_rabbit_rpc_client.request.call_args_list[1].args == (
8181
"catalog",
8282
"list_my_service_history_latest_first",
8383
)
84-
assert mocked_rpc_client.request.call_args_list[2].args == (
84+
assert mocked_rabbit_rpc_client.request.call_args_list[2].args == (
8585
"catalog",
8686
"get_service",
8787
)
88-
assert mocked_rpc_client.request.call_args_list[3].args == (
88+
assert mocked_rabbit_rpc_client.request.call_args_list[3].args == (
8989
"catalog",
9090
"get_service_ports",
9191
)

services/api-server/tests/unit/service/test_service_jobs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
async def test_list_jobs_by_resource_prefix(
18-
mocked_rpc_client: MockType,
18+
mocked_rabbit_rpc_client: MockType,
1919
job_service: JobService,
2020
):
2121
# Test with default pagination parameters
@@ -26,7 +26,7 @@ async def test_list_jobs_by_resource_prefix(
2626
assert isinstance(jobs, list)
2727

2828
assert len(jobs) == page_meta.count
29-
assert mocked_rpc_client.request.call_args.args == (
29+
assert mocked_rabbit_rpc_client.request.call_args.args == (
3030
"webserver",
3131
"list_projects_marked_as_jobs",
3232
)
@@ -38,7 +38,7 @@ async def test_list_jobs_by_resource_prefix(
3838

3939

4040
async def test_create_job(
41-
mocked_rpc_client: MockType,
41+
mocked_rabbit_rpc_client: MockType,
4242
job_service: JobService,
4343
):
4444
# Create mock solver and inputs
@@ -81,7 +81,7 @@ def mock_url_for(*args, **kwargs):
8181
assert "test-solver" in job.name
8282

8383
# Verify API calls
84-
assert mocked_rpc_client.request.call_args.args == (
84+
assert mocked_rabbit_rpc_client.request.call_args.args == (
8585
"webserver",
8686
"mark_project_as_job",
8787
)

services/api-server/tests/unit/service/test_service_solvers.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
async def test_get_solver(
30-
mocked_rpc_client: MockType,
30+
mocked_rabbit_rpc_client: MockType,
3131
solver_service: SolverService,
3232
product_name: ProductName,
3333
user_id: UserID,
@@ -40,12 +40,12 @@ async def test_get_solver(
4040
assert isinstance(solver, Solver)
4141
assert solver.id == "simcore/services/comp/solver-1"
4242

43-
assert mocked_rpc_client.request.called
44-
assert mocked_rpc_client.request.call_args.args == ("catalog", "get_service")
43+
assert mocked_rabbit_rpc_client.request.called
44+
assert mocked_rabbit_rpc_client.request.call_args.args == ("catalog", "get_service")
4545

4646

4747
async def test_list_jobs(
48-
mocked_rpc_client: MockType,
48+
mocked_rabbit_rpc_client: MockType,
4949
job_service: JobService,
5050
):
5151
# Test default parameters
@@ -54,7 +54,7 @@ async def test_list_jobs(
5454
assert jobs
5555
assert len(jobs) == page_meta.count
5656

57-
assert mocked_rpc_client.request.call_args.args == (
57+
assert mocked_rabbit_rpc_client.request.call_args.args == (
5858
"webserver",
5959
"list_projects_marked_as_jobs",
6060
)
@@ -66,7 +66,7 @@ async def test_list_jobs(
6666

6767

6868
async def test_solver_service_init_raises_configuration_error(
69-
mocked_rpc_client: MockType,
69+
mocked_rabbit_rpc_client: MockType,
7070
job_service: JobService,
7171
catalog_service: CatalogService,
7272
user_id: UserID,
@@ -81,11 +81,11 @@ async def test_solver_service_init_raises_configuration_error(
8181
product_name=invalid_product_name,
8282
)
8383
# Verify the RPC call was made to check consistency
84-
assert not mocked_rpc_client.request.called
84+
assert not mocked_rabbit_rpc_client.request.called
8585

8686

8787
async def test_job_service_get_job_success(
88-
mocked_rpc_client: MockType,
88+
mocked_rabbit_rpc_client: MockType,
8989
job_service: JobService,
9090
):
9191
job_parent_resource_name = "solver-resource"
@@ -97,16 +97,16 @@ async def test_job_service_get_job_success(
9797
# Assert
9898
assert isinstance(result, ProjectJobRpcGet)
9999
assert result.job_parent_resource_name.startswith(job_parent_resource_name)
100-
assert mocked_rpc_client.request.called
101-
assert mocked_rpc_client.request.call_args.args == (
100+
assert mocked_rabbit_rpc_client.request.called
101+
assert mocked_rabbit_rpc_client.request.call_args.args == (
102102
"webserver",
103103
"get_project_marked_as_job",
104104
)
105105
assert (
106-
mocked_rpc_client.request.call_args.kwargs["job_parent_resource_name"]
106+
mocked_rabbit_rpc_client.request.call_args.kwargs["job_parent_resource_name"]
107107
== job_parent_resource_name
108108
)
109-
assert mocked_rpc_client.request.call_args.kwargs["project_uuid"] == job_id
109+
assert mocked_rabbit_rpc_client.request.call_args.kwargs["project_uuid"] == job_id
110110

111111

112112
@pytest.mark.parametrize(

services/api-server/tests/unit/service/test_service_studies.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99

1010

1111
async def test_list_jobs_no_study_id(
12-
mocked_rpc_client: MockType, job_service: JobService
12+
mocked_rabbit_rpc_client: MockType, job_service: JobService
1313
):
1414
# Test with default parameters
1515
jobs, page_meta = await job_service.list_study_jobs()
1616

1717
assert isinstance(jobs, list)
18-
assert mocked_rpc_client.request.call_args.args == (
18+
assert mocked_rabbit_rpc_client.request.call_args.args == (
1919
"webserver",
2020
"list_projects_marked_as_jobs",
2121
)
@@ -27,19 +27,21 @@ async def test_list_jobs_no_study_id(
2727

2828
# Verify proper prefix was used
2929
assert (
30-
mocked_rpc_client.request.call_args.kwargs[
30+
mocked_rabbit_rpc_client.request.call_args.kwargs[
3131
"filters"
3232
].job_parent_resource_name_prefix
3333
== "study"
3434
)
3535

3636
# Check pagination parameters were passed correctly
37-
assert mocked_rpc_client.request.call_args.kwargs["offset"] == page_meta.offset
38-
assert mocked_rpc_client.request.call_args.kwargs["limit"] == page_meta.limit
37+
assert (
38+
mocked_rabbit_rpc_client.request.call_args.kwargs["offset"] == page_meta.offset
39+
)
40+
assert mocked_rabbit_rpc_client.request.call_args.kwargs["limit"] == page_meta.limit
3941

4042

4143
async def test_list_jobs_with_study_id(
42-
mocked_rpc_client: MockType,
44+
mocked_rabbit_rpc_client: MockType,
4345
job_service: JobService,
4446
):
4547
# Test with a specific study ID
@@ -50,12 +52,14 @@ async def test_list_jobs_with_study_id(
5052

5153
# Verify proper prefix was used with study ID
5254
assert (
53-
mocked_rpc_client.request.call_args.kwargs[
55+
mocked_rabbit_rpc_client.request.call_args.kwargs[
5456
"filters"
5557
].job_parent_resource_name_prefix
5658
== f"study/{study_id}"
5759
)
5860

5961
# Check pagination parameters were passed correctly
60-
assert mocked_rpc_client.request.call_args.kwargs["offset"] == page_meta.offset
61-
assert mocked_rpc_client.request.call_args.kwargs["limit"] == page_meta.limit
62+
assert (
63+
mocked_rabbit_rpc_client.request.call_args.kwargs["offset"] == page_meta.offset
64+
)
65+
assert mocked_rabbit_rpc_client.request.call_args.kwargs["limit"] == page_meta.limit

0 commit comments

Comments
 (0)