diff --git a/homeassistant/components/cloud/subscription.py b/homeassistant/components/cloud/subscription.py index 9ee154dbff4..72cf02c8c13 100644 --- a/homeassistant/components/cloud/subscription.py +++ b/homeassistant/components/cloud/subscription.py @@ -23,7 +23,11 @@ async def async_subscription_info(cloud: Cloud[CloudClient]) -> SubscriptionInfo return await cloud.payments.subscription_info() except PaymentsApiError as exception: _LOGGER.error("Failed to fetch subscription information - %s", exception) - + except TimeoutError: + _LOGGER.error( + "A timeout of %s was reached while trying to fetch subscription information", + REQUEST_TIMEOUT, + ) return None diff --git a/tests/components/cloud/test_subscription.py b/tests/components/cloud/test_subscription.py index c34ca1bc871..74c86a55d73 100644 --- a/tests/components/cloud/test_subscription.py +++ b/tests/components/cloud/test_subscription.py @@ -29,19 +29,34 @@ async def mocked_cloud_object(hass: HomeAssistant) -> Cloud: ) -async def test_fetching_subscription_with_timeout_error( +async def test_fetching_subscription_with_api_error( aioclient_mock: AiohttpClientMocker, caplog: pytest.LogCaptureFixture, mocked_cloud: Cloud, ) -> None: """Test that we handle timeout error.""" mocked_cloud.payments.subscription_info.side_effect = payments_api.PaymentsApiError( - "Timeout reached while calling API" + "There was an error with the API" ) assert await async_subscription_info(mocked_cloud) is None assert ( - "Failed to fetch subscription information - Timeout reached while calling API" + "Failed to fetch subscription information - There was an error with the API" + in caplog.text + ) + + +async def test_fetching_subscription_with_timeout_error( + aioclient_mock: AiohttpClientMocker, + caplog: pytest.LogCaptureFixture, + mocked_cloud: Cloud, +) -> None: + """Test that we handle timeout error.""" + mocked_cloud.payments.subscription_info.side_effect = TimeoutError() + + assert await async_subscription_info(mocked_cloud) is None + assert ( + "A timeout of 10 was reached while trying to fetch subscription information" in caplog.text )