From d23660fe4b88e51cf55c0deb9fa4ee842a7e6eec Mon Sep 17 00:00:00 2001 From: Richard Kroegel <42204099+rikroe@users.noreply.github.com> Date: Sun, 4 Aug 2024 09:16:49 +0200 Subject: [PATCH] Ignore check for vehicle finder remote service (#643) --- .pre-commit-config.yaml | 6 +++--- bimmer_connected/tests/test_remote_services.py | 8 +++++++- bimmer_connected/vehicle/remote_services.py | 5 +++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7da8f1c2..855bcdb1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,12 @@ repos: - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: v0.5.5 + rev: v0.5.6 hooks: - id: ruff args: - --fix - repo: https://github.com/psf/black - rev: 24.4.2 + rev: 24.8.0 hooks: - id: black args: @@ -24,7 +24,7 @@ repos: exclude_types: [csv, json] exclude: ^test/responses/ - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.11.0 + rev: v1.11.1 hooks: - id: mypy name: mypy diff --git a/bimmer_connected/tests/test_remote_services.py b/bimmer_connected/tests/test_remote_services.py index 494931b8..7f563b3a 100644 --- a/bimmer_connected/tests/test_remote_services.py +++ b/bimmer_connected/tests/test_remote_services.py @@ -256,10 +256,16 @@ async def test_vehicles_without_enabled_services(bmw_fixture: respx.Router): vehicle.update_state({"capabilities": {}}) for service in ALL_SERVICES.values(): - with pytest.raises(ValueError): + # Vehicle finder always works, even if API capabilities say different + if service["call"] == "trigger_remote_vehicle_finder": await getattr(vehicle.remote_services, service["call"])( # type: ignore[call-overload] *service.get("args", []), **service.get("kwargs", {}) ) + else: + with pytest.raises(ValueError): + await getattr(vehicle.remote_services, service["call"])( # type: ignore[call-overload] + *service.get("args", []), **service.get("kwargs", {}) + ) @pytest.mark.asyncio diff --git a/bimmer_connected/vehicle/remote_services.py b/bimmer_connected/vehicle/remote_services.py index 604691a2..8a3e5e31 100644 --- a/bimmer_connected/vehicle/remote_services.py +++ b/bimmer_connected/vehicle/remote_services.py @@ -313,8 +313,9 @@ async def trigger_send_poi(self, poi: Union[PointOfInterest, Dict]) -> RemoteSer async def trigger_remote_vehicle_finder(self) -> RemoteServiceStatus: """Trigger the vehicle finder.""" - if not self._vehicle.is_vehicle_tracking_enabled: - raise ValueError(f"Vehicle does not support remote service '{Services.VEHICLE_FINDER.value}'.") + # Even if the API reports this as False, calling the service still works + # if not self._vehicle.is_vehicle_tracking_enabled: + # raise ValueError(f"Vehicle does not support remote service '{Services.VEHICLE_FINDER.value}'.") status = await self.trigger_remote_service(Services.VEHICLE_FINDER) result = await self._get_event_position(status.event_id)