test_location-per-vhost.py 1.2 KB

1234567891011121314151617181920212223242526272829
  1. import pytest
  2. def test_custom_conf_does_not_apply_to_unknown_vhost(docker_compose, nginxproxy):
  3. r = nginxproxy.get("http://nginx-proxy/")
  4. assert r.status_code == 503
  5. assert "X-test" not in r.headers
  6. def test_custom_conf_applies_to_web1(docker_compose, nginxproxy):
  7. r = nginxproxy.get("http://web1.nginx-proxy.example/port")
  8. assert r.status_code == 200
  9. assert r.text == "answer from port 81\n"
  10. assert "X-test" in r.headers
  11. assert "f00" == r.headers["X-test"]
  12. def test_custom_conf_applies_to_regex(docker_compose, nginxproxy):
  13. r = nginxproxy.get("http://regex.foo.nginx-proxy.example/port")
  14. assert r.status_code == 200
  15. assert r.text == "answer from port 83\n"
  16. assert "X-test" in r.headers
  17. assert "bar" == r.headers["X-test"]
  18. def test_custom_conf_does_not_apply_to_web2(docker_compose, nginxproxy):
  19. r = nginxproxy.get("http://web2.nginx-proxy.example/port")
  20. assert r.status_code == 200
  21. assert r.text == "answer from port 82\n"
  22. assert "X-test" not in r.headers
  23. def test_custom_block_is_present_in_nginx_generated_conf(docker_compose, nginxproxy):
  24. assert b"include /etc/nginx/vhost.d/web1.nginx-proxy.example_location;" in nginxproxy.get_conf()