from __future__ import annotations from pathlib import Path import pytest @pytest.fixture def dockerfile_content() -> str: """Read the content of the Dockerfile and return it as a string. Returns: str: The content of the Dockerfile. """ return Path("Dockerfile").read_text(encoding="utf-8") def test_volume_exists(dockerfile_content: str) -> None: """Test that the volume is set in the Dockerfile.""" assert_msg = "Volume not set in Dockerfile. This has to always be set to /home/botuser/data/." assert 'VOLUME ["/home/botuser/data/"]' in dockerfile_content, assert_msg def test_env_variables(dockerfile_content: str) -> None: """Test that the environment variables for Python are set in the Dockerfile.""" assert "ENV PYTHONUNBUFFERED=1" in dockerfile_content, "PYTHONUNBUFFERED not set in Dockerfile" assert "ENV PYTHONDONTWRITEBYTECODE=1" in dockerfile_content, "PYTHONDONTWRITEBYTECODE not set in Dockerfile"