mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-02-24 01:38:15 +00:00
test: paths are stripped from debug endpoint response if too long
This commit is contained in:
parent
190030745c
commit
9114b8047d
@ -2,23 +2,35 @@ import json
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
def test_debug_endpoint_is_enabled_globally(docker_compose, nginxproxy):
|
def test_debug_endpoint_is_enabled_globally(docker_compose, nginxproxy):
|
||||||
r = nginxproxy.get("http://enabled1.debug.nginx-proxy.example/nginx-proxy-debug")
|
r = nginxproxy.get("http://enabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
r = nginxproxy.get("http://enabled2.debug.nginx-proxy.example/nginx-proxy-debug")
|
r = nginxproxy.get("http://stripped.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
def test_debug_endpoint_response_contains_expected_values(docker_compose, nginxproxy):
|
def test_debug_endpoint_response_contains_expected_values(docker_compose, nginxproxy):
|
||||||
r = nginxproxy.get("http://enabled1.debug.nginx-proxy.example/nginx-proxy-debug")
|
r = nginxproxy.get("http://enabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
try:
|
try:
|
||||||
jsonResponse = json.loads(r.text)
|
jsonResponse = json.loads(r.text)
|
||||||
except ValueError as err:
|
except ValueError as err:
|
||||||
pytest.fail("Failed to parse JSON response: %s" % err, pytrace=False)
|
pytest.fail("Failed to parse debug endpoint response as JSON: %s" % err, pytrace=False)
|
||||||
assert jsonResponse["global"]["enable_debug_endpoint"] == "true"
|
assert jsonResponse["global"]["enable_debug_endpoint"] == "true"
|
||||||
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
||||||
|
|
||||||
|
|
||||||
|
def test_debug_endpoint_pahts_stripped_if_response_too_long(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://stripped.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||||
|
assert r.status_code == 200
|
||||||
|
try:
|
||||||
|
jsonResponse = json.loads(r.text)
|
||||||
|
except ValueError as err:
|
||||||
|
pytest.fail("Failed to parse debug endpoint response as JSON: %s" % err, pytrace=False)
|
||||||
|
if "paths" in jsonResponse["vhost"]:
|
||||||
|
pytest.fail("Expected paths to be stripped from debug endpoint response", pytrace=False)
|
||||||
|
assert jsonResponse["warning"] == "Virtual paths configuration for this hostname is too large and has been stripped from response."
|
||||||
|
|
||||||
|
|
||||||
def test_debug_endpoint_is_disabled_per_container(docker_compose, nginxproxy):
|
def test_debug_endpoint_is_disabled_per_container(docker_compose, nginxproxy):
|
||||||
r = nginxproxy.get("http://disabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
r = nginxproxy.get("http://disabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||||
assert r.status_code == 404
|
assert r.status_code == 404
|
||||||
|
@ -6,21 +6,42 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
DEBUG_ENDPOINT: "true"
|
DEBUG_ENDPOINT: "true"
|
||||||
|
|
||||||
debug_enabled1:
|
debug_enabled:
|
||||||
image: web
|
image: web
|
||||||
expose:
|
expose:
|
||||||
- "81"
|
- "81"
|
||||||
environment:
|
environment:
|
||||||
WEB_PORTS: 81
|
WEB_PORTS: 81
|
||||||
VIRTUAL_HOST: enabled1.debug.nginx-proxy.example
|
VIRTUAL_HOST: enabled.debug.nginx-proxy.example
|
||||||
|
|
||||||
debug_enabled2:
|
debug_stripped:
|
||||||
image: web
|
image: web
|
||||||
expose:
|
expose:
|
||||||
- "82"
|
- "82"
|
||||||
environment:
|
environment:
|
||||||
WEB_PORTS: 82
|
WEB_PORTS: 82
|
||||||
VIRTUAL_HOST: enabled2.debug.nginx-proxy.example
|
VIRTUAL_HOST_MULTIPORTS: |-
|
||||||
|
stripped.debug.nginx-proxy.example:
|
||||||
|
"/1":
|
||||||
|
"/2":
|
||||||
|
"/3":
|
||||||
|
"/4":
|
||||||
|
"/5":
|
||||||
|
"/6":
|
||||||
|
"/7":
|
||||||
|
"/8":
|
||||||
|
"/9":
|
||||||
|
"/10":
|
||||||
|
"/11":
|
||||||
|
"/12":
|
||||||
|
"/13":
|
||||||
|
"/14":
|
||||||
|
"/15":
|
||||||
|
"/16":
|
||||||
|
"/17":
|
||||||
|
"/18":
|
||||||
|
"/19":
|
||||||
|
"/20":
|
||||||
|
|
||||||
debug_disabled:
|
debug_disabled:
|
||||||
image: web
|
image: web
|
||||||
|
@ -19,6 +19,6 @@ def test_debug_endpoint_response_contains_expected_values(docker_compose, nginxp
|
|||||||
try:
|
try:
|
||||||
jsonResponse = json.loads(r.text)
|
jsonResponse = json.loads(r.text)
|
||||||
except ValueError as err:
|
except ValueError as err:
|
||||||
pytest.fail("Failed to parse JSON response: %s" % err, pytrace=False)
|
pytest.fail("Failed to parse debug endpoint response as JSON:: %s" % err, pytrace=False)
|
||||||
assert jsonResponse["global"]["enable_debug_endpoint"] == "false"
|
assert jsonResponse["global"]["enable_debug_endpoint"] == "false"
|
||||||
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user