agrovision / tests /unit /test_config.py
alexp97's picture
test: pruebas unitarias e integración del MVP
15d6ad0
Raw
History Blame Contribute Delete
1.34 kB
"""
Archivo: test_config.py
Fecha de modificación: 03/06/2026
Autor: Equipo AgroVisión
Descripción:
Pruebas unitarias de la configuración del backend: parseo de booleanos y valores
por defecto del entorno.
Ejemplo de Integración:
uv run pytest tests/unit/test_config.py
"""
from __future__ import annotations
import pytest
from backend.config import _parse_bool, get_settings
@pytest.mark.parametrize(
("raw", "expected"),
[("true", True), ("1", True), ("YES", True), ("on", True), ("0", False), ("no", False)],
)
def test_parse_bool_reconoce_valores(raw: str, expected: bool) -> None:
"""Verifica el reconocimiento de valores verdaderos y falsos."""
assert _parse_bool(raw) is expected
def test_parse_bool_usa_default_si_none() -> None:
"""Verifica que se use el valor por defecto cuando la variable es None."""
assert _parse_bool(None, default=True) is True
assert _parse_bool(None) is False
def test_get_settings_standby_por_defecto(monkeypatch: pytest.MonkeyPatch) -> None:
"""Verifica que el conteo arranque en standby cuando no se define la variable."""
monkeypatch.delenv("COUNTING_ENABLED", raising=False)
get_settings.cache_clear()
settings = get_settings()
assert settings.counting_enabled is False
assert settings.model_version
get_settings.cache_clear()