mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-07-02 14:55:46 +00:00
tests: standardize file structure & naming
This commit is contained in:
48
test/test_debug-endpoint/test_global.py
Normal file
48
test/test_debug-endpoint/test_global.py
Normal file
@ -0,0 +1,48 @@
|
||||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def test_debug_endpoint_is_enabled_globally(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://enabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 200
|
||||
r = nginxproxy.get("http://stripped.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 200
|
||||
|
||||
|
||||
def test_debug_endpoint_response_contains_expected_values(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://enabled.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)
|
||||
assert jsonResponse["global"]["enable_debug_endpoint"] == "true"
|
||||
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
||||
|
||||
|
||||
def test_debug_endpoint_paths_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_hostname_replaced_by_warning_if_regexp(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://regexp.foo.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)
|
||||
assert jsonResponse["vhost"]["hostname"] == "Hostname is a regexp and unsafe to include in the debug response."
|
||||
|
||||
|
||||
def test_debug_endpoint_is_disabled_per_container(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://disabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 404
|
62
test/test_debug-endpoint/test_global.yml
Normal file
62
test/test_debug-endpoint/test_global.yml
Normal file
@ -0,0 +1,62 @@
|
||||
services:
|
||||
nginx-proxy:
|
||||
image: nginxproxy/nginx-proxy:test
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
environment:
|
||||
DEBUG_ENDPOINT: "true"
|
||||
|
||||
debug_enabled:
|
||||
image: web
|
||||
expose:
|
||||
- "81"
|
||||
environment:
|
||||
WEB_PORTS: 81
|
||||
VIRTUAL_HOST: enabled.debug.nginx-proxy.example
|
||||
|
||||
debug_stripped:
|
||||
image: web
|
||||
expose:
|
||||
- "82"
|
||||
environment:
|
||||
WEB_PORTS: 82
|
||||
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_regexp:
|
||||
image: web
|
||||
expose:
|
||||
- "84"
|
||||
environment:
|
||||
WEB_PORTS: 84
|
||||
VIRTUAL_HOST: ~^regexp.*\.debug.nginx-proxy.example
|
||||
|
||||
debug_disabled:
|
||||
image: web
|
||||
expose:
|
||||
- "83"
|
||||
environment:
|
||||
WEB_PORTS: 83
|
||||
VIRTUAL_HOST: disabled.debug.nginx-proxy.example
|
||||
labels:
|
||||
com.github.nginx-proxy.nginx-proxy.debug-endpoint: "false"
|
26
test/test_debug-endpoint/test_per-container.py
Normal file
26
test/test_debug-endpoint/test_per-container.py
Normal file
@ -0,0 +1,26 @@
|
||||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def test_debug_endpoint_is_disabled_globally(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://disabled1.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 404
|
||||
r = nginxproxy.get("http://disabled2.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 404
|
||||
|
||||
|
||||
def test_debug_endpoint_is_enabled_per_container(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://enabled.debug.nginx-proxy.example/nginx-proxy-debug")
|
||||
assert r.status_code == 200
|
||||
|
||||
|
||||
def test_debug_endpoint_response_contains_expected_values(docker_compose, nginxproxy):
|
||||
r = nginxproxy.get("http://enabled.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)
|
||||
assert jsonResponse["global"]["enable_debug_endpoint"] == "false"
|
||||
assert jsonResponse["vhost"]["enable_debug_endpoint"] == True
|
32
test/test_debug-endpoint/test_per-container.yml
Normal file
32
test/test_debug-endpoint/test_per-container.yml
Normal file
@ -0,0 +1,32 @@
|
||||
services:
|
||||
nginx-proxy:
|
||||
image: nginxproxy/nginx-proxy:test
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
|
||||
debug_disabled1:
|
||||
image: web
|
||||
expose:
|
||||
- "81"
|
||||
environment:
|
||||
WEB_PORTS: 81
|
||||
VIRTUAL_HOST: disabled1.debug.nginx-proxy.example
|
||||
|
||||
debug_disabled2:
|
||||
image: web
|
||||
expose:
|
||||
- "82"
|
||||
environment:
|
||||
WEB_PORTS: 82
|
||||
VIRTUAL_HOST: disabled2.debug.nginx-proxy.example
|
||||
|
||||
|
||||
debug_enabled:
|
||||
image: web
|
||||
expose:
|
||||
- "83"
|
||||
environment:
|
||||
WEB_PORTS: 83
|
||||
VIRTUAL_HOST: enabled.debug.nginx-proxy.example
|
||||
labels:
|
||||
com.github.nginx-proxy.nginx-proxy.debug-endpoint: "true"
|
Reference in New Issue
Block a user