2
0
Эх сурвалжийг харах

test: multiport merge with legacy variable

Nicolas Duchon 1 жил өмнө
parent
commit
1bf7eff04f

+ 14 - 0
test/test_multiports/test_multiports-merge.py

@@ -0,0 +1,14 @@
+import backoff
+import pytest
+
+
+def test_multiports_and_legacy_configs_should_be_merged(docker_compose, nginxproxy):
+    @backoff.on_predicate(backoff.constant, lambda r: r == False, interval=.5, max_tries=20, jitter=None)
+    def answer_contains(answer, url):
+        return answer in nginxproxy.get(url).text
+
+    assert answer_contains("80", "http://merged.nginx-proxy.tld/port")
+    assert answer_contains("81", "http://merged.nginx-proxy.tld/port")
+
+    assert answer_contains("9090", "http://merged.nginx-proxy.tld/foo/port")
+    assert answer_contains("9191", "http://merged.nginx-proxy.tld/foo/port")

+ 41 - 0
test/test_multiports/test_multiports-merge.yml

@@ -0,0 +1,41 @@
+version: "2"
+
+services:
+  merged-singleport:
+    image: web
+    expose:
+      - "80"
+    environment:
+      WEB_PORTS: "80"
+      VIRTUAL_HOST: merged.nginx-proxy.tld
+
+  merged-singleport-virtual-path:
+    image: web
+    expose:
+      - "9090"
+    environment:
+      WEB_PORTS: "9090"
+      VIRTUAL_HOST: merged.nginx-proxy.tld
+      VIRTUAL_PORT: "9090"
+      VIRTUAL_PATH: "/foo"
+      VIRTUAL_DEST: "/"
+
+  merged-multiports:
+    image: web
+    expose:
+      - "81"
+      - "9191"
+    environment:
+      WEB_PORTS: "81 9191"
+      VIRTUAL_HOST_MULTIPORTS: |-
+        merged.nginx-proxy.tld:
+          "/":
+            port: 81
+          "/foo":
+            port: 9191
+            dest: "/"
+
+  sut:
+    image: nginxproxy/nginx-proxy:test
+    volumes:
+      - /var/run/docker.sock:/tmp/docker.sock:ro