Compare commits

...

2 commits

Author SHA1 Message Date
Nicolas Duchon
35c1d16ff8 test: nginx.conf customizations 2024-05-08 01:59:16 +02:00
Nicolas Duchon
3d9d91b043 test: get full nginx config from container 2024-05-08 00:59:36 +02:00
4 changed files with 39 additions and 2 deletions

View file

@ -17,7 +17,7 @@ ENV NGINX_PROXY_VERSION=${NGINX_PROXY_VERSION} \
RUN apk add --no-cache --virtual .run-deps bash openssl
# Configure Nginx
RUN sed -i 's/worker_connections.*;$/worker_connections 10240;/' /etc/nginx/nginx.conf \
RUN sed -i 's/worker_connections.*;$/worker_connections 10240;/' /etc/nginx/nginx.conf \
&& sed -i -e '/^\}$/{s//\}\nworker_rlimit_nofile 20480;/;:a' -e '$!N;$!ba' -e '}' /etc/nginx/nginx.conf \
&& mkdir -p '/etc/nginx/dhparam' \
&& mkdir -p '/etc/nginx/certs'

View file

@ -84,11 +84,18 @@ class requests_for_docker(object):
def get_conf(self):
"""
Return the nginx config file
Return the generated nginx config file
"""
nginx_proxy_containers = self.get_nginx_proxy_containers()
return get_nginx_conf_from_container(nginx_proxy_containers[0])
def get_toplevel_conf(self):
"""
Return the top level nginx config file
"""
nginx_proxy_containers = self.get_nginx_proxy_containers()
return get_nginx_toplevel_conf_from_container(nginx_proxy_containers[0])
def get_ip(self) -> str:
"""
Return the nginx container ip address
@ -301,6 +308,21 @@ def get_nginx_conf_from_container(container):
return conffile.read()
def get_nginx_toplevel_conf_from_container(container):
"""
return the nginx /etc/nginx/nginx.conf file content from a container
"""
import tarfile
from io import BytesIO
strm_generator, stat = container.get_archive('/etc/nginx/nginx.conf')
strm_fileobj = BytesIO(b"".join(strm_generator))
with tarfile.open(fileobj=strm_fileobj) as tf:
conffile = tf.extractfile('nginx.conf')
return conffile.read()
def docker_compose_up(compose_file='docker-compose.yml'):
logging.info(f'{DOCKER_COMPOSE} -f {compose_file} up -d')
try:

View file

@ -0,0 +1,8 @@
import pytest
import re
def test_nginx_toplevel_conf_contains_customizations(docker_compose, nginxproxy):
conf = nginxproxy.get_toplevel_conf().decode('ASCII')
assert re.search(r"^ +worker_connections 10240;$", conf)
assert re.search(r"^worker_rlimit_nofile 20480;$", conf)

View file

@ -0,0 +1,7 @@
version: "2"
services:
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro