Fix Sonos CI issue part 2 (#150529)

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
This commit is contained in:
Pete Sage
2025-08-13 06:26:24 -04:00
committed by GitHub
parent 5fc2e6ed53
commit 51fbccd125
2 changed files with 19 additions and 8 deletions

View File

@@ -167,6 +167,17 @@ async def async_autosetup_sonos(async_setup_sonos):
await async_setup_sonos()
def reset_sonos_alarms(alarm_event: SonosMockEvent) -> None:
"""Reset the Sonos alarms to a known state."""
sonos_alarms = Alarms()
sonos_alarms.alarms = {}
sonos_alarms._last_zone_used = None
sonos_alarms._last_alarm_list_version = None
sonos_alarms.last_uid = None
sonos_alarms.last_id = 0
alarm_event.variables["alarm_list_version"] = "RINCON_test:0"
@pytest.fixture
def async_setup_sonos(
hass: HomeAssistant, config_entry: MockConfigEntry, fire_zgs_event, alarm_event
@@ -175,9 +186,7 @@ def async_setup_sonos(
async def _wrapper():
config_entry.add_to_hass(hass)
sonos_alarms = Alarms()
sonos_alarms.last_alarm_list_version = "RINCON_test:0"
alarm_event.variables["alarm_list_version"] = "RINCON_test:0"
reset_sonos_alarms(alarm_event)
assert await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done(wait_background_tasks=True)
await fire_zgs_event()
@@ -851,11 +860,15 @@ def zgs_event_fixture(
@pytest.fixture(name="sonos_setup_two_speakers")
async def sonos_setup_two_speakers(
hass: HomeAssistant, soco_factory: SoCoMockFactory
hass: HomeAssistant,
soco_factory: SoCoMockFactory,
alarm_event: SonosMockEvent,
) -> list[MockSoCo]:
"""Set up home assistant with two Sonos Speakers."""
soco_lr = soco_factory.cache_mock(MockSoCo(), "10.10.10.1", "Living Room")
soco_br = soco_factory.cache_mock(MockSoCo(), "10.10.10.2", "Bedroom")
reset_sonos_alarms(alarm_event)
await async_setup_component(
hass,
DOMAIN,

View File

@@ -271,8 +271,6 @@ async def test_alarm_create_delete(
async def test_alarm_change_device(
hass: HomeAssistant,
async_setup_sonos,
soco: MockSoCo,
alarm_clock: SonosMockService,
alarm_clock_extended: SonosMockService,
alarm_event: SonosMockEvent,
@@ -294,7 +292,7 @@ async def test_alarm_change_device(
alarm_dict["CurrentAlarmList"] = alarm_dict["CurrentAlarmList"].replace(
"RINCON_test", f"{soco_lr.uid}"
)
alarm_dict["CurrentAlarmListVersion"] = f"{soco_lr.uid}:900"
alarm_dict["CurrentAlarmListVersion"] = "RINCON_test:900"
soco_lr.alarmClock.ListAlarms.return_value = alarm_dict
soco_br = soco_factory.cache_mock(MockSoCo(), "10.10.10.2", "Bedroom")
await async_setup_component(
@@ -327,7 +325,7 @@ async def test_alarm_change_device(
alarm_clock.ListAlarms.return_value = alarm_update
# Update the alarm_list_version so it gets processed.
alarm_event.variables["alarm_list_version"] = f"{soco_br.uid}:1000"
alarm_event.variables["alarm_list_version"] = "RINCON_test:1000"
alarm_update["CurrentAlarmListVersion"] = alarm_event.increment_variable(
"alarm_list_version"
)