"""Test RainMachine diagnostics.""" from regenmaschine.errors import RainMachineError from syrupy import SnapshotAssertion from syrupy.filters import props from homeassistant.core import HomeAssistant from tests.components.diagnostics import get_diagnostics_for_config_entry from tests.typing import ClientSessionGenerator async def test_entry_diagnostics( hass: HomeAssistant, config_entry, hass_client: ClientSessionGenerator, setup_rainmachine, snapshot: SnapshotAssertion, ) -> None: """Test config entry diagnostics.""" assert await get_diagnostics_for_config_entry( hass, hass_client, config_entry ) == snapshot(exclude=props("created_at", "modified_at")) async def test_entry_diagnostics_failed_controller_diagnostics( hass: HomeAssistant, config_entry, controller, hass_client: ClientSessionGenerator, setup_rainmachine, snapshot: SnapshotAssertion, ) -> None: """Test config entry diagnostics when the controller diagnostics API call fails.""" controller.diagnostics.current.side_effect = RainMachineError assert await get_diagnostics_for_config_entry( hass, hass_client, config_entry ) == snapshot(exclude=props("created_at", "modified_at"))