tests/test_config_date_validation.py
Rama main · réplica de lectura del repositorio original.
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)