Ver código fonte

TESTS: add tests for IPv6 support

Thomas LEVEIL 8 anos atrás
pai
commit
250a01d235
3 arquivos alterados com 62 adições e 15 exclusões
  1. 35 0
      test2/test_ipv6.py
  2. 23 0
      test2/test_ipv6.yml
  3. 4 15
      test2/test_nominal.py

+ 35 - 0
test2/test_ipv6.py

@@ -0,0 +1,35 @@
+import pytest
+
+
+def test_unknown_virtual_host_ipv4(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://nginx-proxy/port")
+    assert r.status_code == 503
+
+
+def test_forwards_to_web1_ipv4(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://web1.nginx-proxy.tld/port")
+    assert r.status_code == 200   
+    assert r.text == "answer from port 81\n"
+
+
+def test_forwards_to_web2_ipv4(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://web2.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert r.text == "answer from port 82\n" 
+
+
+def test_unknown_virtual_host_ipv6(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://nginx-proxy/port", ipv6=True)
+    assert r.status_code == 503
+
+
+def test_forwards_to_web1_ipv6(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://web1.nginx-proxy.tld/port", ipv6=True)
+    assert r.status_code == 200   
+    assert r.text == "answer from port 81\n"
+
+
+def test_forwards_to_web2_ipv6(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://web2.nginx-proxy.tld/port", ipv6=True)
+    assert r.status_code == 200
+    assert r.text == "answer from port 82\n" 

+ 23 - 0
test2/test_ipv6.yml

@@ -0,0 +1,23 @@
+web1:
+  image: web 
+  expose:
+    - "81"
+  environment:
+    WEB_PORTS: 81
+    VIRTUAL_HOST: web1.nginx-proxy.tld
+
+web2:
+  image: web
+  expose: 
+    - "82"
+  environment:
+    WEB_PORTS: 82
+    VIRTUAL_HOST: web2.nginx-proxy.tld
+
+
+sut:
+  image: jwilder/nginx-proxy:test
+  volumes:
+    - /var/run/docker.sock:/tmp/docker.sock:ro
+  environment:
+    ENABLE_IPV6: "true"

+ 4 - 15
test2/test_nominal.py

@@ -1,4 +1,5 @@
 import pytest
+from requests import ConnectionError
 
 
 def test_unknown_virtual_host(docker_compose, nginxproxy):
@@ -18,18 +19,6 @@ def test_forwards_to_web2(docker_compose, nginxproxy):
     assert r.text == "answer from port 82\n" 
 
 
-def test_unknown_virtual_host_ipv6(docker_compose, nginxproxy):
-    r = nginxproxy.get("http://nginx-proxy/port", ipv6=True)
-    assert r.status_code == 503
-
-
-def test_forwards_to_web1_ipv6(docker_compose, nginxproxy):
-    r = nginxproxy.get("http://web1.nginx-proxy.tld/port", ipv6=True)
-    assert r.status_code == 200   
-    assert r.text == "answer from port 81\n"
-
-
-def test_forwards_to_web2_ipv6(docker_compose, nginxproxy):
-    r = nginxproxy.get("http://web2.nginx-proxy.tld/port", ipv6=True)
-    assert r.status_code == 200
-    assert r.text == "answer from port 82\n" 
+def test_ipv6_is_disabled_by_default(docker_compose, nginxproxy):
+    with pytest.raises(ConnectionError):
+        nginxproxy.get("http://nginx-proxy/port", ipv6=True)