Ctrl K
ComunidadGuías…

tests/test_config_date_validation.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import pytest

from dm.config_validation import env_iso_date


def test_env_iso_date_accepts_canonical_date_and_empty_sentinel(monkeypatch):
    monkeypatch.setenv("DM_DATE", "2026-06-25")
    assert env_iso_date("DM_DATE") == "2026-06-25"
    monkeypatch.setenv("DM_DATE", "")
    assert env_iso_date("DM_DATE") == ""


def test_env_iso_date_rejects_invalid_or_noncanonical_values(monkeypatch):
    for value in (
        "2026-02-30",
        "2026-6-25",
        "25-06-2026",
        "2026/06/25",
        " 2026-06-25",
        "2026-06-25 ",
        "2026-06-25\u200d",
    ):
        monkeypatch.setenv("DM_DATE", value)
        with pytest.raises(ValueError):
            env_iso_date("DM_DATE")


def test_env_iso_date_can_require_a_value(monkeypatch):
    monkeypatch.delenv("DM_DATE", raising=False)
    with pytest.raises(ValueError):
        env_iso_date("DM_DATE", "", allow_empty=False)