Bläddra i källkod

test: configurable external ports w/ VIRTUAL_HOST_MULTIPORTS

Nicolas Duchon 1 månad sedan
förälder
incheckning
29d7cfa172

+ 35 - 0
test/test_external_ports/test_virtual-host-multiport-base.py

@@ -0,0 +1,35 @@
+def test_web1_has_custom_http_and_https_ports(docker_compose, nginxproxy):
+    r1 = nginxproxy.get("http://web1.nginx-proxy.tld:8080/port", allow_redirects=False)
+    assert r1.status_code == 301
+    assert r1.headers['Location'] == 'https://web1.nginx-proxy.tld:8443/port'
+    
+    r2 = nginxproxy.get(r1.headers['Location'], allow_redirects=False)
+    assert r2.status_code == 200
+    assert "answer from port 81\n" in r2.text
+
+def test_web2_has_default_http_port_and_custom_https_port(docker_compose, nginxproxy):
+    r1 = nginxproxy.get("http://web2.nginx-proxy.tld/port", allow_redirects=False)
+    assert r1.status_code == 301
+    assert r1.headers['Location'] == 'https://web2.nginx-proxy.tld:8443/port'
+
+    r2 = nginxproxy.get(r1.headers['Location'], allow_redirects=False)
+    assert r2.status_code == 200
+    assert "answer from port 82\n" in r2.text
+
+def test_web3_has_custom_http_port_and_default_https_port(docker_compose, nginxproxy):
+    r1 = nginxproxy.get("http://web3.nginx-proxy.tld:8080/port", allow_redirects=False)
+    assert r1.status_code == 301
+    assert r1.headers['Location'] == 'https://web3.nginx-proxy.tld/port'
+
+    r2 = nginxproxy.get(r1.headers['Location'], allow_redirects=False)
+    assert r2.status_code == 200
+    assert "answer from port 83\n" in r2.text
+
+def test_web4_has_default_http_and_https_ports(docker_compose, nginxproxy):
+    r1 = nginxproxy.get("http://web4.nginx-proxy.tld/port", allow_redirects=False)
+    assert r1.status_code == 301
+    assert r1.headers['Location'] == 'https://web4.nginx-proxy.tld/port'
+
+    r2 = nginxproxy.get(r1.headers['Location'], allow_redirects=False)
+    assert r2.status_code == 200
+    assert "answer from port 84\n" in r2.text

+ 27 - 0
test/test_external_ports/test_virtual-host-multiport-base.yml

@@ -0,0 +1,27 @@
+services:
+  web:
+    image: web
+    expose:
+      - "81"
+      - "82"
+      - "83"
+      - "84"
+    environment:
+      WEB_PORTS: "81 82 83 84"
+      VIRTUAL_HOST_MULTIPORTS: |-
+        web1.nginx-proxy.tld:
+          external_http_port: 8080
+          external_https_port: 8443
+          "/":
+            port: 81
+        web2.nginx-proxy.tld:
+          external_https_port: 8443
+          "/":
+            port: 82
+        web3.nginx-proxy.tld:
+          external_http_port: 8080
+          "/":
+            port: 83
+        web4.nginx-proxy.tld:
+          "/":
+            port: 84