From d10531e9259791b8f6f416240c0781f229d3b67c Mon Sep 17 00:00:00 2001 From: Nicolas Duchon Date: Tue, 17 Aug 2021 21:34:50 +0200 Subject: [PATCH] tests: predictable upstream names --- .../test_predictable-name.py | 7 +++++++ .../test_predictable-name.yml | 16 ++++++++++++++++ test/test_upstream-name/test_sha1-name.py | 12 ++++++++++++ test/test_upstream-name/test_sha1-name.yml | 18 ++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 test/test_upstream-name/test_predictable-name.py create mode 100644 test/test_upstream-name/test_predictable-name.yml create mode 100644 test/test_upstream-name/test_sha1-name.py create mode 100644 test/test_upstream-name/test_sha1-name.yml diff --git a/test/test_upstream-name/test_predictable-name.py b/test/test_upstream-name/test_predictable-name.py new file mode 100644 index 0000000..7e19646 --- /dev/null +++ b/test/test_upstream-name/test_predictable-name.py @@ -0,0 +1,7 @@ +import pytest +import re + + +def test_predictable_upstream_is_present_in_nginx_generated_conf(docker_compose, nginxproxy): + conf = nginxproxy.get_conf().decode('ASCII') + assert re.search(r"upstream web\.nginx-proxy\.tld \{", conf) diff --git a/test/test_upstream-name/test_predictable-name.yml b/test/test_upstream-name/test_predictable-name.yml new file mode 100644 index 0000000..1265230 --- /dev/null +++ b/test/test_upstream-name/test_predictable-name.yml @@ -0,0 +1,16 @@ +version: '2' + +services: + web: + image: web + expose: + - "80" + environment: + WEB_PORTS: 80 + VIRTUAL_HOST: web.nginx-proxy.tld + + 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 diff --git a/test/test_upstream-name/test_sha1-name.py b/test/test_upstream-name/test_sha1-name.py new file mode 100644 index 0000000..663ca28 --- /dev/null +++ b/test/test_upstream-name/test_sha1-name.py @@ -0,0 +1,12 @@ +import pytest +import re + + +def test_sha1_upstream_is_present_in_nginx_generated_conf(docker_compose, nginxproxy): + conf = nginxproxy.get_conf().decode('ASCII') + assert re.search(r"upstream 3e837201a6255962094cd6d8f61e22b07d3cc8ed \{", conf) + +def test_sha1_upstream_forwards_correctly(docker_compose, nginxproxy): + r = nginxproxy.get("http://web.nginx-proxy.tld/port") + assert r.status_code == 200 + assert r.text == "answer from port 80\n" diff --git a/test/test_upstream-name/test_sha1-name.yml b/test/test_upstream-name/test_sha1-name.yml new file mode 100644 index 0000000..d2095f3 --- /dev/null +++ b/test/test_upstream-name/test_sha1-name.yml @@ -0,0 +1,18 @@ +version: '2' + +services: + web: + image: web + expose: + - "80" + environment: + WEB_PORTS: 80 + VIRTUAL_HOST: web.nginx-proxy.tld + + 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 + environment: + SHA1_UPSTREAM_NAME: "true"