gunicorn/tests/docker/uwsgi/Dockerfile.gunicorn
Benoit Chesneau ecc471f3b4 tests: Add Docker integration tests for uWSGI protocol with nginx
Add comprehensive integration tests verifying gunicorn's uWSGI binary
protocol works correctly with nginx's uwsgi_pass directive.

Test categories:
- Basic GET/POST requests with query strings and large bodies
- Header preservation (custom headers, Host, Content-Type)
- HTTP keep-alive connections
- Error responses (400-503 status codes)
- WSGI environ variables
- Large response streaming (1MB)
- Concurrent request handling
- Edge cases (binary data, unicode, long headers)

Architecture: pytest -> nginx:8080 -> uwsgi_pass -> gunicorn:8000

Also adds GitHub Actions workflow that runs on changes to uwsgi module
or docker test files.
2026-01-22 19:06:30 +01:00

17 lines
398 B
Docker

FROM python:3.11-slim
WORKDIR /app
# Copy gunicorn source
COPY . /app/gunicorn-src/
# Install gunicorn from source
RUN pip install --no-cache-dir /app/gunicorn-src/
# Copy test application
COPY tests/docker/uwsgi/app.py /app/
EXPOSE 8000
CMD ["gunicorn", "--protocol", "uwsgi", "--uwsgi-allow-from", "*", "--bind", "0.0.0.0:8000", "--workers", "2", "--log-level", "debug", "app:application"]