diff --git a/shared/datastore/tests/integration/conftest.py b/shared/datastore/tests/integration/conftest.py index 5c3812c..98ab924 100644 --- a/shared/datastore/tests/integration/conftest.py +++ b/shared/datastore/tests/integration/conftest.py @@ -4,12 +4,24 @@ import os import random from collections.abc import Iterator from io import BytesIO +from pathlib import Path import pytest from minio import Minio from PIL import Image +from testcontainers.core.container import inside_container from testcontainers.minio import MinioContainer + +class FixedMinioContainer(MinioContainer): + """Fixed Minio Container to allow running inside CI pipeline.""" + + def get_container_host_ip(self) -> str: + if inside_container() and Path('/var/run/docker.sock').exists(): + return self.get_docker_client().gateway_ip(self._container.id) + return super().get_container_host_ip() + + env_var_map = { 'MINIO_ENDPOINT': 'localhost:9000', 'MINIO_ACCESS_KEY': 'test-access-key', @@ -18,7 +30,7 @@ env_var_map = { 'MINIO_OBJECT_NAME': '46KXJMFIAPVLM0TKRFZR5YPPTVJ6PJNX', } container_map = { - 'minio': MinioContainer( + 'minio': FixedMinioContainer( port=env_var_map['MINIO_ENDPOINT'].rsplit(':', maxsplit=1)[-1], access_key=env_var_map['MINIO_ACCESS_KEY'], secret_key=env_var_map['MINIO_SECRET_KEY'],