test_https-port.py 1.2 KB

1234567891011121314151617181920212223242526272829
  1. import pytest
  2. @pytest.mark.parametrize("subdomain", ["foo", "bar"])
  3. def test_web1_http_redirects_to_https(docker_compose, nginxproxy, subdomain):
  4. r = nginxproxy.get("http://%s.nginx-proxy.tld:8080/" % subdomain, allow_redirects=False)
  5. assert r.status_code == 301
  6. assert "Location" in r.headers
  7. assert "https://%s.nginx-proxy.tld:8443/" % subdomain == r.headers['Location']
  8. @pytest.mark.parametrize("subdomain", ["foo", "bar"])
  9. def test_web1_https_is_forwarded(docker_compose, nginxproxy, subdomain):
  10. r = nginxproxy.get("https://%s.nginx-proxy.tld:8443/port" % subdomain, allow_redirects=False)
  11. assert r.status_code == 200
  12. assert "answer from port 81\n" in r.text
  13. def test_nonstandardport_Host_header(docker_compose, nginxproxy):
  14. r = nginxproxy.get("https://web.nginx-proxy.tld:8443/headers")
  15. assert r.status_code == 200
  16. assert "Host: web.nginx-proxy.tld:8443" in r.text
  17. @pytest.mark.parametrize("subdomain", ["foo", "bar"])
  18. def test_web1_acme_challenge_works(docker_compose, nginxproxy, acme_challenge_path, subdomain):
  19. r = nginxproxy.get(
  20. f"http://{subdomain}.nginx-proxy.tld:8080/{acme_challenge_path}",
  21. allow_redirects=False
  22. )
  23. assert r.status_code == 200
  24. assert "challenge-teststring\n" in r.text