sbom-nexus/tests/test_config.py

26 lines
838 B
Python
Raw Normal View History

from __future__ import annotations
from pathlib import Path
import pytest
from sbom_nexus.config import database_target
def test_database_target_prefers_secret_file(monkeypatch, tmp_path: Path) -> None:
secret = tmp_path / "url"
secret.write_text("postgresql://mounted-secret\n", encoding="utf-8")
monkeypatch.setenv("SBOM_NEXUS_DATABASE_URL_FILE", str(secret))
monkeypatch.setenv("SBOM_NEXUS_DATABASE_URL", "postgresql://environment")
assert database_target() == "postgresql://mounted-secret"
def test_database_target_rejects_empty_secret_file(monkeypatch, tmp_path: Path) -> None:
secret = tmp_path / "url"
secret.write_text("\n", encoding="utf-8")
monkeypatch.setenv("SBOM_NEXUS_DATABASE_URL_FILE", str(secret))
with pytest.raises(RuntimeError, match="is empty"):
database_target()