Skip to content

Commit f98a96d

Browse files
author
Andrei Neagu
committed
added 404 test
1 parent 10dafbd commit f98a96d

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/api/frontend/routes/_service.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ async def service_details(node_id: NodeID):
8888
return
8989

9090
scheduler_internals = service_model.model_dump(mode="json")
91-
service_status = scheduler_internals.pop("service_status", "null")
92-
service_status = json.loads("null" if service_status == "" else service_status)
91+
service_status = scheduler_internals.pop("service_status", "{}")
92+
service_status = json.loads("{}" if service_status == "" else service_status)
9393
dynamic_service_start = scheduler_internals.pop("dynamic_service_start")
9494

9595
ui.markdown("**Service Status**")

services/dynamic-scheduler/tests/unit/api_frontend/helpers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222

2323
@asynccontextmanager
24-
async def _take_screenshot_on_error(
24+
async def take_screenshot_on_error(
2525
async_page: Page,
2626
) -> AsyncIterator[None]:
2727
try:
@@ -41,7 +41,7 @@ async def _get_locator(
4141
instances: NonNegativeInt | None,
4242
timeout: float, # noqa: ASYNC109
4343
) -> Locator:
44-
async with _take_screenshot_on_error(async_page):
44+
async with take_screenshot_on_error(async_page):
4545
async for attempt in AsyncRetrying(
4646
reraise=True, wait=wait_fixed(0.1), stop=stop_after_delay(timeout)
4747
):
@@ -81,7 +81,7 @@ async def assert_not_contains_text(
8181
text: str,
8282
timeout: float = _DEFAULT_TIMEOUT, # noqa: ASYNC109
8383
) -> None:
84-
async with _take_screenshot_on_error(async_page):
84+
async with take_screenshot_on_error(async_page):
8585
async for attempt in AsyncRetrying(
8686
reraise=True, wait=wait_fixed(0.1), stop=stop_after_delay(timeout)
8787
):

services/dynamic-scheduler/tests/unit/api_frontend/test_api_frontend_routes_service.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ async def test_service_details_no_status_present(
6161
await assert_contains_text(async_page, "Remove from tracking", instances=1)
6262

6363

64+
async def test_service_details_renders_friendly_404(
65+
app_runner: None, async_page: Page, server_host_port: str, node_id: NodeID
66+
):
67+
# node was not started
68+
await async_page.goto(f"{server_host_port}/service/{node_id}:details")
69+
await assert_contains_text(async_page, "Sorry could not find any details for")
70+
71+
6472
@pytest.mark.parametrize(
6573
"service_status",
6674
[

0 commit comments

Comments
 (0)