From da0d65ca5bda76d373499b674b87ee5574a035bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 12 May 2025 18:59:38 +0200 Subject: [PATCH] Log instead of ValueError for missing cloud translation key (#144732) * Log instead of ValueError for missing translation key * Update homeassistant/components/cloud/client.py --- homeassistant/components/cloud/client.py | 7 ++++++- tests/components/cloud/test_client.py | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/cloud/client.py b/homeassistant/components/cloud/client.py index 916bac4f73d..d413a447bd7 100644 --- a/homeassistant/components/cloud/client.py +++ b/homeassistant/components/cloud/client.py @@ -404,7 +404,12 @@ class CloudClient(Interface): ) -> None: """Create a repair issue.""" if translation_key not in VALID_REPAIR_TRANSLATION_KEYS: - raise ValueError(f"Invalid translation key {translation_key}") + _LOGGER.error( + "Invalid translation key %s for repair issue %s", + translation_key, + identifier, + ) + return async_create_issue( hass=self._hass, domain=DOMAIN, diff --git a/tests/components/cloud/test_client.py b/tests/components/cloud/test_client.py index 14fcbbd5e5b..283e2ff39f1 100644 --- a/tests/components/cloud/test_client.py +++ b/tests/components/cloud/test_client.py @@ -482,19 +482,20 @@ async def test_async_create_repair_issue_unknown( cloud: MagicMock, mock_cloud_setup: None, issue_registry: ir.IssueRegistry, + caplog: pytest.LogCaptureFixture, ) -> None: """Test not creating repair issue for unknown repairs.""" identifier = "abc123" - with pytest.raises( - ValueError, - match="Invalid translation key unknown_translation_key", - ): - await cloud.client.async_create_repair_issue( - identifier=identifier, - translation_key="unknown_translation_key", - placeholders={"custom_domains": "example.com"}, - severity="error", - ) + await cloud.client.async_create_repair_issue( + identifier=identifier, + translation_key="unknown_translation_key", + placeholders={"custom_domains": "example.com"}, + severity="error", + ) + assert ( + "Invalid translation key unknown_translation_key for repair issue abc123" + in caplog.text + ) issue = issue_registry.async_get_issue(domain=DOMAIN, issue_id=identifier) assert issue is None