mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-08-23 16:01:57 +00:00
test: simplify container readiness check
This commit is contained in:
@@ -370,27 +370,20 @@ def docker_compose_down(compose_files: List[str], project_name: str):
|
|||||||
|
|
||||||
def wait_for_nginxproxy_to_be_ready():
|
def wait_for_nginxproxy_to_be_ready():
|
||||||
"""
|
"""
|
||||||
If one (and only one) container started from image nginxproxy/nginx-proxy:test
|
Wait for logs of running containers started from image nginxproxy/nginx-proxy:test and/or
|
||||||
or nginxproxy/docker-gen:latest is found, wait for its log to contain the substring "Watching docker events"
|
nginxproxy/docker-gen:latest to contain the substring "Watching docker events"
|
||||||
"""
|
"""
|
||||||
nginx_proxy_containers = docker_client.containers.list(filters={"ancestor": "nginxproxy/nginx-proxy:test"})
|
nginx_proxy_containers = docker_client.containers.list(filters={"status": "running", "ancestor": "nginxproxy/nginx-proxy:test"})
|
||||||
docker_gen_containers = docker_client.containers.list(filters={"ancestor": "nginxproxy/docker-gen:latest"})
|
docker_gen_containers = docker_client.containers.list(filters={"status": "running", "ancestor": "nginxproxy/docker-gen:latest"})
|
||||||
|
|
||||||
container_name = "nginx-proxy"
|
containers = nginx_proxy_containers + docker_gen_containers
|
||||||
|
|
||||||
if len(nginx_proxy_containers) == 1:
|
for container in containers:
|
||||||
container = nginx_proxy_containers.pop()
|
logging.debug(f"waiting for container {container.name} to be ready")
|
||||||
elif len(docker_gen_containers) == 1:
|
for line in container.logs(stream=True):
|
||||||
container = docker_gen_containers.pop()
|
if b"Watching docker events" in line:
|
||||||
container_name = "docker-gen"
|
logging.debug(f"{container.name} ready")
|
||||||
else:
|
break
|
||||||
logging.debug("Either more than one or no nginx-proxy or docker-gen container found, skipping container readiness check")
|
|
||||||
return
|
|
||||||
|
|
||||||
for line in container.logs(stream=True):
|
|
||||||
if b"Watching docker events" in line:
|
|
||||||
logging.debug(f"{container_name} ready")
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
Reference in New Issue
Block a user