1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-08-23 16:01:57 +00:00

test: check docker-gen network segregation

This commit is contained in:
Knapoc
2025-04-22 12:04:04 +02:00
parent 9711ade7a6
commit ded6f89c56
4 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
def test_unknown_virtual_host_is_503(docker_compose, nginxproxy):
r = nginxproxy.get("http://unknown.nginx.container.docker/")
assert r.status_code == 503
def test_forwards_to_whoami(docker_compose, nginxproxy):
r = nginxproxy.get("http://whoami.nginx.container.docker/")
assert r.status_code == 200
whoami_container = docker_compose.containers.get("whoami")
assert r.text == f"I'm {whoami_container.id[:12]}\n"

View File

@@ -0,0 +1,38 @@
version: '2'
services:
nginx:
image: nginx
container_name: nginx
volumes:
- "/etc/nginx/conf.d"
labels:
- "com.github.nginx-proxy.nginx-proxy.nginx"
networks:
- proxy
dockergen:
image: nginxproxy/docker-gen
command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
volumes_from:
- nginx
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ../../nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl
networks:
- internal
web:
image: web
container_name: whoami
expose:
- "80"
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "whoami.nginx.container.docker"
networks:
- proxy
networks:
proxy:
internal:

View File

@@ -0,0 +1,27 @@
import docker
import pytest
from distutils.version import LooseVersion
raw_version = docker.from_env().version()["Version"]
pytestmark = pytest.mark.skipif(
LooseVersion(raw_version) < LooseVersion("1.13"),
reason="Docker compose syntax v3 requires docker engine v1.13 or later (got {raw_version})"
)
def test_unknown_virtual_host_is_503(docker_compose, nginxproxy):
r = nginxproxy.get("http://unknown.nginx.container.docker/")
assert r.status_code == 503
def test_forwards_to_whoami(docker_compose, nginxproxy):
r = nginxproxy.get("http://whoami.nginx.container.docker/")
assert r.status_code == 200
whoami_container = docker_compose.containers.get("whoami")
assert r.text == f"I'm {whoami_container.id[:12]}\n"
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@@ -0,0 +1,40 @@
version: '3'
services:
nginx:
image: nginx
container_name: nginx
volumes:
- "nginx_conf:/etc/nginx/conf.d"
labels:
- "com.github.nginx-proxy.nginx-proxy.nginx"
networks:
- proxy
dockergen:
image: nginxproxy/docker-gen
command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "../../nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl"
- "nginx_conf:/etc/nginx/conf.d"
networks:
- internal
web:
image: web
container_name: whoami
expose:
- "80"
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "whoami.nginx.container.docker"
networks:
- proxy
networks:
proxy:
internal:
volumes:
nginx_conf: {}