2017-11-09 03:30:24 +00:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
def test_web1_HSTS_default(docker_compose, nginxproxy):
|
|
|
|
r = nginxproxy.get("https://web1.nginx-proxy.tld/port", allow_redirects=False)
|
|
|
|
assert "answer from port 81\n" in r.text
|
|
|
|
assert "Strict-Transport-Security" in r.headers
|
|
|
|
assert "max-age=31536000" == r.headers["Strict-Transport-Security"]
|
|
|
|
|
2018-03-26 18:58:06 +00:00
|
|
|
# Regression test to ensure HSTS is enabled even when the upstream sends an error in response
|
|
|
|
# Issue #1073 https://github.com/jwilder/nginx-proxy/pull/1073
|
|
|
|
def test_web1_HSTS_error(docker_compose, nginxproxy):
|
|
|
|
r = nginxproxy.get("https://web1.nginx-proxy.tld/status/500", allow_redirects=False)
|
|
|
|
assert "Strict-Transport-Security" in r.headers
|
|
|
|
assert "max-age=31536000" == r.headers["Strict-Transport-Security"]
|
|
|
|
|
2017-11-09 03:30:24 +00:00
|
|
|
def test_web2_HSTS_off(docker_compose, nginxproxy):
|
|
|
|
r = nginxproxy.get("https://web2.nginx-proxy.tld/port", allow_redirects=False)
|
|
|
|
assert "answer from port 81\n" in r.text
|
|
|
|
assert "Strict-Transport-Security" not in r.headers
|
|
|
|
|
|
|
|
def test_web3_HSTS_custom(docker_compose, nginxproxy):
|
|
|
|
r = nginxproxy.get("https://web3.nginx-proxy.tld/port", allow_redirects=False)
|
|
|
|
assert "answer from port 81\n" in r.text
|
|
|
|
assert "Strict-Transport-Security" in r.headers
|
|
|
|
assert "max-age=86400; includeSubDomains; preload" == r.headers["Strict-Transport-Security"]
|
2018-03-26 17:27:30 +00:00
|
|
|
|
|
|
|
# Regression test for issue 1080
|
|
|
|
# https://github.com/jwilder/nginx-proxy/issues/1080
|
|
|
|
def test_web4_HSTS_off_noredirect(docker_compose, nginxproxy):
|
|
|
|
r = nginxproxy.get("https://web4.nginx-proxy.tld/port", allow_redirects=False)
|
|
|
|
assert "answer from port 81\n" in r.text
|
|
|
|
assert "Strict-Transport-Security" not in r.headers
|