def test_purge_old_events(self): """Test deleting old events.""" self._add_test_events() with session_scope(hass=self.hass) as session: events = session.query(Events).filter( Events.event_type.like("EVENT_TEST%")) assert events.count() == 6 # run purge_old_data() finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert not finished assert events.count() == 4 finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert not finished assert events.count() == 2 # we should only have 2 events left finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert finished assert events.count() == 2
async def test_purge_old_states( hass: HomeAssistantType, async_setup_recorder_instance: SetupRecorderInstanceT): """Test deleting old states.""" instance = await async_setup_recorder_instance(hass) await _add_test_states(hass, instance) # make sure we start with 6 states with session_scope(hass=hass) as session: states = session.query(States) assert states.count() == 6 assert states[0].old_state_id is None assert states[-1].old_state_id == states[-2].state_id events = session.query(Events).filter( Events.event_type == "state_changed") assert events.count() == 6 # run purge_old_data() finished = purge_old_data(instance, 4, repack=False) assert not finished assert states.count() == 2 states_after_purge = session.query(States) assert states_after_purge[1].old_state_id == states_after_purge[ 0].state_id assert states_after_purge[0].old_state_id is None finished = purge_old_data(instance, 4, repack=False) assert finished assert states.count() == 2
def test_purge_old_states(self): """Test deleting old states.""" self._add_test_states() # make sure we start with 6 states with session_scope(hass=self.hass) as session: states = session.query(States) assert states.count() == 6 # run purge_old_data() finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert not finished assert states.count() == 4 finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert not finished assert states.count() == 2 finished = purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) assert finished assert states.count() == 2
async def test_purge_old_states( hass: HomeAssistant, async_setup_recorder_instance: SetupRecorderInstanceT): """Test deleting old states.""" instance = await async_setup_recorder_instance(hass) await _add_test_states(hass, instance) # make sure we start with 6 states with session_scope(hass=hass) as session: states = session.query(States) assert states.count() == 6 assert states[0].old_state_id is None assert states[-1].old_state_id == states[-2].state_id events = session.query(Events).filter( Events.event_type == "state_changed") assert events.count() == 6 assert "test.recorder2" in instance._old_states purge_before = dt_util.utcnow() - timedelta(days=4) # run purge_old_data() finished = purge_old_data(instance, purge_before, repack=False) assert not finished assert states.count() == 2 assert "test.recorder2" in instance._old_states states_after_purge = session.query(States) assert states_after_purge[1].old_state_id == states_after_purge[ 0].state_id assert states_after_purge[0].old_state_id is None finished = purge_old_data(instance, purge_before, repack=False) assert finished assert states.count() == 2 assert "test.recorder2" in instance._old_states # run purge_old_data again purge_before = dt_util.utcnow() finished = purge_old_data(instance, purge_before, repack=False) assert not finished assert states.count() == 0 assert "test.recorder2" not in instance._old_states # Add some more states await _add_test_states(hass, instance) # make sure we start with 6 states with session_scope(hass=hass) as session: states = session.query(States) assert states.count() == 6 assert states[0].old_state_id is None assert states[-1].old_state_id == states[-2].state_id events = session.query(Events).filter( Events.event_type == "state_changed") assert events.count() == 6 assert "test.recorder2" in instance._old_states
def test_purge_old_states(self): """Test deleting old states.""" self._add_test_states() # make sure we start with 5 states with session_scope(hass=self.hass) as session: states = session.query(States) self.assertEqual(states.count(), 5) # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4) # we should only have 2 states left after purging self.assertEqual(states.count(), 2)
def test_purge_old_states(self): """Test deleting old states.""" self._add_test_states() # make sure we start with 7 states with session_scope(hass=self.hass) as session: states = session.query(States) self.assertEqual(states.count(), 7) # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) # we should only have 3 states left after purging self.assertEqual(states.count(), 3)
def test_purge_old_states(self): """Test deleting old states.""" self._add_test_states() # make sure we start with 6 states with session_scope(hass=self.hass) as session: states = session.query(States) assert states.count() == 6 # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) # we should only have 2 states left after purging assert states.count() == 2
def test_purge_old_events(self): """Test deleting old events.""" self._add_test_events() with session_scope(hass=self.hass) as session: events = session.query(Events).filter( Events.event_type.like("EVENT_TEST%")) self.assertEqual(events.count(), 5) # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4) # now we should only have 3 events left self.assertEqual(events.count(), 3)
def test_purge_old_events(self): """Test deleting old events.""" self._add_test_events() with session_scope(hass=self.hass) as session: events = session.query(Events).filter( Events.event_type.like("EVENT_TEST%")) self.assertEqual(events.count(), 7) # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) # no state to protect, now we should only have 2 events left self.assertEqual(events.count(), 2)
def test_purge_old_events(self): """Test deleting old events.""" self._add_test_events() with session_scope(hass=self.hass) as session: events = session.query(Events).filter( Events.event_type.like("EVENT_TEST%")) assert events.count() == 6 # run purge_old_data() purge_old_data(self.hass.data[DATA_INSTANCE], 4, repack=False) # we should only have 2 events left assert events.count() == 2
async def test_purge_old_recorder_runs( hass: HomeAssistantType, async_setup_recorder_instance: SetupRecorderInstanceT): """Test deleting old recorder runs keeps current run.""" instance = await async_setup_recorder_instance(hass) await _add_test_recorder_runs(hass, instance) # make sure we start with 7 recorder runs with session_scope(hass=hass) as session: recorder_runs = session.query(RecorderRuns) assert recorder_runs.count() == 7 # run purge_old_data() finished = purge_old_data(instance, 0, repack=False) assert not finished finished = purge_old_data(instance, 0, repack=False) assert finished assert recorder_runs.count() == 1
async def test_purge_old_events( hass: HomeAssistant, async_setup_recorder_instance: SetupRecorderInstanceT ): """Test deleting old events.""" instance = await async_setup_recorder_instance(hass) await _add_test_events(hass, instance) with session_scope(hass=hass) as session: events = session.query(Events).filter(Events.event_type.like("EVENT_TEST%")) assert events.count() == 6 # run purge_old_data() finished = purge_old_data(instance, 4, repack=False) assert not finished assert events.count() == 2 # we should only have 2 events left finished = purge_old_data(instance, 4, repack=False) assert finished assert events.count() == 2
async def test_purge_old_statistics_runs( hass: HomeAssistant, async_setup_recorder_instance: SetupRecorderInstanceT ): """Test deleting old statistics runs keeps the latest run.""" instance = await async_setup_recorder_instance(hass) await _add_test_statistics_runs(hass, instance) # make sure we start with 7 statistics runs with session_scope(hass=hass) as session: statistics_runs = session.query(StatisticsRuns) assert statistics_runs.count() == 7 purge_before = dt_util.utcnow() # run purge_old_data() finished = purge_old_data(instance, purge_before, repack=False) assert not finished finished = purge_old_data(instance, purge_before, repack=False) assert finished assert statistics_runs.count() == 1
def test_purge_old_recorder_runs(hass, hass_recorder): """Test deleting old recorder runs keeps current run.""" hass = hass_recorder() _add_test_recorder_runs(hass) # make sure we start with 7 recorder runs with session_scope(hass=hass) as session: recorder_runs = session.query(RecorderRuns) assert recorder_runs.count() == 7 # run purge_old_data() finished = purge_old_data(hass.data[DATA_INSTANCE], 0, repack=False) assert finished assert recorder_runs.count() == 1