Ver Fonte

test: add test_server-down/test_load-balancing

Check that when multiple containers have the same WIRTUAL_HOST and one of
them is unreachable, the resulting `upstream` block has no
`server 127.0.0.1 down;` entry.
Gilles Filippini há 4 anos atrás
pai
commit
a637b399b8

+ 8 - 0
test/test_server-down/test_load-balancing.py

@@ -0,0 +1,8 @@
+import pytest
+
+def test_web_has_no_server_down(docker_compose, nginxproxy):
+    conf = nginxproxy.get_conf().decode('ASCII')
+    r = nginxproxy.get("http://web.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert (r.text == "answer from port 81\n") or (r.text == "answer from port 82\n")
+    assert conf.count("server 127.0.0.1 down;") == 0

+ 30 - 0
test/test_server-down/test_load-balancing.yml

@@ -0,0 +1,30 @@
+web1:
+  image: web
+  expose:
+    - "81"
+  environment:
+    WEB_PORTS: 81
+    VIRTUAL_HOST: web.nginx-proxy.tld
+
+web2:
+  image: web
+  expose:
+    - "82"
+  environment:
+    WEB_PORTS: 83
+    VIRTUAL_HOST: web.nginx-proxy.tld
+
+web3:
+  image: web
+  expose:
+    - "83"
+  environment:
+    WEB_PORTS: 83
+    VIRTUAL_HOST: web.nginx-proxy.tld
+  net: "none"
+
+sut:
+  image: nginxproxy/nginx-proxy:test
+  volumes:
+    - /var/run/docker.sock:/tmp/docker.sock:ro
+    - ../lib/ssl/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro