Skip to content

Commit 1780b42

Browse files
committed
Refactor WbApiRpcClient setup and update test fixtures
- Moved the creation of WbApiRpcClient to a separate function `_create_obj` for better modularity. - Updated the `setup` function to utilize the new `_create_obj` function. - Renamed mock variables in tests from `mock_*` to `fake_*` for clarity and consistency. - Adjusted test cases to use the new naming convention and updated references to the mock objects accordingly. - Simplified the mock setup for WbApiRpcClient in `conftest.py` to directly use the new setup method.
1 parent 4664a49 commit 1780b42

File tree

7 files changed

+202
-198
lines changed

7 files changed

+202
-198
lines changed

services/api-server/src/simcore_service_api_server/services_rpc/wb_api_server.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -661,14 +661,18 @@ async def get_functions_user_api_access_rights(
661661
)
662662

663663

664-
def setup(app: FastAPI, rabbitmq_rpc_client: RabbitMQRPCClient):
664+
def _create_obj(app: FastAPI, rabbitmq_rpc_client: RabbitMQRPCClient):
665665
webserver_settings: WebServerSettings = app.state.settings.API_SERVER_WEBSERVER
666666
if not webserver_settings:
667667
raise ConfigurationError(tip="Webserver settings are not configured")
668668

669-
wb_api_rpc_client = WbApiRpcClient(
669+
return WbApiRpcClient(
670670
_rpc_client=WebServerRpcClient(
671671
rabbitmq_rpc_client, webserver_settings.WEBSERVER_RPC_NAMESPACE
672672
),
673673
)
674+
675+
676+
def setup(app: FastAPI, rabbitmq_rpc_client: RabbitMQRPCClient):
677+
wb_api_rpc_client = _create_obj(app, rabbitmq_rpc_client)
674678
wb_api_rpc_client.set_to_app_state(app=app)

services/api-server/tests/unit/api_functions/celery/test_functions_celery.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ async def test_with_fake_run_function(
168168
mock_handler_in_functions_rpc_interface: Callable[
169169
[str, Any, Exception | None, Callable | None], None
170170
],
171-
mock_registered_project_function: RegisteredProjectFunction,
172-
mock_registered_project_function_job: RegisteredFunctionJob,
171+
fake_registered_project_function: RegisteredProjectFunction,
172+
fake_registered_project_function_job: RegisteredFunctionJob,
173173
user_id: UserID,
174174
):
175175

@@ -214,11 +214,11 @@ async def test_with_fake_run_function(
214214
None,
215215
)
216216
mock_handler_in_functions_rpc_interface(
217-
"get_function", mock_registered_project_function, None, None
217+
"get_function", fake_registered_project_function, None, None
218218
)
219219
mock_handler_in_functions_rpc_interface("find_cached_function_jobs", [], None, None)
220220
mock_handler_in_functions_rpc_interface(
221-
"register_function_job", mock_registered_project_function_job, None, None
221+
"register_function_job", fake_registered_project_function_job, None, None
222222
)
223223

224224
mock_handler_in_functions_rpc_interface(
@@ -227,7 +227,7 @@ async def test_with_fake_run_function(
227227
None,
228228
partial(
229229
_patch_registered_function_job_side_effect,
230-
mock_registered_project_function_job,
230+
fake_registered_project_function_job,
231231
),
232232
)
233233

@@ -319,8 +319,8 @@ async def test_run_project_function_parent_info(
319319
mock_handler_in_functions_rpc_interface: Callable[
320320
[str, Any, Exception | None, Callable | None], None
321321
],
322-
mock_registered_project_function: RegisteredProjectFunction,
323-
mock_registered_project_function_job: RegisteredFunctionJob,
322+
fake_registered_project_function: RegisteredProjectFunction,
323+
fake_registered_project_function_job: RegisteredFunctionJob,
324324
auth: httpx.BasicAuth,
325325
user_id: UserID,
326326
mocked_webserver_rest_api_base: respx.MockRouter,
@@ -367,11 +367,11 @@ def _default_side_effect(
367367
None,
368368
)
369369
mock_handler_in_functions_rpc_interface(
370-
"get_function", mock_registered_project_function, None, None
370+
"get_function", fake_registered_project_function, None, None
371371
)
372372
mock_handler_in_functions_rpc_interface("find_cached_function_jobs", [], None, None)
373373
mock_handler_in_functions_rpc_interface(
374-
"register_function_job", mock_registered_project_function_job, None, None
374+
"register_function_job", fake_registered_project_function_job, None, None
375375
)
376376
mock_handler_in_functions_rpc_interface(
377377
"get_functions_user_api_access_rights",
@@ -390,7 +390,7 @@ def _default_side_effect(
390390
None,
391391
partial(
392392
_patch_registered_function_job_side_effect,
393-
mock_registered_project_function_job,
393+
fake_registered_project_function_job,
394394
),
395395
)
396396

@@ -401,7 +401,7 @@ def _default_side_effect(
401401
headers[X_SIMCORE_PARENT_NODE_ID] = parent_node_uuid
402402

403403
response = await client.post(
404-
f"{API_VTAG}/functions/{mock_registered_project_function.uid}:run",
404+
f"{API_VTAG}/functions/{fake_registered_project_function.uid}:run",
405405
json={},
406406
auth=auth,
407407
headers=headers,
@@ -435,8 +435,8 @@ async def test_map_function_parent_info(
435435
mock_handler_in_functions_rpc_interface: Callable[
436436
[str, Any, Exception | None, Callable | None], MockType
437437
],
438-
mock_registered_project_function: RegisteredProjectFunction,
439-
mock_registered_project_function_job: RegisteredFunctionJob,
438+
fake_registered_project_function: RegisteredProjectFunction,
439+
fake_registered_project_function_job: RegisteredFunctionJob,
440440
auth: httpx.BasicAuth,
441441
user_id: UserID,
442442
mocked_webserver_rest_api_base: respx.MockRouter,
@@ -488,11 +488,11 @@ def _default_side_effect(
488488
None,
489489
)
490490
mock_handler_in_functions_rpc_interface(
491-
"get_function", mock_registered_project_function, None, None
491+
"get_function", fake_registered_project_function, None, None
492492
)
493493
mock_handler_in_functions_rpc_interface("find_cached_function_jobs", [], None, None)
494494
mock_handler_in_functions_rpc_interface(
495-
"register_function_job", mock_registered_project_function_job, None, None
495+
"register_function_job", fake_registered_project_function_job, None, None
496496
)
497497
mock_handler_in_functions_rpc_interface(
498498
"get_functions_user_api_access_rights",
@@ -524,7 +524,7 @@ def _default_side_effect(
524524
None,
525525
partial(
526526
_patch_registered_function_job_side_effect,
527-
mock_registered_project_function_job,
527+
fake_registered_project_function_job,
528528
),
529529
)
530530

@@ -535,7 +535,7 @@ def _default_side_effect(
535535
headers[X_SIMCORE_PARENT_NODE_ID] = parent_node_uuid
536536

537537
response = await client.post(
538-
f"{API_VTAG}/functions/{mock_registered_project_function.uid}:map",
538+
f"{API_VTAG}/functions/{fake_registered_project_function.uid}:map",
539539
json=[{}, {}],
540540
auth=auth,
541541
headers=headers,
@@ -559,8 +559,8 @@ async def test_map_function(
559559
mock_handler_in_functions_rpc_interface: Callable[
560560
[str, Any, Exception | None, Callable | None], MockType
561561
],
562-
mock_registered_project_function: RegisteredProjectFunction,
563-
mock_registered_project_function_job: RegisteredFunctionJob,
562+
fake_registered_project_function: RegisteredProjectFunction,
563+
fake_registered_project_function_job: RegisteredFunctionJob,
564564
auth: httpx.BasicAuth,
565565
user_id: UserID,
566566
mocked_webserver_rest_api_base: respx.MockRouter,
@@ -598,7 +598,7 @@ def _default_side_effect(
598598
None,
599599
)
600600
mock_handler_in_functions_rpc_interface(
601-
"get_function", mock_registered_project_function, None, None
601+
"get_function", fake_registered_project_function, None, None
602602
)
603603
mock_handler_in_functions_rpc_interface("find_cached_function_jobs", [], None, None)
604604

@@ -609,7 +609,7 @@ async def _register_function_job_side_effect(
609609
):
610610
uid = FunctionJobID(_faker.uuid4())
611611
generated_function_job_ids.append(uid)
612-
return mock_registered_project_function_job.model_copy(update={"uid": uid})
612+
return fake_registered_project_function_job.model_copy(update={"uid": uid})
613613

614614
mock_handler_in_functions_rpc_interface(
615615
"register_function_job",
@@ -652,14 +652,14 @@ async def _register_function_job_collection_side_effect(*args, **kwargs):
652652
None,
653653
partial(
654654
_patch_registered_function_job_side_effect,
655-
mock_registered_project_function_job,
655+
fake_registered_project_function_job,
656656
),
657657
)
658658

659659
# act
660660
_inputs = [{}, {}]
661661
response = await client.post(
662-
f"{API_VTAG}/functions/{mock_registered_project_function.uid}:map",
662+
f"{API_VTAG}/functions/{fake_registered_project_function.uid}:map",
663663
json=_inputs,
664664
auth=auth,
665665
headers={

0 commit comments

Comments
 (0)