2026-04-19 21:39:23 +02:00
|
|
|
from app.config import Settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_settings_support_two_independent_database_urls(monkeypatch) -> None:
|
|
|
|
|
monkeypatch.setenv("LOCATION_DATABASE_URL", "sqlite:///./data/locationRecorder.db")
|
|
|
|
|
monkeypatch.setenv("POO_DATABASE_URL", "sqlite:///./data/pooRecorder.db")
|
2026-04-20 11:48:48 +02:00
|
|
|
monkeypatch.setenv("POO_WEBHOOK_ID", "poo-hook")
|
|
|
|
|
monkeypatch.setenv("POO_SENSOR_ENTITY_NAME", "sensor.test_poo_status")
|
|
|
|
|
monkeypatch.setenv("POO_SENSOR_FRIENDLY_NAME", "Poo Status")
|
2026-04-20 10:11:02 +02:00
|
|
|
monkeypatch.setenv("HOME_ASSISTANT_BASE_URL", "http://ha.local:8123")
|
|
|
|
|
monkeypatch.setenv("HOME_ASSISTANT_AUTH_TOKEN", "token")
|
|
|
|
|
monkeypatch.setenv("HOME_ASSISTANT_TIMEOUT_SECONDS", "2.5")
|
2026-04-19 21:39:23 +02:00
|
|
|
|
|
|
|
|
settings = Settings()
|
|
|
|
|
|
|
|
|
|
assert settings.location_database_url == "sqlite:///./data/locationRecorder.db"
|
|
|
|
|
assert settings.poo_database_url == "sqlite:///./data/pooRecorder.db"
|
2026-04-20 11:48:48 +02:00
|
|
|
assert settings.poo_webhook_id == "poo-hook"
|
|
|
|
|
assert settings.poo_sensor_entity_name == "sensor.test_poo_status"
|
|
|
|
|
assert settings.poo_sensor_friendly_name == "Poo Status"
|
2026-04-20 10:11:02 +02:00
|
|
|
assert settings.home_assistant_base_url == "http://ha.local:8123"
|
|
|
|
|
assert settings.home_assistant_auth_token == "token"
|
|
|
|
|
assert settings.home_assistant_timeout_seconds == 2.5
|
2026-04-19 21:39:23 +02:00
|
|
|
assert settings.location_sqlite_path is not None
|
|
|
|
|
assert settings.location_sqlite_path.name == "locationRecorder.db"
|
|
|
|
|
assert settings.poo_sqlite_path is not None
|
|
|
|
|
assert settings.poo_sqlite_path.name == "pooRecorder.db"
|