"""Tests for smartcam person detection module.""" from __future__ import annotations from kasa import Device from kasa.smartcam.smartcammodule import SmartCamModule from ...device_fixtures import parametrize persondetection = parametrize( "has person detection", component_filter="personDetection", protocol_filter={"SMARTCAM"}, ) @persondetection async def test_persondetection(dev: Device): """Test device person detection.""" person = dev.modules.get(SmartCamModule.SmartCamPersonDetection) assert person pde_feat = dev.features.get("person_detection") assert pde_feat original_enabled = person.enabled try: await person.set_enabled(not original_enabled) await dev.update() assert person.enabled is not original_enabled assert pde_feat.value is not original_enabled await person.set_enabled(original_enabled) await dev.update() assert person.enabled is original_enabled assert pde_feat.value is original_enabled await pde_feat.set_value(not original_enabled) await dev.update() assert person.enabled is not original_enabled assert pde_feat.value is not original_enabled finally: await person.set_enabled(original_enabled)