Skip to content

Commit b2ac700

Browse files
committed
Fix stale fuzz tests after refactoring
- Remove fuzz_quota_manager.py (quota.py deleted in e96364c) - Fix fuzz_stream_payload TIMESTAMPED_SOC_DESCRIPTORS import (moved from coordinator.py to message_utils.py) - Fix fuzz_gps_pairing mock: add missing add_job() and get_derived_is_moving() methods
1 parent 597116d commit b2ac700

3 files changed

Lines changed: 18 additions & 221 deletions

File tree

fuzz/fuzz_gps_pairing.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ def _update_location_tracking(self, vin: str, lat: float, lon: float) -> bool:
266266
return False
267267
return prev != (lat, lon)
268268

269+
def get_derived_is_moving(self, vin: str) -> bool | None:
270+
"""Stub for motion detection - always returns None."""
271+
return None
272+
269273

270274
def _consume_text(fdp: atheris.FuzzedDataProvider, max_len: int) -> str:
271275
return fdp.ConsumeUnicodeNoSurrogates(max_len)
@@ -380,10 +384,9 @@ def TestOneInput(data: bytes) -> None:
380384
tracker.schedule_update_ha_state = lambda: None
381385
tracker.async_write_ha_state = lambda: None
382386

383-
# Mock hass with async_create_task that runs coroutine synchronously
387+
# Mock hass with async_create_task and add_job that run coroutines synchronously
384388
class _MockHass:
385389
def async_create_task(self, coro):
386-
# Run the coroutine synchronously for testing
387390
import asyncio
388391

389392
try:
@@ -393,6 +396,17 @@ def async_create_task(self, coro):
393396
asyncio.set_event_loop(loop)
394397
return loop.run_until_complete(coro)
395398

399+
def add_job(self, target, *args):
400+
import asyncio
401+
402+
if asyncio.iscoroutinefunction(target):
403+
try:
404+
loop = asyncio.get_event_loop()
405+
except RuntimeError:
406+
loop = asyncio.new_event_loop()
407+
asyncio.set_event_loop(loop)
408+
loop.run_until_complete(target(*args))
409+
396410
tracker.hass = _MockHass()
397411

398412
iterations = fdp.ConsumeIntInRange(1, 50)

fuzz/fuzz_quota_manager.py

Lines changed: 0 additions & 218 deletions
This file was deleted.

fuzz/fuzz_stream_payload.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ def _install_cardata_package() -> None:
110110
with atheris.instrument_imports():
111111
from cardata import const
112112
from cardata import coordinator as coordinator_module
113+
from cardata import message_utils
113114
from homeassistant.core import HomeAssistant
114115

115116

@@ -121,7 +122,7 @@ def _install_cardata_package() -> None:
121122
"vehicle.vehicleIdentification.basicVehicleData",
122123
"vehicle.isMoving",
123124
]
124-
SOC_DESCRIPTORS = list(coordinator_module.TIMESTAMPED_SOC_DESCRIPTORS)
125+
SOC_DESCRIPTORS = list(message_utils.TIMESTAMPED_SOC_DESCRIPTORS)
125126
KNOWN_DESCRIPTORS.extend(SOC_DESCRIPTORS)
126127

127128

0 commit comments

Comments
 (0)