diff --git a/test/conftest.py b/test/conftest.py index c0a060b..ccc46ed 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -370,27 +370,20 @@ def docker_compose_down(compose_files: List[str], project_name: str): def wait_for_nginxproxy_to_be_ready(): """ - If one (and only one) container started from image nginxproxy/nginx-proxy:test - or nginxproxy/docker-gen:latest is found, wait for its log to contain the substring "Watching docker events" + Wait for logs of running containers started from image nginxproxy/nginx-proxy:test and/or + nginxproxy/docker-gen:latest to contain the substring "Watching docker events" """ - nginx_proxy_containers = docker_client.containers.list(filters={"ancestor": "nginxproxy/nginx-proxy:test"}) - docker_gen_containers = docker_client.containers.list(filters={"ancestor": "nginxproxy/docker-gen:latest"}) + nginx_proxy_containers = docker_client.containers.list(filters={"status": "running", "ancestor": "nginxproxy/nginx-proxy:test"}) + 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: - container = nginx_proxy_containers.pop() - elif len(docker_gen_containers) == 1: - container = docker_gen_containers.pop() - container_name = "docker-gen" - else: - 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 + for container in containers: + logging.debug(f"waiting for container {container.name} to be ready") + for line in container.logs(stream=True): + if b"Watching docker events" in line: + logging.debug(f"{container.name} ready") + break @pytest.fixture