diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 00000000..d566c435 --- /dev/null +++ b/Dockerfile.test @@ -0,0 +1,23 @@ +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 + +# 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 . . + +CMD ["pytest"]