This commit is contained in:
pini-gh 2025-01-31 22:30:55 +00:00 committed by GitHub
commit bf36ab2c2d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 22 additions and 8 deletions

View file

@ -310,6 +310,9 @@ def get_nginx_conf_from_container(container: Container) -> bytes:
return conffile.read()
class DockerComposeException(Exception):
pass
def __prepare_and_execute_compose_cmd(compose_files: List[str], project_name: str, cmd: str):
"""
Prepare and execute the Docker Compose command with the provided compose files and project name.
@ -325,7 +328,7 @@ def __prepare_and_execute_compose_cmd(compose_files: List[str], project_name: st
try:
subprocess.check_output(shlex.split(compose_cmd.getvalue()), stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
pytest.fail(f"Error while running '{compose_cmd.getvalue()}':\n{e.output}", pytrace=False)
raise DockerComposeException(f"Error while running '{compose_cmd.getvalue()}':\n{e.output}")
def docker_compose_up(compose_files: List[str], project_name: str):
@ -334,7 +337,14 @@ def docker_compose_up(compose_files: List[str], project_name: str):
"""
if compose_files is None or len(compose_files) == 0:
pytest.fail(f"No compose file passed to docker_compose_up", pytrace=False)
__prepare_and_execute_compose_cmd(compose_files, project_name, cmd="up --detach")
try:
__prepare_and_execute_compose_cmd(compose_files, project_name, cmd="up --detach")
except DockerComposeException as e:
try:
docker_compose_down(compose_files, project_name)
except:
pass
pytest.fail(str(e), pytrace=False)
def docker_compose_down(compose_files: List[str], project_name: str):
@ -616,5 +626,5 @@ try:
except docker.errors.ImageNotFound:
pytest.exit("The docker image 'nginxproxy/nginx-proxy:test' is missing")
if Version(docker.__version__) < Version("7.0.0"):
pytest.exit("This test suite is meant to work with the python docker module v7.0.0 or later")
if Version(docker.__version__) < Version("5.0.0"):
pytest.exit("This test suite is meant to work with the python docker module v5.0.0 or later")

View file

@ -27,4 +27,4 @@ services:
- "83"
environment:
WEB_PORTS: "83"
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$$

View file

@ -27,4 +27,4 @@ services:
- "83"
environment:
WEB_PORTS: "83"
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$$

View file

@ -1,5 +1,9 @@
services:
nginx-proxy:
image: nginxproxy/nginx-proxy:test
container_name: nginx-proxy
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
environment:
HTTP_PORT: 8888
network_mode: host

View file

@ -5,4 +5,4 @@ services:
- "80"
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$$

View file

@ -1,7 +1,7 @@
services:
nginx-proxy:
environment:
DISABLE_ACCESS_LOGS: true
DISABLE_ACCESS_LOGS: "true"
web1:
image: web