From 6bba03e2619bcc8b90041df7583e200d4267d2b5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 31 Jul 2025 22:41:25 +0000 Subject: [PATCH] Improve test assertions to check log record attributes instead of text content Co-authored-by: MartinHjelmare <3181692+MartinHjelmare@users.noreply.github.com> --- tests/helpers/test_update_coordinator.py | 55 +++++++++++++++--------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/tests/helpers/test_update_coordinator.py b/tests/helpers/test_update_coordinator.py index d10d9e52023..79902662f2b 100644 --- a/tests/helpers/test_update_coordinator.py +++ b/tests/helpers/test_update_coordinator.py @@ -943,10 +943,13 @@ async def test_config_entry_custom_integration( # Default without context should be None crd = update_coordinator.DataUpdateCoordinator[int](hass, _LOGGER, name="test") assert crd.config_entry is None - assert ( - "Detected that custom integration 'my_integration' relies on ContextVar" - not in caplog.text - ) + # Should not log any warnings about ContextVar usage for custom integrations + frame_records = [ + record for record in caplog.records + if record.name == "homeassistant.helpers.frame" + and "relies on ContextVar" in record.message + ] + assert len(frame_records) == 0 # Explicit None is OK caplog.clear() @@ -954,10 +957,13 @@ async def test_config_entry_custom_integration( hass, _LOGGER, name="test", config_entry=None ) assert crd.config_entry is None - assert ( - "Detected that custom integration 'my_integration' relies on ContextVar" - not in caplog.text - ) + # Should not log any warnings about ContextVar usage for custom integrations + frame_records = [ + record for record in caplog.records + if record.name == "homeassistant.helpers.frame" + and "relies on ContextVar" in record.message + ] + assert len(frame_records) == 0 # Explicit entry is OK caplog.clear() @@ -965,10 +971,13 @@ async def test_config_entry_custom_integration( hass, _LOGGER, name="test", config_entry=entry ) assert crd.config_entry is entry - assert ( - "Detected that custom integration 'my_integration' relies on ContextVar" - not in caplog.text - ) + # Should not log any warnings about ContextVar usage for custom integrations + frame_records = [ + record for record in caplog.records + if record.name == "homeassistant.helpers.frame" + and "relies on ContextVar" in record.message + ] + assert len(frame_records) == 0 # set ContextVar config_entries.current_entry.set(entry) @@ -977,10 +986,13 @@ async def test_config_entry_custom_integration( caplog.clear() crd = update_coordinator.DataUpdateCoordinator[int](hass, _LOGGER, name="test") assert crd.config_entry is entry - assert ( - "Detected that custom integration 'my_integration' relies on ContextVar" - not in caplog.text - ) + # Should not log any warnings about ContextVar usage for custom integrations + frame_records = [ + record for record in caplog.records + if record.name == "homeassistant.helpers.frame" + and "relies on ContextVar" in record.message + ] + assert len(frame_records) == 0 # Explicit entry different from ContextVar not recommended, but should work another_entry = MockConfigEntry() @@ -989,10 +1001,13 @@ async def test_config_entry_custom_integration( hass, _LOGGER, name="test", config_entry=another_entry ) assert crd.config_entry is another_entry - assert ( - "Detected that custom integration 'my_integration' relies on ContextVar" - not in caplog.text - ) + # Should not log any warnings about ContextVar usage for custom integrations + frame_records = [ + record for record in caplog.records + if record.name == "homeassistant.helpers.frame" + and "relies on ContextVar" in record.message + ] + assert len(frame_records) == 0 async def test_listener_unsubscribe_releases_coordinator(hass: HomeAssistant) -> None: