2
0

test_wildcard-host.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import pytest
  2. @pytest.mark.parametrize("host,expected_port", [
  3. ("f00.nginx-proxy.test", 81),
  4. ("bar.nginx-proxy.test", 81),
  5. ("test.nginx-proxy.f00", 82),
  6. ("test.nginx-proxy.bar", 82),
  7. ("web3.123.nginx-proxy.regexp", 83),
  8. ("web3.ABC.nginx-proxy.regexp", 83),
  9. ("web3.123.ABC.nginx-proxy.regexp", 83),
  10. ("web3.123-ABC.nginx-proxy.regexp", 83),
  11. ("web3.whatever.nginx-proxy.regexp-to-infinity-and-beyond", 83),
  12. ("web4.123.nginx-proxy.regexp", 84),
  13. ("web4.ABC.nginx-proxy.regexp", 84),
  14. ("web4.123.ABC.nginx-proxy.regexp", 84),
  15. ("web4.123-ABC.nginx-proxy.regexp", 84),
  16. ("web4.whatever.nginx-proxy.regexp", 84),
  17. ])
  18. def test_wildcard_prefix(docker_compose, nginxproxy, host, expected_port):
  19. r = nginxproxy.get(f"http://{host}/port")
  20. assert r.status_code == 200
  21. assert r.text == f"answer from port {expected_port}\n"
  22. @pytest.mark.parametrize("host", [
  23. "unexpected.nginx-proxy.tld",
  24. "web4.whatever.nginx-proxy.regexp-to-infinity-and-beyond"
  25. ])
  26. def test_non_matching_host_is_503(docker_compose, nginxproxy, host):
  27. r = nginxproxy.get(f"http://{host}/port")
  28. assert r.status_code == 503, r.text