Skip to content

Commit bf53766

Browse files
author
Andrei Neagu
committed
added missing test
1 parent a4b8d99 commit bf53766

File tree

2 files changed

+44
-10
lines changed

2 files changed

+44
-10
lines changed

services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/director_v2/_thin_client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ async def post_dynamic_service(
8686
follow_redirects=True,
8787
)
8888

89-
@retry_on_errors()
90-
@expect_status(status.HTTP_200_OK)
9189
async def delete_dynamic_service(
9290
self,
9391
*,

services/dynamic-scheduler/tests/unit/api_rpc/test_api_rpc__services.py

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
from faker import Faker
1010
from fastapi import FastAPI, status
1111
from fastapi.encoders import jsonable_encoder
12-
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
12+
from models_library.api_schemas_directorv2.dynamic_services import (
13+
DynamicServiceGet,
14+
RetrieveDataOutEnveloped,
15+
)
1316
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
1417
DynamicServiceStart,
1518
DynamicServiceStop,
@@ -55,14 +58,14 @@ def node_not_found(faker: Faker) -> NodeID:
5558
@pytest.fixture
5659
def service_status_new_style() -> DynamicServiceGet:
5760
return TypeAdapter(DynamicServiceGet).validate_python(
58-
DynamicServiceGet.model_config["json_schema_extra"]["examples"][1]
61+
DynamicServiceGet.model_json_schema()["examples"][1]
5962
)
6063

6164

6265
@pytest.fixture
6366
def service_status_legacy() -> NodeGet:
6467
return TypeAdapter(NodeGet).validate_python(
65-
NodeGet.model_config["json_schema_extra"]["examples"][1]
68+
NodeGet.model_json_schema()["examples"][1]
6669
)
6770

6871

@@ -112,9 +115,7 @@ def mock_director_v2_service_state(
112115
mock.get("/dynamic_services").respond(
113116
status.HTTP_200_OK,
114117
text=json.dumps(
115-
jsonable_encoder(
116-
DynamicServiceGet.model_config["json_schema_extra"]["examples"]
117-
)
118+
jsonable_encoder(DynamicServiceGet.model_json_schema()["examples"])
118119
),
119120
)
120121

@@ -193,7 +194,7 @@ async def test_list_tracked_dynamic_services(rpc_client: RabbitMQRPCClient):
193194
assert len(results) == 2
194195
assert results == [
195196
TypeAdapter(DynamicServiceGet).validate_python(x)
196-
for x in DynamicServiceGet.model_config["json_schema_extra"]["examples"]
197+
for x in DynamicServiceGet.model_json_schema()["examples"]
197198
]
198199

199200

@@ -223,7 +224,7 @@ async def test_get_state(
223224
def dynamic_service_start() -> DynamicServiceStart:
224225
# one for legacy and one for new style?
225226
return TypeAdapter(DynamicServiceStart).validate_python(
226-
DynamicServiceStart.model_config["json_schema_extra"]["example"]
227+
DynamicServiceStart.model_json_schema()["example"]
227228
)
228229

229230

@@ -490,3 +491,38 @@ async def test_stop_dynamic_service_serializes_generic_errors(
490491
),
491492
timeout_s=5,
492493
)
494+
495+
496+
@pytest.fixture
497+
def mock_director_v2_service_retrieve_inputs(node_id: NodeID) -> Iterator[None]:
498+
with respx.mock(
499+
base_url="http://director-v2:8000/v2",
500+
assert_all_called=False,
501+
assert_all_mocked=True, # IMPORTANT: KEEP always True!
502+
) as mock:
503+
request_ok = mock.post(f"/dynamic_services/{node_id}:retrieve")
504+
505+
request_ok.respond(
506+
status.HTTP_200_OK,
507+
text=TypeAdapter(RetrieveDataOutEnveloped)
508+
.validate_python(
509+
RetrieveDataOutEnveloped.model_json_schema()["examples"][0]
510+
)
511+
.model_dump_json(),
512+
)
513+
514+
yield None
515+
516+
517+
async def test_retrieve_inputs(
518+
mock_director_v2_service_retrieve_inputs: None,
519+
rpc_client: RabbitMQRPCClient,
520+
node_id: NodeID,
521+
):
522+
results = await services.retrieve_inputs(
523+
rpc_client, node_id=node_id, port_keys=[], timeout_s=10
524+
)
525+
assert (
526+
results.model_dump(mode="python")
527+
== RetrieveDataOutEnveloped.model_json_schema()["examples"][0]
528+
)

0 commit comments

Comments
 (0)