Model/Dockerfile.test
2026-03-13 15:56:13 +00:00

28 lines
870 B
Text

FROM python:3.11-slim
# Install PostgreSQL binaries — required by pytest-postgresql to spawn ephemeral test databases
RUN apt-get update \
&& apt-get install -y --no-install-recommends postgresql \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
ENV PYTHONPATH=/app
# Copy requirements first so Docker can cache the install layer
COPY backend/engine/requirements.txt backend/engine/requirements.txt
COPY backend/app/requirements/requirements.txt backend/app/requirements/requirements.txt
COPY test.requirements.txt test.requirements.txt
RUN pip install --no-cache-dir \
-r backend/engine/requirements.txt \
-r backend/app/requirements/requirements.txt \
-r test.requirements.txt
# Copy source
COPY . .
# pg_ctl refuses to run as root — create an unprivileged user
RUN useradd -m testuser && chown -R testuser /app
USER testuser
CMD ["pytest"]