test_keepalive.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import re
  2. def test_keepalive_disabled(docker_compose, nginxproxy):
  3. r = nginxproxy.get("http://keepalive-disabled.nginx-proxy.test/headers")
  4. assert r.status_code == 200
  5. assert re.search(fr'(?m)^(?i:Connection): close$', r.text)
  6. def test_keepalive_disabled_other_headers_ok(docker_compose, nginxproxy):
  7. """Make sure the other proxy_set_header headers are still set.
  8. According to the nginx docs [1], any proxy_set_header directive in a block
  9. disables inheritance of proxy_set_header directives in a parent block. Make
  10. sure that doesn't happen.
  11. [1] https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header
  12. """
  13. r = nginxproxy.get("http://keepalive-disabled.nginx-proxy.test/headers")
  14. assert r.status_code == 200
  15. assert re.search(fr'(?m)^(?i:X-Real-IP): ', r.text)
  16. def test_keepalive_enabled(docker_compose, nginxproxy):
  17. conf = nginxproxy.get_conf().decode('ASCII')
  18. assert re.search(r"keepalive 64\;", conf)
  19. r = nginxproxy.get("http://keepalive-enabled.nginx-proxy.test/headers")
  20. assert r.status_code == 200
  21. assert not re.search(fr'(?m)^(?i:Connection):', r.text)
  22. def test_keepalive_auto_enabled(docker_compose, nginxproxy):
  23. conf = nginxproxy.get_conf().decode('ASCII')
  24. assert re.search(r"keepalive 8\;", conf)
  25. r = nginxproxy.get("http://keepalive-auto.nginx-proxy.test/headers")
  26. assert r.status_code == 200
  27. assert not re.search(fr'(?m)^(?i:Connection):', r.text)
  28. def test_keepalive_enabled_other_headers_ok(docker_compose, nginxproxy):
  29. """See the docstring for the disabled case above."""
  30. r = nginxproxy.get("http://keepalive-enabled.nginx-proxy.test/headers")
  31. assert r.status_code == 200
  32. assert re.search(fr'(?m)^(?i:X-Real-IP): ', r.text)