File size: 1,345 Bytes
208130d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]


def test_streamlit_config_disables_xsrf_for_hugging_face_uploads() -> None:
    config_text = (PROJECT_ROOT / ".streamlit" / "config.toml").read_text(
        encoding="utf-8"
    )

    assert "enableXsrfProtection = false" in config_text


def test_dockerfile_passes_xsrf_override_to_streamlit() -> None:
    dockerfile_text = (PROJECT_ROOT / "Dockerfile").read_text(encoding="utf-8")

    assert "--server.enableXsrfProtection=false" in dockerfile_text


def test_dockerfile_copies_only_runtime_files() -> None:
    dockerfile_text = (PROJECT_ROOT / "Dockerfile").read_text(encoding="utf-8")

    assert 'COPY --chown=user app.py ./' in dockerfile_text
    assert 'COPY --chown=user .streamlit ./.streamlit' in dockerfile_text
    assert "COPY --chown=user src ./src" in dockerfile_text
    assert "COPY --chown=user . ." not in dockerfile_text


def test_dockerignore_excludes_non_runtime_repo_files() -> None:
    dockerignore_text = (PROJECT_ROOT / ".dockerignore").read_text(encoding="utf-8")

    assert "AGENTS.md" in dockerignore_text
    assert "CLAUDE.md" in dockerignore_text
    assert "CLAUDE_CODE_UPDATES.md" in dockerignore_text
    assert "PRD.md" in dockerignore_text
    assert "docs" in dockerignore_text
    assert "tests" in dockerignore_text