Переглянути джерело

test: separate containers (contd)

Nicolas Duchon 5 місяців тому
батько
коміт
209192e778

+ 29 - 3
test/test_keepalive.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   keepalive-disabled:
   keepalive-disabled:
     image: web
     image: web
@@ -18,7 +22,7 @@ services:
       VIRTUAL_HOST: keepalive-enabled.nginx-proxy.test
       VIRTUAL_HOST: keepalive-enabled.nginx-proxy.test
     labels:
     labels:
       com.github.nginx-proxy.nginx-proxy.keepalive: "64"
       com.github.nginx-proxy.nginx-proxy.keepalive: "64"
-  
+
   keepalive-auto:
   keepalive-auto:
     image: web
     image: web
     deploy:
     deploy:
@@ -31,8 +35,30 @@ services:
       VIRTUAL_HOST: keepalive-auto.nginx-proxy.test
       VIRTUAL_HOST: keepalive-auto.nginx-proxy.test
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     volumes:
-      - /var/run/docker.sock:/tmp/docker.sock:ro
-    environment:
+      - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro
+    environment: &nginxProxyEnv
       HTTPS_METHOD: nohttps
       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"

+ 25 - 1
test/test_loadbalancing.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   loadbalance-hash:
   loadbalance-hash:
     image: web
     image: web
@@ -22,6 +26,26 @@ services:
       replicas: 2
       replicas: 2
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 28 - 2
test/test_location-override.yml

@@ -1,9 +1,35 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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:
   explicit-root:
     image: web
     image: web

+ 1 - 1
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")
     r = nginxproxy.get("http://nginx-proxy.test/port")
     assert r.status_code == 200
     assert r.status_code == 200
     assert r.text == "answer from port 81\n"
     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 = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False)
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = [line for line in docker_logs if "GET /port" in line]
     docker_logs = [line for line in docker_logs if "GET /port" in line]

+ 29 - 3
test/test_logs/test_log_disabled.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web1:
   web1:
     image: web
     image: web
@@ -8,9 +12,31 @@ services:
       VIRTUAL_HOST: nginx-proxy.test
       VIRTUAL_HOST: nginx-proxy.test
 
 
   sut:
   sut:
-    container_name: sut
+    profiles:
+      - singleContainer
+    container_name: nginx-proxy
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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
       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"

+ 1 - 1
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")
     r = nginxproxy.get("http://nginx-proxy.test/port")
     assert r.status_code == 200
     assert r.status_code == 200
     assert r.text == "answer from port 81\n"
     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 = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False)
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = [line for line in docker_logs if "GET /port" in line]
     docker_logs = [line for line in docker_logs if "GET /port" in line]

+ 29 - 3
test/test_logs/test_log_format.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web1:
   web1:
     image: web
     image: web
@@ -8,9 +12,31 @@ services:
       VIRTUAL_HOST: nginx-proxy.test
       VIRTUAL_HOST: nginx-proxy.test
 
 
   sut:
   sut:
-    container_name: sut
+    profiles:
+      - singleContainer
+    container_name: nginx-proxy
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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'
       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"

+ 1 - 1
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")
     r = nginxproxy.get("http://nginx-proxy.test/port")
     assert r.status_code == 200
     assert r.status_code == 200
     assert r.text == "answer from port 81\n"
     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 = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False)
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = [line for line in docker_logs if "{\"time_local\":" in line]
     docker_logs = [line for line in docker_logs if "{\"time_local\":" in line]

+ 29 - 3
test/test_logs/test_log_json.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web1:
   web1:
     image: web
     image: web
@@ -8,9 +12,31 @@ services:
       VIRTUAL_HOST: nginx-proxy.test
       VIRTUAL_HOST: nginx-proxy.test
 
 
   sut:
   sut:
-    container_name: sut
+    profiles:
+      - singleContainer
+    container_name: nginx-proxy
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     volumes:
-      - /var/run/docker.sock:/tmp/docker.sock:ro
-    environment:
+      - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro
+    environment: &nginxProxyEnv
       LOG_JSON: 1
       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"

