test_cert-selection.py 865 B

1234567891011121314151617181920212223242526
  1. import json
  2. import pytest
  3. @pytest.mark.parametrize("host,expected_cert_ok,expected_cert", [
  4. ("https://nginx-proxy.tld", True, "nginx-proxy.tld"),
  5. ("https://www.nginx-proxy.tld", True, "nginx-proxy.tld"),
  6. ("http://subdomain.www.nginx-proxy.tld", False, ""),
  7. ("https://web1.nginx-proxy.tld", True, "web1.nginx-proxy.tld"),
  8. ])
  9. def test_certificate_selection(
  10. docker_compose,
  11. nginxproxy,
  12. host: str,
  13. expected_cert_ok: bool,
  14. expected_cert: str,
  15. ):
  16. r = nginxproxy.get(f"{host}/nginx-proxy-debug")
  17. assert r.status_code == 200
  18. try:
  19. jsonResponse = json.loads(r.text)
  20. except ValueError as err:
  21. pytest.fail("Failed to parse debug endpoint response as JSON:: %s" % err, pytrace=False)
  22. assert jsonResponse["vhost"]["cert_ok"] == expected_cert_ok
  23. assert jsonResponse["vhost"]["cert"] == expected_cert