diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index a26cfb6..3bb0caf 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -96,6 +96,19 @@ def test_vigilar_config_has_security(): assert cfg.security.recovery_passphrase_hash == "" +def test_location_config_defaults(): + from vigilar.config import LocationConfig + lc = LocationConfig() + assert lc.latitude == 0.0 + assert lc.longitude == 0.0 + + +def test_vigilar_config_has_location(): + from vigilar.config import VigilarConfig + cfg = VigilarConfig() + assert cfg.location.latitude == 0.0 + + class TestCameraConfigLocation: def test_default_location_is_interior(self): from vigilar.config import CameraConfig diff --git a/vigilar/config.py b/vigilar/config.py index b7e9a81..e4c096c 100644 --- a/vigilar/config.py +++ b/vigilar/config.py @@ -282,6 +282,13 @@ class PetsConfig(BaseModel): activity: PetActivityConfig = Field(default_factory=PetActivityConfig) +# --- Location Config --- + +class LocationConfig(BaseModel): + latitude: float = 0.0 + longitude: float = 0.0 + + # --- Security Config --- class SecurityConfig(BaseModel): @@ -336,6 +343,7 @@ class VigilarConfig(BaseModel): health: HealthConfig = Field(default_factory=HealthConfig) pets: PetsConfig = Field(default_factory=PetsConfig) security: SecurityConfig = Field(default_factory=SecurityConfig) + location: LocationConfig = Field(default_factory=LocationConfig) cameras: list[CameraConfig] = Field(default_factory=list) sensors: list[SensorConfig] = Field(default_factory=list) sensor_gpio: SensorGPIOConfig = Field(default_factory=SensorGPIOConfig, alias="sensors.gpio")