From c338e1bcdfdf56d939005dde1b2cecc7f9c7ac68 Mon Sep 17 00:00:00 2001 From: Knapoc <21982227+Knapoc@users.noreply.github.com> Date: Tue, 22 Apr 2025 12:31:09 +0200 Subject: [PATCH] test: docker-gen network segregation * fix tests * remove obsolete compose version --- ...st_dockergen_network_segregation.base.yml} | 25 +++++++----- ... => test_dockergen_network_segregation.py} | 8 ++-- .../test_dockergen_network_segregation_v2.py | 10 ----- .../test_dockergen_network_segregation_v3.yml | 40 ------------------- 4 files changed, 18 insertions(+), 65 deletions(-) rename test/test_dockergen/{test_dockergen_network_segregation_v2.yml => test_dockergen_network_segregation.base.yml} (69%) rename test/test_dockergen/{test_dockergen_network_segregation_v3.py => test_dockergen_network_segregation.py} (72%) delete mode 100644 test/test_dockergen/test_dockergen_network_segregation_v2.py delete mode 100644 test/test_dockergen/test_dockergen_network_segregation_v3.yml diff --git a/test/test_dockergen/test_dockergen_network_segregation_v2.yml b/test/test_dockergen/test_dockergen_network_segregation.base.yml similarity index 69% rename from test/test_dockergen/test_dockergen_network_segregation_v2.yml rename to test/test_dockergen/test_dockergen_network_segregation.base.yml index 949e282..8040b47 100644 --- a/test/test_dockergen/test_dockergen_network_segregation_v2.yml +++ b/test/test_dockergen/test_dockergen_network_segregation.base.yml @@ -1,38 +1,41 @@ -version: '2' - services: - nginx: + nginx-proxy-nginx: image: nginx container_name: nginx volumes: - - "/etc/nginx/conf.d" - labels: - - "com.github.nginx-proxy.nginx-proxy.nginx" + - nginx_conf:/etc/nginx/conf.d:ro + ports: + - "80:80" + - "443:443" networks: - proxy + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" - dockergen: + nginx-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 + - nginx_conf:/etc/nginx/conf.d networks: - internal web: image: web - container_name: whoami + container_name: whoami2 expose: - "80" environment: WEB_PORTS: "80" - VIRTUAL_HOST: "whoami.nginx.container.docker" + VIRTUAL_HOST: whoami2.nginx.container.docker networks: - proxy networks: proxy: internal: + +volumes: + nginx_conf: diff --git a/test/test_dockergen/test_dockergen_network_segregation_v3.py b/test/test_dockergen/test_dockergen_network_segregation.py similarity index 72% rename from test/test_dockergen/test_dockergen_network_segregation_v3.py rename to test/test_dockergen/test_dockergen_network_segregation.py index b696e6c..ad487d9 100644 --- a/test/test_dockergen/test_dockergen_network_segregation_v3.py +++ b/test/test_dockergen/test_dockergen_network_segregation.py @@ -1,11 +1,11 @@ import docker import pytest -from distutils.version import LooseVersion +from packaging.version import Version raw_version = docker.from_env().version()["Version"] pytestmark = pytest.mark.skipif( - LooseVersion(raw_version) < LooseVersion("1.13"), + Version(raw_version) < Version("1.13"), reason="Docker compose syntax v3 requires docker engine v1.13 or later (got {raw_version})" ) @@ -16,9 +16,9 @@ def test_unknown_virtual_host_is_503(docker_compose, nginxproxy): def test_forwards_to_whoami(docker_compose, nginxproxy): - r = nginxproxy.get("http://whoami.nginx.container.docker/") + r = nginxproxy.get("http://whoami2.nginx.container.docker/") assert r.status_code == 200 - whoami_container = docker_compose.containers.get("whoami") + whoami_container = docker_compose.containers.get("whoami2") assert r.text == f"I'm {whoami_container.id[:12]}\n" diff --git a/test/test_dockergen/test_dockergen_network_segregation_v2.py b/test/test_dockergen/test_dockergen_network_segregation_v2.py deleted file mode 100644 index dbb15d4..0000000 --- a/test/test_dockergen/test_dockergen_network_segregation_v2.py +++ /dev/null @@ -1,10 +0,0 @@ -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" diff --git a/test/test_dockergen/test_dockergen_network_segregation_v3.yml b/test/test_dockergen/test_dockergen_network_segregation_v3.yml deleted file mode 100644 index c873c31..0000000 --- a/test/test_dockergen/test_dockergen_network_segregation_v3.yml +++ /dev/null @@ -1,40 +0,0 @@ -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: {}