blakeblackshear.frigate/frigate/test/test_record_retention.py
Nicolas Mowen d3f9fd1a60
Review summary (#10196)
* Create review summary api to get information about reviewed and unreviewed events on each day

* remove unused

* Fix tests

* Format tests

* Fix
2024-03-03 18:19:02 -06:00

26 lines
1.2 KiB
Python

import unittest
from frigate.config import RetainModeEnum
from frigate.record.maintainer import SegmentInfo
class TestRecordRetention(unittest.TestCase):
def test_motion_should_keep_motion_not_object(self):
segment_info = SegmentInfo(motion_area=1, active_object_count=0, average_dBFS=0)
assert not segment_info.should_discard_segment(RetainModeEnum.motion)
assert segment_info.should_discard_segment(RetainModeEnum.active_objects)
def test_object_should_keep_object_not_motion(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=1, average_dBFS=0)
assert segment_info.should_discard_segment(RetainModeEnum.motion)
assert not segment_info.should_discard_segment(RetainModeEnum.active_objects)
def test_all_should_keep_all(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=0, average_dBFS=0)
assert not segment_info.should_discard_segment(RetainModeEnum.all)
def test_should_keep_audio_in_motion_mode(self):
segment_info = SegmentInfo(motion_area=0, active_object_count=0, average_dBFS=1)
assert not segment_info.should_discard_segment(RetainModeEnum.motion)
assert segment_info.should_discard_segment(RetainModeEnum.active_objects)