From aa67b46f6faaa243b216137c24f09f9bd1624f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 29 Oct 2025 16:02:05 +0100 Subject: [PATCH] Ensure api_server is defined in dev (#155422) Co-authored-by: Robert Resch --- homeassistant/components/cloud/__init__.py | 47 +++++++++++++--------- tests/components/cloud/test_http_api.py | 1 + tests/components/cloud/test_init.py | 1 + 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/cloud/__init__.py b/homeassistant/components/cloud/__init__.py index 18bfc27913d..c11680e487f 100644 --- a/homeassistant/components/cloud/__init__.py +++ b/homeassistant/components/cloud/__init__.py @@ -115,26 +115,37 @@ GACTIONS_SCHEMA = ASSISTANT_SCHEMA.extend( {vol.Optional(CONF_ENTITY_CONFIG): {cv.entity_id: GOOGLE_ENTITY_SCHEMA}} ) +_BASE_CONFIG_SCHEMA = vol.Schema( + { + vol.Optional(CONF_COGNITO_CLIENT_ID): str, + vol.Optional(CONF_USER_POOL_ID): str, + vol.Optional(CONF_REGION): str, + vol.Optional(CONF_ALEXA): ALEXA_SCHEMA, + vol.Optional(CONF_GOOGLE_ACTIONS): GACTIONS_SCHEMA, + vol.Optional(CONF_ACCOUNT_LINK_SERVER): str, + vol.Optional(CONF_ACCOUNTS_SERVER): str, + vol.Optional(CONF_ACME_SERVER): str, + vol.Optional(CONF_API_SERVER): str, + vol.Optional(CONF_RELAYER_SERVER): str, + vol.Optional(CONF_REMOTESTATE_SERVER): str, + vol.Optional(CONF_SERVICEHANDLERS_SERVER): str, + } +) + CONFIG_SCHEMA = vol.Schema( { - DOMAIN: vol.Schema( - { - vol.Optional(CONF_MODE, default=DEFAULT_MODE): vol.In( - [MODE_DEV, MODE_PROD] - ), - vol.Optional(CONF_COGNITO_CLIENT_ID): str, - vol.Optional(CONF_USER_POOL_ID): str, - vol.Optional(CONF_REGION): str, - vol.Optional(CONF_ALEXA): ALEXA_SCHEMA, - vol.Optional(CONF_GOOGLE_ACTIONS): GACTIONS_SCHEMA, - vol.Optional(CONF_ACCOUNT_LINK_SERVER): str, - vol.Optional(CONF_ACCOUNTS_SERVER): str, - vol.Optional(CONF_ACME_SERVER): str, - vol.Optional(CONF_API_SERVER): str, - vol.Optional(CONF_RELAYER_SERVER): str, - vol.Optional(CONF_REMOTESTATE_SERVER): str, - vol.Optional(CONF_SERVICEHANDLERS_SERVER): str, - } + DOMAIN: vol.Any( + _BASE_CONFIG_SCHEMA.extend( + { + vol.Required(CONF_MODE): vol.In([MODE_DEV]), + vol.Required(CONF_API_SERVER): str, + } + ), + _BASE_CONFIG_SCHEMA.extend( + { + vol.Optional(CONF_MODE, default=DEFAULT_MODE): vol.In([MODE_PROD]), + } + ), ) }, extra=vol.ALLOW_EXTRA, diff --git a/tests/components/cloud/test_http_api.py b/tests/components/cloud/test_http_api.py index 9d91619016d..149a70406a7 100644 --- a/tests/components/cloud/test_http_api.py +++ b/tests/components/cloud/test_http_api.py @@ -128,6 +128,7 @@ async def setup_cloud_fixture(hass: HomeAssistant, cloud: MagicMock) -> None: "region": "region", "relayer_server": "relayer", "acme_server": "cert-server", + "api_server": "api-test.example.com", "accounts_server": "api-test.hass.io", "google_actions": {"filter": {"include_domains": "light"}}, "alexa": { diff --git a/tests/components/cloud/test_init.py b/tests/components/cloud/test_init.py index 5e2880694d4..a665b4328b7 100644 --- a/tests/components/cloud/test_init.py +++ b/tests/components/cloud/test_init.py @@ -141,6 +141,7 @@ async def test_setup_existing_cloud_user( "user_pool_id": "test-user_pool_id", "region": "test-region", "relayer_server": "test-relayer-serer", + "api_server": "test-api-server", }, }, )