|
@@ -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
|