From 209192e7787ec19ee5cffbc07da6a41344a53ca0 Mon Sep 17 00:00:00 2001 From: Nicolas Duchon Date: Sun, 22 Dec 2024 10:55:09 +0100 Subject: [PATCH] test: separate containers (contd) --- test/test_keepalive.yml | 32 ++++++++++++++++-- test/test_loadbalancing.yml | 26 ++++++++++++++- test/test_location-override.yml | 30 +++++++++++++++-- test/test_logs/test_log_disabled.py | 2 +- test/test_logs/test_log_disabled.yml | 32 ++++++++++++++++-- test/test_logs/test_log_format.py | 2 +- test/test_logs/test_log_format.yml | 32 ++++++++++++++++-- test/test_logs/test_log_json.py | 2 +- test/test_logs/test_log_json.yml | 32 ++++++++++++++++-- test/test_logs/test_log_json_format.py | 2 +- test/test_logs/test_log_json_format.yml | 32 ++++++++++++++++-- test/test_multiple-hosts.yml | 26 ++++++++++++++- test/test_multiple-networks.yml | 33 +++++++++++++++++-- .../test_multiports-base-json.yml | 28 ++++++++++++++-- .../test_multiports-base-yaml.yml | 28 ++++++++++++++-- .../test_multiports-invalid-syntax.yml | 26 ++++++++++++++- .../test_multiports/test_multiports-merge.yml | 26 ++++++++++++++- test/test_nominal.yml | 30 ++++++++++++++++- 18 files changed, 389 insertions(+), 32 deletions(-) diff --git a/test/test_keepalive.yml b/test/test_keepalive.yml index 9631eca..54939ae 100644 --- a/test/test_keepalive.yml +++ b/test/test_keepalive.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: keepalive-disabled: image: web @@ -18,7 +22,7 @@ services: VIRTUAL_HOST: keepalive-enabled.nginx-proxy.test labels: com.github.nginx-proxy.nginx-proxy.keepalive: "64" - + keepalive-auto: image: web deploy: @@ -31,8 +35,30 @@ services: VIRTUAL_HOST: keepalive-auto.nginx-proxy.test sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv HTTPS_METHOD: nohttps + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_loadbalancing.yml b/test/test_loadbalancing.yml index b8f42eb..b33875f 100644 --- a/test/test_loadbalancing.yml +++ b/test/test_loadbalancing.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: loadbalance-hash: image: web @@ -22,6 +26,26 @@ services: replicas: 2 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_location-override.yml b/test/test_location-override.yml index f36b206..1821cb2 100644 --- a/test/test_location-override.yml +++ b/test/test_location-override.yml @@ -1,9 +1,35 @@ +volumes: + nginx_conf: + + services: sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./test_location-override.vhost.d:/etc/nginx/vhost.d:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &locationOverride ./test_location-override.vhost.d:/etc/nginx/vhost.d:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *locationOverride + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *locationOverride + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" explicit-root: image: web diff --git a/test/test_logs/test_log_disabled.py b/test/test_logs/test_log_disabled.py index 2870b90..cd8ab41 100644 --- a/test/test_logs/test_log_disabled.py +++ b/test/test_logs/test_log_disabled.py @@ -4,7 +4,7 @@ def test_log_disabled(docker_compose, nginxproxy): r = nginxproxy.get("http://nginx-proxy.test/port") assert r.status_code == 200 assert r.text == "answer from port 81\n" - sut_container = docker_compose.containers.get("sut") + sut_container = docker_compose.containers.get("nginx-proxy") docker_logs = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False) docker_logs = docker_logs.decode("utf-8").splitlines() docker_logs = [line for line in docker_logs if "GET /port" in line] diff --git a/test/test_logs/test_log_disabled.yml b/test/test_logs/test_log_disabled.yml index 05000ef..1c1203b 100644 --- a/test/test_logs/test_log_disabled.yml +++ b/test/test_logs/test_log_disabled.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -8,9 +12,31 @@ services: VIRTUAL_HOST: nginx-proxy.test sut: - container_name: sut + profiles: + - singleContainer + container_name: nginx-proxy image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv DISABLE_ACCESS_LOGS: true + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_logs/test_log_format.py b/test/test_logs/test_log_format.py index 589f0c7..5a0fdc8 100644 --- a/test/test_logs/test_log_format.py +++ b/test/test_logs/test_log_format.py @@ -4,7 +4,7 @@ def test_log_format(docker_compose, nginxproxy): r = nginxproxy.get("http://nginx-proxy.test/port") assert r.status_code == 200 assert r.text == "answer from port 81\n" - sut_container = docker_compose.containers.get("sut") + sut_container = docker_compose.containers.get("nginx-proxy") docker_logs = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False) docker_logs = docker_logs.decode("utf-8").splitlines() docker_logs = [line for line in docker_logs if "GET /port" in line] diff --git a/test/test_logs/test_log_format.yml b/test/test_logs/test_log_format.yml index 211ae31..6b656b6 100644 --- a/test/test_logs/test_log_format.yml +++ b/test/test_logs/test_log_format.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -8,9 +12,31 @@ services: VIRTUAL_HOST: nginx-proxy.test sut: - container_name: sut + profiles: + - singleContainer + container_name: nginx-proxy image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv LOG_FORMAT: '$$remote_addr - $$remote_user [$$time_local] "$$request" $$status $$body_bytes_sent "$$http_referer" "$$http_user_agent" request_time=$$request_time $$upstream_response_time' + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_logs/test_log_json.py b/test/test_logs/test_log_json.py index 1a04b22..9fedcf6 100644 --- a/test/test_logs/test_log_json.py +++ b/test/test_logs/test_log_json.py @@ -7,7 +7,7 @@ def test_log_json(docker_compose, nginxproxy): r = nginxproxy.get("http://nginx-proxy.test/port") assert r.status_code == 200 assert r.text == "answer from port 81\n" - sut_container = docker_compose.containers.get("sut") + sut_container = docker_compose.containers.get("nginx-proxy") docker_logs = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False) docker_logs = docker_logs.decode("utf-8").splitlines() docker_logs = [line for line in docker_logs if "{\"time_local\":" in line] diff --git a/test/test_logs/test_log_json.yml b/test/test_logs/test_log_json.yml index 75bb42e..54d11f2 100644 --- a/test/test_logs/test_log_json.yml +++ b/test/test_logs/test_log_json.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -8,9 +12,31 @@ services: VIRTUAL_HOST: nginx-proxy.test sut: - container_name: sut + profiles: + - singleContainer + container_name: nginx-proxy image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv LOG_JSON: 1 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_logs/test_log_json_format.py b/test/test_logs/test_log_json_format.py index 2d158cb..76cc656 100644 --- a/test/test_logs/test_log_json_format.py +++ b/test/test_logs/test_log_json_format.py @@ -7,7 +7,7 @@ def test_log_json_format(docker_compose, nginxproxy): r = nginxproxy.get("http://nginx-proxy.test/port") assert r.status_code == 200 assert r.text == "answer from port 81\n" - sut_container = docker_compose.containers.get("sut") + sut_container = docker_compose.containers.get("nginx-proxy") docker_logs = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False) docker_logs = docker_logs.decode("utf-8").splitlines() docker_logs = [line for line in docker_logs if "{\"time_local\":" in line] diff --git a/test/test_logs/test_log_json_format.yml b/test/test_logs/test_log_json_format.yml index 71810b3..386aeae 100644 --- a/test/test_logs/test_log_json_format.yml +++ b/test/test_logs/test_log_json_format.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -8,9 +12,31 @@ services: VIRTUAL_HOST: nginx-proxy.test sut: - container_name: sut + profiles: + - singleContainer + container_name: nginx-proxy image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv LOG_FORMAT: '{"time_local":"$$time_iso8601","remote_addr":"$$remote_addr","request":"$$request","upstream_addr":"$$upstream_addr"}' + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_multiple-hosts.yml b/test/test_multiple-hosts.yml index d9cb661..d86f445 100644 --- a/test/test_multiple-hosts.yml +++ b/test/test_multiple-hosts.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web: image: web @@ -8,6 +12,26 @@ services: VIRTUAL_HOST: webA.nginx-proxy.tld,webB.nginx-proxy.tld sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_multiple-networks.yml b/test/test_multiple-networks.yml index edc12ab..8380f15 100644 --- a/test/test_multiple-networks.yml +++ b/test/test_multiple-networks.yml @@ -4,17 +4,46 @@ networks: net3a: net3b: + +volumes: + nginx_conf: + + services: nginx-proxy: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - networks: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + networks: &nginxProxyNetworks - net1 - net2 - net3a - net3b + nginx-proxy-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + networks: + <<: *nginxProxyNetworks + + nginx-proxy-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" + networks: + <<: *nginxProxyNetworks + web1: image: web expose: diff --git a/test/test_multiports/test_multiports-base-json.yml b/test/test_multiports/test_multiports-base-json.yml index acdfd7b..8f3fa1b 100644 --- a/test/test_multiports/test_multiports-base-json.yml +++ b/test/test_multiports/test_multiports-base-json.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: skipvirtualhost: image: web @@ -47,7 +51,7 @@ services: } } } - + virtualpath: image: web expose: @@ -70,6 +74,26 @@ services: } sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_multiports/test_multiports-base-yaml.yml b/test/test_multiports/test_multiports-base-yaml.yml index fcdd349..0debcdf 100644 --- a/test/test_multiports/test_multiports-base-yaml.yml +++ b/test/test_multiports/test_multiports-base-yaml.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: skipvirtualhost: image: web @@ -36,7 +40,7 @@ services: port9000.nginx-proxy.tld: "/": port: 9000 - + virtualpath: image: web expose: @@ -54,6 +58,26 @@ services: dest: "/port" sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_multiports/test_multiports-invalid-syntax.yml b/test/test_multiports/test_multiports-invalid-syntax.yml index 75c1e1f..853c859 100644 --- a/test/test_multiports/test_multiports-invalid-syntax.yml +++ b/test/test_multiports/test_multiports-invalid-syntax.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: invalidsyntax: image: web @@ -37,6 +41,26 @@ services: port: 9000 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_multiports/test_multiports-merge.yml b/test/test_multiports/test_multiports-merge.yml index cfaf1bc..2938069 100644 --- a/test/test_multiports/test_multiports-merge.yml +++ b/test/test_multiports/test_multiports-merge.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: merged-singleport: image: web @@ -34,6 +38,26 @@ services: dest: "/" sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_nominal.yml b/test/test_nominal.yml index e6b81a8..3b6e60c 100644 --- a/test/test_nominal.yml +++ b/test/test_nominal.yml @@ -5,6 +5,10 @@ networks: config: - subnet: fd00:1::/80 +volumes: + nginx_conf: + + services: web1: image: web @@ -27,8 +31,32 @@ services: - net1 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro networks: - net1 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + networks: + - net1 + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + networks: + - net1 + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx"