1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-02-24 01:38:15 +00:00

tests: parameterize test

This commit is contained in:
Nicolas Duchon 2024-12-08 19:41:31 +01:00
parent 923f05032f
commit 8447a36046

View File

@ -1,34 +1,28 @@
import pytest
# These tests are to test that GET is 301 and other methods all use 308
# Permanent Redirects
# https://github.com/nginx-proxy/nginx-proxy/pull/1737
def test_web1_GET_301(docker_compose, nginxproxy):
r = nginxproxy.get('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 301
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
def test_web1_POST_308(docker_compose, nginxproxy):
r = nginxproxy.post('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 308
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
def test_web1_PUT_308(docker_compose, nginxproxy):
r = nginxproxy.put('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 308
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
def test_web1_HEAD_308(docker_compose, nginxproxy):
r = nginxproxy.head('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 308
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
def test_web1_DELETE_308(docker_compose, nginxproxy):
r = nginxproxy.delete('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 308
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
def test_web1_OPTIONS_308(docker_compose, nginxproxy):
r = nginxproxy.options('http://nginx-proxy.tld', allow_redirects=False)
assert r.status_code == 308
assert r.headers['Location'] == 'https://nginx-proxy.tld/'
@pytest.mark.parametrize("http_method,expected_code", [
("GET", 301),
("HEAD", 308),
("POST", 308),
("PUT", 308),
("PATCH", 308),
("DELETE", 308),
("OPTIONS", 308),
("CONNECT", 405),
("TRACE", 405),
])
def test_default_redirect_by_method(
docker_compose,
nginxproxy,
http_method: str,
expected_code: int,
):
r = nginxproxy.request(
method=http_method,
url='http://nginx-proxy.tld',
allow_redirects=False,
)
assert r.status_code == expected_code
if expected_code in { 301, 302, 307, 308 }:
assert r.headers['Location'] == 'https://nginx-proxy.tld/'