Kaynağa Gözat

test: multiports base test

Nicolas Duchon 1 yıl önce
ebeveyn
işleme
216eae9f70

+ 39 - 0
test/test_multiports/test_multiports-base.py

@@ -0,0 +1,39 @@
+import pytest
+
+
+def test_virtual_host_is_dropped_when_using_multiports(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://notskipped.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 81\n" in r.text
+    r = nginxproxy.get("http://skipped.nginx-proxy.tld/")
+    assert r.status_code == 503
+
+
+def test_answer_is_served_from_port_80_by_default(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://port80.a.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 80\n" in r.text
+    r = nginxproxy.get("http://port80.b.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 80\n" in r.text
+    r = nginxproxy.get("http://port80.c.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 80\n" in r.text
+
+
+def test_answer_is_served_from_chosen_ports(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://port8080.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 8080\n" in r.text
+    r = nginxproxy.get("http://port9000.nginx-proxy.tld/port")
+    assert r.status_code == 200
+    assert "answer from port 9000\n" in r.text
+
+
+def test_answer_is_served_from_chosen_ports_and_dest(docker_compose, nginxproxy):
+    r = nginxproxy.get("http://virtualpaths.nginx-proxy.tld/rootdest/port")
+    assert r.status_code == 200
+    assert "answer from port 10001\n" in r.text
+    r = nginxproxy.get("http://virtualpaths.nginx-proxy.tld/customdest")
+    assert r.status_code == 200
+    assert "answer from port 10002\n" in r.text

+ 61 - 0
test/test_multiports/test_multiports-base.yml

@@ -0,0 +1,61 @@
+version: "2"
+
+services:
+  skipvirtualhost:
+    image: web
+    expose:
+      - "81"
+    environment:
+      WEB_PORTS: "81"
+      VIRTUAL_HOST: skipped.nginx-proxy.tld
+      VIRTUAL_HOST_YAML: |-
+        notskipped.nginx-proxy.tld:
+
+  defaultport:
+    image: web
+    expose:
+      - "80"
+      - "8080"
+    environment:
+      WEB_PORTS: "80 8080"
+      VIRTUAL_HOST_YAML: |-
+        port80.a.nginx-proxy.tld:
+        port80.b.nginx-proxy.tld:
+        port80.c.nginx-proxy.tld:
+          "/":
+
+  multiports:
+    image: web
+    expose:
+      - "8080"
+      - "9000"
+    environment:
+      WEB_PORTS: "8080 9000"
+      VIRTUAL_HOST_YAML: |-
+        port8080.nginx-proxy.tld:
+          "/":
+            port: 8080
+        port9000.nginx-proxy.tld:
+          "/":
+            port: 9000
+  
+  virtualpath:
+    image: web
+    expose:
+      - "10001"
+      - "10002"
+    environment:
+      WEB_PORTS: "10001 10002"
+      VIRTUAL_HOST_YAML: |-
+        virtualpaths.nginx-proxy.tld:
+          "/rootdest":
+            port: 10001
+            dest: "/"
+          "/customdest":
+            port: 10002
+            dest: "/port"
+
+  sut:
+    image: nginxproxy/nginx-proxy:test
+    volumes:
+      - /var/run/docker.sock:/tmp/docker.sock:ro