Skip to content

Commit 952b04f

Browse files
committed
test(haos): cover in-app response transforms
1 parent da51639 commit 952b04f

1 file changed

Lines changed: 14 additions & 15 deletions

File tree

tests/src/e2e/haos_only/test_manage_addon_modes.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -446,23 +446,22 @@ async def test_array_patch_empty_operations_returns_validation_error(
446446

447447

448448
async def test_python_transform_filters_http_response(mcp_client: Any) -> None:
449-
"""`python_transform` runs after a successful Node-RED HTTP response."""
450-
if is_haos_inaddon_mode():
451-
pytest.skip(
452-
"In-app servers cannot mint Core-only ingress sessions; "
453-
"the in-app HTTP route is covered by the direct-port probe"
454-
)
449+
"""`python_transform` runs after a successful Node-RED HTTP response.
450+
451+
The in-app tier uses Node-RED's baked-open direct port because an app cannot
452+
mint the Core-only session required by HA Ingress.
453+
"""
455454
slug = await _resolve_slug(mcp_client, NODERED_NAME)
455+
request: dict[str, Any] = {
456+
"slug": slug,
457+
"path": "/",
458+
"method": "GET",
459+
"python_transform": 'response = {"trimmed": True}',
460+
}
461+
if is_haos_inaddon_mode():
462+
request.update(path="/flows", port=1880)
456463
async with MCPAssertions(mcp_client) as mcp:
457-
payload = await mcp.call_tool_success(
458-
"ha_manage_app",
459-
{
460-
"slug": slug,
461-
"path": "/",
462-
"method": "GET",
463-
"python_transform": 'response = {"trimmed": True}',
464-
},
465-
)
464+
payload = await mcp.call_tool_success("ha_manage_app", request)
466465
assert payload.get("response") == {"trimmed": True}, payload
467466

468467

0 commit comments

Comments
 (0)