mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.4 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_count=1, active_object_count=0, region_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_count=0, active_object_count=1, region_count=0, 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_count=0, active_object_count=0, region_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_count=0, active_object_count=0, region_count=0, average_dBFS=1
 | 
						|
        )
 | 
						|
        assert not segment_info.should_discard_segment(RetainModeEnum.motion)
 | 
						|
        assert segment_info.should_discard_segment(RetainModeEnum.active_objects)
 |