+ 1 - 1
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")
     r = nginxproxy.get("http://nginx-proxy.test/port")
     assert r.status_code == 200
     assert r.status_code == 200
     assert r.text == "answer from port 81\n"
     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 = sut_container.logs(stdout=True, stderr=True, stream=False, follow=False)
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = docker_logs.decode("utf-8").splitlines()
     docker_logs = [line for line in docker_logs if "{\"time_local\":" in line]
     docker_logs = [line for line in docker_logs if "{\"time_local\":" in line]

+ 29 - 3
test/test_logs/test_log_json_format.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web1:
   web1:
     image: web
     image: web
@@ -8,9 +12,31 @@ services:
       VIRTUAL_HOST: nginx-proxy.test
       VIRTUAL_HOST: nginx-proxy.test
 
 
   sut:
   sut:
-    container_name: sut
+    profiles:
+      - singleContainer
+    container_name: nginx-proxy
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"}'
       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"

+ 25 - 1
test/test_multiple-hosts.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web:
   web:
     image: web
     image: web
@@ -8,6 +12,26 @@ services:
       VIRTUAL_HOST: webA.nginx-proxy.tld,webB.nginx-proxy.tld
       VIRTUAL_HOST: webA.nginx-proxy.tld,webB.nginx-proxy.tld
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 31 - 2
test/test_multiple-networks.yml

@@ -4,17 +4,46 @@ networks:
   net3a:
   net3a:
   net3b:
   net3b:
 
 
+
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   nginx-proxy:
   nginx-proxy:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     volumes:
-      - /var/run/docker.sock:/tmp/docker.sock:ro
-    networks:
+      - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro
+    networks: &nginxProxyNetworks
       - net1
       - net1
       - net2
       - net2
       - net3a
       - net3a
       - net3b
       - 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:
   web1:
     image: web
     image: web
     expose:
     expose:

+ 26 - 2
test/test_multiports/test_multiports-base-json.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   skipvirtualhost:
   skipvirtualhost:
     image: web
     image: web
@@ -47,7 +51,7 @@ services:
             }
             }
           }
           }
         }
         }
-  
+
   virtualpath:
   virtualpath:
     image: web
     image: web
     expose:
     expose:
@@ -70,6 +74,26 @@ services:
         }
         }
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 26 - 2
test/test_multiports/test_multiports-base-yaml.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   skipvirtualhost:
   skipvirtualhost:
     image: web
     image: web
@@ -36,7 +40,7 @@ services:
         port9000.nginx-proxy.tld:
         port9000.nginx-proxy.tld:
           "/":
           "/":
             port: 9000
             port: 9000
-  
+
   virtualpath:
   virtualpath:
     image: web
     image: web
     expose:
     expose:
@@ -54,6 +58,26 @@ services:
             dest: "/port"
             dest: "/port"
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 25 - 1
test/test_multiports/test_multiports-invalid-syntax.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   invalidsyntax:
   invalidsyntax:
     image: web
     image: web
@@ -37,6 +41,26 @@ services:
             port: 9000
             port: 9000
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 25 - 1
test/test_multiports/test_multiports-merge.yml

@@ -1,3 +1,7 @@
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   merged-singleport:
   merged-singleport:
     image: web
     image: web
@@ -34,6 +38,26 @@ services:
             dest: "/"
             dest: "/"
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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"

+ 29 - 1
test/test_nominal.yml

@@ -5,6 +5,10 @@ networks:
       config:
       config:
         - subnet: fd00:1::/80
         - subnet: fd00:1::/80
 
 
+volumes:
+  nginx_conf:
+
+
 services:
 services:
   web1:
   web1:
     image: web
     image: web
@@ -27,8 +31,32 @@ services:
       - net1
       - net1
 
 
   sut:
   sut:
+    profiles:
+      - singleContainer
     image: nginxproxy/nginx-proxy:test
     image: nginxproxy/nginx-proxy:test
     volumes:
     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:
     networks:
       - net1
       - net1
+    labels:
+      - "com.github.nginx-proxy.nginx-proxy.nginx"