File tree Expand file tree Collapse file tree 3 files changed +21
-1
lines changed
packages/service-library/src/servicelib
services/docker-api-proxy/tests/integration Expand file tree Collapse file tree 3 files changed +21
-1
lines changed Original file line number Diff line number Diff line change 99import aiodocker
1010import aiohttp
1111import arrow
12+ import tenacity
1213from aiohttp import ClientSession
1314from fastapi import FastAPI
1415from models_library .docker import DockerGenericTag
@@ -332,11 +333,23 @@ async def _(app: FastAPI) -> AsyncIterator[None]:
332333
333334 app .state .remote_docker_client = client
334335
336+ await wait_till_docker_api_proxy_is_responsive (app )
337+
335338 yield
336339
337340 return _
338341
339342
343+ @tenacity .retry (
344+ wait = tenacity .wait_fixed (5 ),
345+ stop = tenacity .stop_after_delay (60 ),
346+ before_sleep = tenacity .before_sleep_log (_logger , logging .INFO ),
347+ reraise = True ,
348+ )
349+ async def wait_till_docker_api_proxy_is_responsive (app : FastAPI ) -> None :
350+ await get_remote_docker_client (app ).version ()
351+
352+
340353def get_remote_docker_client (app : FastAPI ) -> aiodocker .Docker :
341354 assert isinstance (app .state .remote_docker_client , aiodocker .Docker ) # nosec
342355 return app .state .remote_docker_client
Original file line number Diff line number Diff line change @@ -59,7 +59,7 @@ async def _(env_vars: EnvVarsDict) -> AsyncIterator[aiodocker.Docker]:
5959
6060 app = _get_test_app ()
6161
62- async with LifespanManager (app ):
62+ async with LifespanManager (app , startup_timeout = 30 , shutdown_timeout = 30 ):
6363 yield get_remote_docker_client (app )
6464
6565 return _
Original file line number Diff line number Diff line change 1010
1111import aiodocker
1212import pytest
13+ from pytest_mock import MockerFixture
1314from pytest_simcore .helpers .monkeypatch_envs import EnvVarsDict
1415from settings_library .docker_api_proxy import DockerApiProxysettings
1516from tenacity import AsyncRetrying , stop_after_delay , wait_fixed
@@ -45,8 +46,14 @@ def caddy_file() -> str:
4546 """
4647
4748
49+ @pytest .fixture
50+ def mock_wait_till_docker_api_proxy_is_responsive (mocker : MockerFixture ) -> None :
51+ mocker .patch ("servicelib.docker_utils.wait_till_docker_api_proxy_is_responsive" )
52+
53+
4854@pytest .fixture
4955def authentication_proxy (
56+ mock_wait_till_docker_api_proxy_is_responsive : None ,
5057 docker_swarm : None ,
5158 docker_api_proxy_settings : DockerApiProxysettings ,
5259 caddy_file : str ,
You can’t perform that action at this time.
0 commit comments