vigilar/tests/unit/test_constants.py
Aaron D. Lee aae857ec53 Add pet/wildlife enums, event types, and MQTT topics
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 13:07:09 -04:00

52 lines
1.6 KiB
Python

"""Tests for new pet/wildlife constants."""
from vigilar.constants import (
CameraLocation,
EventType,
ThreatLevel,
Topics,
)
class TestThreatLevel:
def test_values(self):
assert ThreatLevel.PREDATOR == "PREDATOR"
assert ThreatLevel.NUISANCE == "NUISANCE"
assert ThreatLevel.PASSIVE == "PASSIVE"
def test_is_strenum(self):
assert isinstance(ThreatLevel.PREDATOR, str)
class TestCameraLocation:
def test_values(self):
assert CameraLocation.EXTERIOR == "EXTERIOR"
assert CameraLocation.INTERIOR == "INTERIOR"
assert CameraLocation.TRANSITION == "TRANSITION"
def test_is_strenum(self):
assert isinstance(CameraLocation.EXTERIOR, str)
class TestNewEventTypes:
def test_pet_events_exist(self):
assert EventType.PET_DETECTED == "PET_DETECTED"
assert EventType.PET_ESCAPE == "PET_ESCAPE"
assert EventType.UNKNOWN_ANIMAL == "UNKNOWN_ANIMAL"
def test_wildlife_events_exist(self):
assert EventType.WILDLIFE_PREDATOR == "WILDLIFE_PREDATOR"
assert EventType.WILDLIFE_NUISANCE == "WILDLIFE_NUISANCE"
assert EventType.WILDLIFE_PASSIVE == "WILDLIFE_PASSIVE"
class TestPetTopics:
def test_pet_detected_topic(self):
assert Topics.camera_pet_detected("front") == "vigilar/camera/front/pet/detected"
def test_wildlife_detected_topic(self):
assert Topics.camera_wildlife_detected("front") == "vigilar/camera/front/wildlife/detected"
def test_pet_location_topic(self):
assert Topics.pet_location("angel") == "vigilar/pets/angel/location"