test: separate containers (contd)
This commit is contained in:
parent
9fd66de39d
commit
7acf4780d5
11 changed files with 122 additions and 89 deletions
|
@ -1,8 +0,0 @@
|
||||||
import pytest
|
|
||||||
import re
|
|
||||||
|
|
||||||
|
|
||||||
def test_answer_is_served_from_virtual_port_which_is_ureachable(docker_compose, nginxproxy):
|
|
||||||
r = nginxproxy.get("http://web.nginx-proxy.tld/port")
|
|
||||||
assert r.status_code == 502
|
|
||||||
assert re.search(r"\n\s+server \d+\.\d+\.\d+\.\d+:90;\n", nginxproxy.get_conf().decode('ASCII'))
|
|
|
@ -1,14 +0,0 @@
|
||||||
services:
|
|
||||||
web:
|
|
||||||
image: web
|
|
||||||
expose:
|
|
||||||
- "81"
|
|
||||||
environment:
|
|
||||||
WEB_PORTS: "81"
|
|
||||||
VIRTUAL_HOST: "web.nginx-proxy.tld"
|
|
||||||
VIRTUAL_PORT: "90"
|
|
||||||
|
|
||||||
sut:
|
|
||||||
image: nginxproxy/nginx-proxy:test
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
@ -1,7 +0,0 @@
|
||||||
import pytest
|
|
||||||
|
|
||||||
|
|
||||||
def test_answer_is_served_from_chosen_port(docker_compose, nginxproxy):
|
|
||||||
r = nginxproxy.get("http://web.nginx-proxy.tld/port")
|
|
||||||
assert r.status_code == 200
|
|
||||||
assert "answer from port 90\n" in r.text
|
|
|
@ -1,15 +0,0 @@
|
||||||
services:
|
|
||||||
web:
|
|
||||||
image: web
|
|
||||||
expose:
|
|
||||||
- "80"
|
|
||||||
- "90"
|
|
||||||
environment:
|
|
||||||
WEB_PORTS: "80 90"
|
|
||||||
VIRTUAL_HOST: "web.nginx-proxy.tld"
|
|
||||||
VIRTUAL_PORT: 90
|
|
||||||
|
|
||||||
sut:
|
|
||||||
image: nginxproxy/nginx-proxy:test
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
@ -1,7 +0,0 @@
|
||||||
import pytest
|
|
||||||
|
|
||||||
|
|
||||||
def test_answer_is_served_from_port_80_by_default(docker_compose, nginxproxy):
|
|
||||||
r = nginxproxy.get("http://web.nginx-proxy.tld/port")
|
|
||||||
assert r.status_code == 200
|
|
||||||
assert "answer from port 80\n" in r.text
|
|
|
@ -1,14 +0,0 @@
|
||||||
services:
|
|
||||||
web:
|
|
||||||
image: web
|
|
||||||
expose:
|
|
||||||
- "80"
|
|
||||||
- "81"
|
|
||||||
environment:
|
|
||||||
WEB_PORTS: "80 81"
|
|
||||||
VIRTUAL_HOST: "web.nginx-proxy.tld"
|
|
||||||
|
|
||||||
sut:
|
|
||||||
image: nginxproxy/nginx-proxy:test
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
23
test/test_ports/test_ports.py
Normal file
23
test/test_ports/test_ports.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
def test_answer_is_served_from_port_80_by_default(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://default-80.nginx-proxy.tld/port")
|
||||||
|
assert r.status_code == 200
|
||||||
|
if r.status_code == 200:
|
||||||
|
assert "answer from port 80\n" in r.text
|
||||||
|
|
||||||
|
def test_answer_is_served_from_exposed_port_even_if_not_80(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://default-exposed.nginx-proxy.tld/port")
|
||||||
|
assert r.status_code == 200
|
||||||
|
assert "answer from port 81\n" in r.text
|
||||||
|
|
||||||
|
def test_answer_is_served_from_chosen_port(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://virtual-port.nginx-proxy.tld/port")
|
||||||
|
assert r.status_code == 200
|
||||||
|
assert "answer from port 90\n" in r.text
|
||||||
|
|
||||||
|
def test_answer_is_served_from_chosen_port_even_if_unreachable(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://wrong-virtual-port.nginx-proxy.tld/port")
|
||||||
|
assert r.status_code == 502
|
||||||
|
assert re.search(r"\n\s+server \d+\.\d+\.\d+\.\d+:91;\n", nginxproxy.get_conf().decode('ASCII'))
|
65
test/test_ports/test_ports.yml
Normal file
65
test/test_ports/test_ports.yml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
volumes:
|
||||||
|
nginx_conf:
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
default-80:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
- "81"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: "80 81"
|
||||||
|
VIRTUAL_HOST: "default-80.nginx-proxy.tld"
|
||||||
|
|
||||||
|
default-exposed:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "81"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: "81"
|
||||||
|
VIRTUAL_HOST: "default-exposed.nginx-proxy.tld"
|
||||||
|
|
||||||
|
virtual-port:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
- "90"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: "80 90"
|
||||||
|
VIRTUAL_HOST: "virtual-port.nginx-proxy.tld"
|
||||||
|
VIRTUAL_PORT: "90"
|
||||||
|
|
||||||
|
wrong-virtual-port:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "81"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: "81"
|
||||||
|
VIRTUAL_HOST: "wrong-virtual-port.nginx-proxy.tld"
|
||||||
|
VIRTUAL_PORT: "91"
|
||||||
|
|
||||||
|
sut:
|
||||||
|
profiles:
|
||||||
|
- singleContainer
|
||||||
|
image: nginxproxy/nginx-proxy:test
|
||||||
|
volumes:
|
||||||
|
- &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
|
|
||||||
|
sut-dockergen:
|
||||||
|
profiles:
|
||||||
|
- separateContainers
|
||||||
|
image: nginxproxy/nginx-proxy:test-dockergen
|
||||||
|
volumes:
|
||||||
|
- &confVolume nginx_conf:/etc/nginx/conf.d
|
||||||
|
- *dockerSocket
|
||||||
|
|
||||||
|
sut-nginx:
|
||||||
|
profiles:
|
||||||
|
- separateContainers
|
||||||
|
container_name: nginx-proxy
|
||||||
|
image: nginx:alpine
|
||||||
|
volumes:
|
||||||
|
- *confVolume
|
||||||
|
labels:
|
||||||
|
- "com.github.nginx-proxy.nginx-proxy.nginx"
|
|
@ -1,7 +0,0 @@
|
||||||
import pytest
|
|
||||||
|
|
||||||
|
|
||||||
def test_answer_is_served_from_exposed_port_even_if_not_80(docker_compose, nginxproxy):
|
|
||||||
r = nginxproxy.get("http://web.nginx-proxy.tld/port")
|
|
||||||
assert r.status_code == 200
|
|
||||||
assert "answer from port 81\n" in r.text
|
|
|
@ -1,13 +0,0 @@
|
||||||
services:
|
|
||||||
web:
|
|
||||||
image: web
|
|
||||||
expose:
|
|
||||||
- "81"
|
|
||||||
environment:
|
|
||||||
WEB_PORTS: "81"
|
|
||||||
VIRTUAL_HOST: "web.nginx-proxy.tld"
|
|
||||||
|
|
||||||
sut:
|
|
||||||
image: nginxproxy/nginx-proxy:test
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
@ -6,6 +6,10 @@ networks:
|
||||||
- subnet: 172.20.0.0/16
|
- subnet: 172.20.0.0/16
|
||||||
- subnet: fd00::/80
|
- subnet: fd00::/80
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nginx_conf:
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
web1:
|
web1:
|
||||||
container_name: web1
|
container_name: web1
|
||||||
|
@ -34,12 +38,38 @@ services:
|
||||||
ipv6_address: fd00::3
|
ipv6_address: fd00::3
|
||||||
|
|
||||||
sut:
|
sut:
|
||||||
|
profiles:
|
||||||
|
- singleContainer
|
||||||
image: nginxproxy/nginx-proxy:test
|
image: nginxproxy/nginx-proxy:test
|
||||||
environment:
|
|
||||||
ENABLE_IPV6: "true"
|
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
- &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
networks:
|
environment: &nginxProxyEnvironment
|
||||||
|
ENABLE_IPV6: "true"
|
||||||
|
networks: &nginxProxyNetworks
|
||||||
net1:
|
net1:
|
||||||
ipv4_address: 172.20.0.4
|
ipv4_address: 172.20.0.4
|
||||||
ipv6_address: fd00::4
|
ipv6_address: fd00::4
|
||||||
|
|
||||||
|
sut-dockergen:
|
||||||
|
profiles:
|
||||||
|
- separateContainers
|
||||||
|
image: nginxproxy/nginx-proxy:test-dockergen
|
||||||
|
volumes:
|
||||||
|
- &confVolume nginx_conf:/etc/nginx/conf.d
|
||||||
|
- *dockerSocket
|
||||||
|
environment: *nginxProxyEnvironment
|
||||||
|
networks:
|
||||||
|
net1:
|
||||||
|
ipv4_address: 172.20.0.5
|
||||||
|
ipv6_address: fd00::5
|
||||||
|
|
||||||
|
sut-nginx:
|
||||||
|
profiles:
|
||||||
|
- separateContainers
|
||||||
|
container_name: nginx-proxy
|
||||||
|
image: nginx:alpine
|
||||||
|
volumes:
|
||||||
|
- *confVolume
|
||||||
|
networks: *nginxProxyNetworks
|
||||||
|
labels:
|
||||||
|
- "com.github.nginx-proxy.nginx-proxy.nginx"
|
||||||
|
|
Loading…
Reference in a new issue