1
0
mirror of https://github.com/nginx-proxy/nginx-proxy synced 2024-09-19 02:12:18 +02:00

test: json syntax for multiports variable

This commit is contained in:
Nicolas Duchon 2024-05-04 13:30:21 +02:00
parent 53e9a03ac9
commit d80ca7ec36
No known key found for this signature in database
GPG Key ID: EA3151C66A4D79E7
4 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,77 @@
version: "2"
services:
skipvirtualhost:
image: web
expose:
- "81"
environment:
WEB_PORTS: "81"
VIRTUAL_HOST: skipped.nginx-proxy.tld
VIRTUAL_HOST_MULTIPORTS: |-
{
"notskipped.nginx-proxy.tld": {}
}
defaultport:
image: web
expose:
- "80"
- "8080"
environment:
WEB_PORTS: "80 8080"
VIRTUAL_HOST_MULTIPORTS: |-
{
"port80.a.nginx-proxy.tld": {},
"port80.b.nginx-proxy.tld": {},
"port80.c.nginx-proxy.tld": {
"/": {}
}
}
multiports:
image: web
expose:
- "8080"
- "9000"
environment:
WEB_PORTS: "8080 9000"
VIRTUAL_HOST_MULTIPORTS: |-
{
"port8080.nginx-proxy.tld": {
"/": {
"port": 8080
}
},
"port9000.nginx-proxy.tld": {
"/": {
"port": 9000
}
}
}
virtualpath:
image: web
expose:
- "10001"
- "10002"
environment:
WEB_PORTS: "10001 10002"
VIRTUAL_HOST_MULTIPORTS: |-
{
"virtualpaths.nginx-proxy.tld": {
"/rootdest": {
"port": 10001,
"dest": "/"
},
"/customdest": {
"port": 10002,
"dest": "/port"
}
}
}
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro

View File

@ -0,0 +1,39 @@
import pytest
def test_virtual_host_is_dropped_when_using_multiports(docker_compose, nginxproxy):
r = nginxproxy.get("http://notskipped.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 81\n" in r.text
r = nginxproxy.get("http://skipped.nginx-proxy.tld/")
assert r.status_code == 503
def test_answer_is_served_from_port_80_by_default(docker_compose, nginxproxy):
r = nginxproxy.get("http://port80.a.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 80\n" in r.text
r = nginxproxy.get("http://port80.b.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 80\n" in r.text
r = nginxproxy.get("http://port80.c.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 80\n" in r.text
def test_answer_is_served_from_chosen_ports(docker_compose, nginxproxy):
r = nginxproxy.get("http://port8080.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 8080\n" in r.text
r = nginxproxy.get("http://port9000.nginx-proxy.tld/port")
assert r.status_code == 200
assert "answer from port 9000\n" in r.text
def test_answer_is_served_from_chosen_ports_and_dest(docker_compose, nginxproxy):
r = nginxproxy.get("http://virtualpaths.nginx-proxy.tld/rootdest/port")
assert r.status_code == 200
assert "answer from port 10001\n" in r.text
r = nginxproxy.get("http://virtualpaths.nginx-proxy.tld/customdest")
assert r.status_code == 200
assert "answer from port 10002\n" in r.text