Files
hot_comment_radar/tests/unit/test_deployment_config.py
T

48 lines
1.7 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def test_docker_compose_reads_real_env_file_not_example():
compose_content = (ROOT / "docker-compose.yml").read_text(encoding="utf-8")
assert "- .env\n" in compose_content
assert "- .env.example" not in compose_content
def test_docker_compose_uses_fixed_project_name_for_stable_port_owner():
compose_content = (ROOT / "docker-compose.yml").read_text(encoding="utf-8")
assert "name: hot-comments-tool" in compose_content
assert '"8000:8000"' in compose_content or "- 8000:8000" in compose_content
def test_docker_compose_mounts_data_directory_for_sqlite_wal_files():
compose_content = (ROOT / "docker-compose.yml").read_text(encoding="utf-8")
assert "./data:/app/data" in compose_content
assert "app.db:/app/data/app.db" not in compose_content
def test_real_env_file_is_gitignored():
gitignore_lines = (ROOT / ".gitignore").read_text(encoding="utf-8").splitlines()
assert ".env" in gitignore_lines
def test_dockerfile_does_not_bootstrap_uv_from_runtime_pip():
dockerfile_content = (ROOT / "Dockerfile").read_text(encoding="utf-8")
assert "pip install --no-cache-dir uv" not in dockerfile_content
assert "uv pip install" not in dockerfile_content
def test_dockerfile_installs_project_without_build_isolation():
dockerfile_content = (ROOT / "Dockerfile").read_text(encoding="utf-8")
assert "COPY requirements.txt ./" in dockerfile_content
assert "pip install --no-cache-dir -r requirements.txt" in dockerfile_content
assert "pip install --no-cache-dir ." not in dockerfile_content
assert "pip install --no-cache-dir --no-build-isolation ." not in dockerfile_content