diff --git a/tests/components/recorder/test_init.py b/tests/components/recorder/test_init.py index 2bc0109e1b5..dc7881cfb42 100644 --- a/tests/components/recorder/test_init.py +++ b/tests/components/recorder/test_init.py @@ -600,6 +600,7 @@ def run_tasks_at_time(hass, test_time): hass.data[DATA_INSTANCE].block_till_done() +@pytest.mark.parametrize("enable_nightly_purge", [True]) def test_auto_purge(hass_recorder): """Test periodic purge scheduling.""" hass = hass_recorder() @@ -657,6 +658,7 @@ def test_auto_purge(hass_recorder): dt_util.set_default_time_zone(original_tz) +@pytest.mark.parametrize("enable_nightly_purge", [True]) def test_auto_purge_disabled(hass_recorder): """Test periodic db cleanup still run when auto purge is disabled.""" hass = hass_recorder({CONF_AUTO_PURGE: False}) diff --git a/tests/conftest.py b/tests/conftest.py index baac9ac19ee..902fc55eac4 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -778,14 +778,29 @@ def enable_statistics(): @pytest.fixture -def hass_recorder(enable_statistics, hass_storage): +def enable_nightly_purge(): + """Fixture to control enabling of recorder's nightly purge job. + + To enable nightly purgin, tests can be marked with: + @pytest.mark.parametrize("enable_nightly_purge", [True]) + """ + return False + + +@pytest.fixture +def hass_recorder(enable_nightly_purge, enable_statistics, hass_storage): """Home Assistant fixture with in-memory recorder.""" hass = get_test_home_assistant() stats = recorder.Recorder.async_periodic_statistics if enable_statistics else None + nightly = recorder.Recorder.async_nightly_tasks if enable_nightly_purge else None with patch( "homeassistant.components.recorder.Recorder.async_periodic_statistics", side_effect=stats, autospec=True, + ), patch( + "homeassistant.components.recorder.Recorder.async_nightly_tasks", + side_effect=nightly, + autospec=True, ): def setup_recorder(config=None):