test_cert-selection.py 896 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. json_response = json.loads(r.text)
  20. assert json_response["vhost"]["cert_ok"] == expected_cert_ok
  21. assert json_response["vhost"]["cert"] == expected_cert
  22. except ValueError as err:
  23. pytest.fail("Failed to parse debug endpoint response as JSON:: %s" % err, pytrace=False)