Disable recorder nightly jobs in tests (#68188)

This commit is contained in:
Erik Montnemery 2022-03-15 17:23:52 +01:00 committed by GitHub
parent 34eb4aa2d0
commit d360ac91ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View File

@ -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})

View File

@ -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):