1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-02-24 17:58:16 +00:00
nginx-proxy/test/test_ssl/test_virtual_path.py
Povilas Kanapickas d6c38a0bab tests: Add tests for how Let's Encrypt ACME challenge is handled
At the moment no changes to functionality are done, only the current
behavior is captured.
2024-05-06 13:07:04 +03:00

25 lines
1.0 KiB
Python

import pytest
from requests import ConnectionError
@pytest.mark.parametrize("path", ["web1", "web2"])
def test_web1_http_redirects_to_https(docker_compose, nginxproxy, path):
r = nginxproxy.get("http://www.nginx-proxy.tld/%s/port" % path, allow_redirects=False)
assert r.status_code == 301
assert "Location" in r.headers
assert "https://www.nginx-proxy.tld/%s/port" % path == r.headers['Location']
@pytest.mark.parametrize("path,port", [("web1", 81), ("web2", 82)])
def test_web1_https_is_forwarded(docker_compose, nginxproxy, path, port):
r = nginxproxy.get("https://www.nginx-proxy.tld/%s/port" % path, allow_redirects=False)
assert r.status_code == 200
assert "answer from port %d\n" % port in r.text
@pytest.mark.parametrize("port", [81, 82])
def test_acme_challenge_does_not_work(docker_compose, nginxproxy, acme_challenge_path, port):
with pytest.raises(ConnectionError):
nginxproxy.get(
f"http://www.nginx-proxy.tld:{port}/{acme_challenge_path}",
allow_redirects=False
)