Skip to content

Commit 962ebd0

Browse files
committed
maybe fix
1 parent 812cc51 commit 962ebd0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

packages/service-library/tests/fastapi/test_cancellation_middleware.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from pytest_simcore.helpers.logging_tools import log_context
1414
from servicelib.fastapi.cancellation_middleware import RequestCancellationMiddleware
1515
from servicelib.utils import unused_port
16+
from tenacity import retry, stop_after_delay, wait_fixed
1617
from yarl import URL
1718

1819

@@ -32,6 +33,12 @@ def fastapi_router(
3233
) -> APIRouter:
3334
router = APIRouter()
3435

36+
@router.get("/")
37+
async def root() -> dict[str, str]:
38+
with log_context(logging.INFO, msg="root endpoint") as ctx:
39+
ctx.logger.info("root endpoint called")
40+
return {"message": "Hello, World!"}
41+
3542
@router.get("/sleep")
3643
async def sleep(sleep_time: float) -> dict[str, str]:
3744
with log_context(logging.INFO, msg="sleeper") as ctx:
@@ -93,6 +100,16 @@ def uvicorn_server(fastapi_app: FastAPI) -> Iterator[URL]:
93100
thread.daemon = True
94101
thread.start()
95102

103+
@retry(wait=wait_fixed(0.1), stop=stop_after_delay(10), reraise=True)
104+
def wait_for_server_ready() -> None:
105+
with httpx.Client() as client:
106+
response = client.get(f"http://127.0.1:{random_port}/")
107+
assert (
108+
response.is_success
109+
), f"Server did not start successfully: {response.status_code} {response.text}"
110+
111+
wait_for_server_ready()
112+
96113
ctx.logger.info(
97114
"server ready at: %s",
98115
f"http://127.0.0.1:{random_port}",

0 commit comments

Comments
 (0)