mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-02-24 09:48:14 +00:00
21 lines
1.0 KiB
Python
21 lines
1.0 KiB
Python
|
import pytest
|
||
|
import re
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize('url,header,input,want', [
|
||
|
('http://web.nginx-proxy.tld/headers', 'X-Forwarded-Proto', None, 'http'),
|
||
|
('http://web.nginx-proxy.tld/headers', 'X-Forwarded-Proto', 'f00', 'f00'),
|
||
|
('https://web.nginx-proxy.tld/headers', 'X-Forwarded-Proto', None, 'https'),
|
||
|
('https://web.nginx-proxy.tld/headers', 'X-Forwarded-Proto', 'f00', 'f00'),
|
||
|
|
||
|
('http://web.nginx-proxy.tld/headers', 'X-Forwarded-Port', None, '80'),
|
||
|
('http://web.nginx-proxy.tld/headers', 'X-Forwarded-Port', '1234', '1234'),
|
||
|
('https://web.nginx-proxy.tld/headers', 'X-Forwarded-Port', None, '443'),
|
||
|
('https://web.nginx-proxy.tld/headers', 'X-Forwarded-Port', '1234', '1234'),
|
||
|
])
|
||
|
def test_downstream_proxy_header(docker_compose, nginxproxy, url, header, input, want):
|
||
|
kwargs = {} if input is None else {'headers': {header: input}}
|
||
|
r = nginxproxy.get(url, **kwargs)
|
||
|
assert r.status_code == 200
|
||
|
assert re.search(fr'(?m)^(?i:{re.escape(header)}): {re.escape(want)}$', r.text)
|