diff --git a/frigate/test/test_config.py b/frigate/test/test_config.py index afe577f2f..98799fcf0 100644 --- a/frigate/test/test_config.py +++ b/frigate/test/test_config.py @@ -343,8 +343,24 @@ class TestConfig(unittest.TestCase): "fps": 5, }, "objects": { - "mask": "0,0,1,1,0,1", - "filters": {"dog": {"mask": "1,1,1,1,1,1"}}, + "mask": { + "global_mask_1": { + "friendly_name": "Global Mask 1", + "enabled": True, + "coordinates": "0,0,1,1,0,1", + } + }, + "filters": { + "dog": { + "mask": { + "dog_mask_1": { + "friendly_name": "Dog Mask 1", + "enabled": True, + "coordinates": "1,1,1,1,1,1", + } + } + } + }, }, } }, @@ -353,8 +369,10 @@ class TestConfig(unittest.TestCase): frigate_config = FrigateConfig(**config) back_camera = frigate_config.cameras["back"] assert "dog" in back_camera.objects.filters - assert len(back_camera.objects.filters["dog"].raw_mask) == 2 - assert len(back_camera.objects.filters["person"].raw_mask) == 1 + # dog filter has its own mask + global mask merged + assert len(back_camera.objects.filters["dog"].mask) == 2 + # person filter only has the global mask + assert len(back_camera.objects.filters["person"].mask) == 1 def test_motion_mask_relative_matches_explicit(self): config = { @@ -373,9 +391,13 @@ class TestConfig(unittest.TestCase): "fps": 5, }, "motion": { - "mask": [ - "0,0,200,100,600,300,800,400", - ] + "mask": { + "explicit_mask": { + "friendly_name": "Explicit Mask", + "enabled": True, + "coordinates": "0,0,200,100,600,300,800,400", + } + } }, }, "relative": { @@ -390,9 +412,13 @@ class TestConfig(unittest.TestCase): "fps": 5, }, "motion": { - "mask": [ - "0.0,0.0,0.25,0.25,0.75,0.75,1.0,1.0", - ] + "mask": { + "relative_mask": { + "friendly_name": "Relative Mask", + "enabled": True, + "coordinates": "0.0,0.0,0.25,0.25,0.75,0.75,1.0,1.0", + } + } }, }, }, @@ -400,8 +426,8 @@ class TestConfig(unittest.TestCase): frigate_config = FrigateConfig(**config) assert np.array_equal( - frigate_config.cameras["explicit"].motion.mask, - frigate_config.cameras["relative"].motion.mask, + frigate_config.cameras["explicit"].motion.rasterized_mask, + frigate_config.cameras["relative"].motion.rasterized_mask, ) def test_default_input_args(self):