1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-02-24 01:38:15 +00:00

tests: certificate selection

This commit is contained in:
Nicolas Duchon 2024-12-07 20:15:44 +01:00
parent 271e31dec4
commit 30299e69bc
2 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,25 @@
import json
import pytest
@pytest.mark.parametrize("host,expected_cert_ok,expected_cert", [
("nginx-proxy.tld", True, "nginx-proxy.tld"),
("web1.nginx-proxy.tld", True, "nginx-proxy.tld"),
("sub.web1.nginx-proxy.tld", False, ""),
("web2.nginx-proxy.tld", True, "web2.nginx-proxy.tld"),
])
def test_certificate_selection(
docker_compose,
nginxproxy,
host: str,
expected_cert_ok: bool,
expected_cert: str,
):
r = nginxproxy.get(f"http://{host}/nginx-proxy-debug")
assert r.status_code == 200
try:
jsonResponse = json.loads(r.text)
except ValueError as err:
pytest.fail("Failed to parse debug endpoint response as JSON:: %s" % err, pytrace=False)
assert jsonResponse["vhost"]["cert_ok"] == expected_cert_ok
assert jsonResponse["vhost"]["cert"] == expected_cert

View File

@ -0,0 +1,33 @@
services:
base:
image: web
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "nginx-proxy.tld"
web1:
image: web
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "web1.nginx-proxy.tld"
sub-web1:
image: web
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "sub.web1.nginx-proxy.tld"
web2:
image: web
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "web2.nginx-proxy.tld"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro
environment:
DEBUG_ENDPOINT: "true"