junderw 3 anni fa
parent
commit
820d4a29ac
2 ha cambiato i file con 48 aggiunte e 0 eliminazioni
  1. 34 0
      test/test_ssl/test_redirect.py
  2. 14 0
      test/test_ssl/test_redirect.yml

+ 34 - 0
test/test_ssl/test_redirect.py

@@ -0,0 +1,34 @@
+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://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 301
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'
+
+def test_web1_POST_308(docker_compose, nginxproxy):
+    r = nginxproxy.post('http://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 308
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'
+
+def test_web1_PUT_308(docker_compose, nginxproxy):
+    r = nginxproxy.put('http://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 308
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'
+
+def test_web1_HEAD_308(docker_compose, nginxproxy):
+    r = nginxproxy.head('http://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 308
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'
+
+def test_web1_DELETE_308(docker_compose, nginxproxy):
+    r = nginxproxy.delete('http://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 308
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'
+
+def test_web1_OPTIONS_308(docker_compose, nginxproxy):
+    r = nginxproxy.options('http://web1.nginx-proxy.tld', allow_redirects=False)
+    assert r.status_code == 308
+    assert r.headers['Location'] == 'https://web1.nginx-proxy.tld/'

+ 14 - 0
test/test_ssl/test_redirect.yml

@@ -0,0 +1,14 @@
+web1:
+  image: web
+  expose:
+    - "81"
+  environment:
+    WEB_PORTS: "81"
+    VIRTUAL_HOST: "web1.nginx-proxy.tld"
+
+sut:
+  image: nginxproxy/nginx-proxy:test
+  volumes:
+    - /var/run/docker.sock:/tmp/docker.sock:ro
+    - ../lib/ssl/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro
+    - ./certs:/etc/nginx/certs:ro