diff --git a/homeassistant/components/roborock/config_flow.py b/homeassistant/components/roborock/config_flow.py index e5f449d4984..80b90210bf3 100644 --- a/homeassistant/components/roborock/config_flow.py +++ b/homeassistant/components/roborock/config_flow.py @@ -129,7 +129,7 @@ class RoborockFlowHandler(ConfigFlow, domain=DOMAIN): reauth_entry, data_updates={CONF_USER_DATA: user_data.as_dict()} ) self._abort_if_unique_id_configured(error="already_configured_account") - return self._create_entry(self._client, self._username, user_data) + return await self._create_entry(self._client, self._username, user_data) return self.async_show_form( step_id="code", @@ -176,7 +176,7 @@ class RoborockFlowHandler(ConfigFlow, domain=DOMAIN): return await self.async_step_code() return self.async_show_form(step_id="reauth_confirm", errors=errors) - def _create_entry( + async def _create_entry( self, client: RoborockApiClient, username: str, user_data: UserData ) -> ConfigFlowResult: """Finished config flow and create entry.""" @@ -185,7 +185,7 @@ class RoborockFlowHandler(ConfigFlow, domain=DOMAIN): data={ CONF_USERNAME: username, CONF_USER_DATA: user_data.as_dict(), - CONF_BASE_URL: client.base_url, + CONF_BASE_URL: await client.base_url, }, ) diff --git a/homeassistant/components/roborock/manifest.json b/homeassistant/components/roborock/manifest.json index e6bf46e2202..9339f70576b 100644 --- a/homeassistant/components/roborock/manifest.json +++ b/homeassistant/components/roborock/manifest.json @@ -19,7 +19,7 @@ "loggers": ["roborock"], "quality_scale": "silver", "requirements": [ - "python-roborock==2.49.1", + "python-roborock==2.50.2", "vacuum-map-parser-roborock==0.1.4" ] } diff --git a/requirements_all.txt b/requirements_all.txt index cefc93148c8..66db3f255a4 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2550,7 +2550,7 @@ python-rabbitair==0.0.8 python-ripple-api==0.0.3 # homeassistant.components.roborock -python-roborock==2.49.1 +python-roborock==2.50.2 # homeassistant.components.smarttub python-smarttub==0.0.44 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 431a13462d0..a21f6af01e7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2120,7 +2120,7 @@ python-pooldose==0.5.0 python-rabbitair==0.0.8 # homeassistant.components.roborock -python-roborock==2.49.1 +python-roborock==2.50.2 # homeassistant.components.smarttub python-smarttub==0.0.44 diff --git a/tests/components/roborock/conftest.py b/tests/components/roborock/conftest.py index e4731c6e9f2..ea569399ace 100644 --- a/tests/components/roborock/conftest.py +++ b/tests/components/roborock/conftest.py @@ -1,11 +1,12 @@ """Global fixtures for Roborock integration.""" +import asyncio from collections.abc import Generator from copy import deepcopy import pathlib import tempfile from typing import Any -from unittest.mock import Mock, patch +from unittest.mock import Mock, PropertyMock, patch import pytest from roborock import RoborockCategory, RoomMapping @@ -70,6 +71,9 @@ class A01Mock(RoborockMqttClientA01): @pytest.fixture(name="bypass_api_client_fixture") def bypass_api_client_fixture() -> None: """Skip calls to the API client.""" + base_url_future = asyncio.Future() + base_url_future.set_result(BASE_URL) + with ( patch( "homeassistant.components.roborock.RoborockApiClient.get_home_data_v3", @@ -82,6 +86,11 @@ def bypass_api_client_fixture() -> None: patch( "homeassistant.components.roborock.coordinator.RoborockLocalClientV1.load_multi_map" ), + patch( + "homeassistant.components.roborock.config_flow.RoborockApiClient.base_url", + new_callable=PropertyMock, + return_value=base_url_future, + ), ): yield diff --git a/tests/components/roborock/mock_data.py b/tests/components/roborock/mock_data.py index cf4f167ef7f..1495dcb686c 100644 --- a/tests/components/roborock/mock_data.py +++ b/tests/components/roborock/mock_data.py @@ -61,7 +61,7 @@ USER_DATA = UserData.from_dict( MOCK_CONFIG = { CONF_USERNAME: USER_EMAIL, CONF_USER_DATA: USER_DATA.as_dict(), - CONF_BASE_URL: None, + CONF_BASE_URL: BASE_URL, } HOME_DATA_RAW = { diff --git a/tests/components/roborock/snapshots/test_diagnostics.ambr b/tests/components/roborock/snapshots/test_diagnostics.ambr index ed1c37f6fa2..bf7fbfaadc3 100644 --- a/tests/components/roborock/snapshots/test_diagnostics.ambr +++ b/tests/components/roborock/snapshots/test_diagnostics.ambr @@ -216,9 +216,9 @@ 'squareMeterCleanArea': 1159.2, }), 'consumable': dict({ - 'cleaningBrushTimeLeft': 1079935, + 'cleaningBrushTimeLeft': 235, 'cleaningBrushWorkTimes': 65, - 'dustCollectionTimeLeft': 80975, + 'dustCollectionTimeLeft': 65, 'dustCollectionWorkTimes': 25, 'filterElementWorkTime': 0, 'filterTimeLeft': 465618, @@ -229,7 +229,7 @@ 'sensorTimeLeft': 33618, 'sideBrushTimeLeft': 645618, 'sideBrushWorkTime': 74382, - 'strainerTimeLeft': 539935, + 'strainerTimeLeft': 85, 'strainerWorkTimes': 65, }), 'lastCleanRecord': dict({ @@ -501,9 +501,9 @@ 'squareMeterCleanArea': 1159.2, }), 'consumable': dict({ - 'cleaningBrushTimeLeft': 1079935, + 'cleaningBrushTimeLeft': 235, 'cleaningBrushWorkTimes': 65, - 'dustCollectionTimeLeft': 80975, + 'dustCollectionTimeLeft': 65, 'dustCollectionWorkTimes': 25, 'filterElementWorkTime': 0, 'filterTimeLeft': 465618, @@ -514,7 +514,7 @@ 'sensorTimeLeft': 33618, 'sideBrushTimeLeft': 645618, 'sideBrushWorkTime': 74382, - 'strainerTimeLeft': 539935, + 'strainerTimeLeft': 85, 'strainerWorkTimes': 65, }), 'lastCleanRecord': dict({