мокнуть кэширование навешенное на эндпоинт?
Пробовал как в тесте ниже мокнуть
@pytest.mark.system
@pytest.mark.asyncio
async def test_get_items_code_200(
service_app: FastAPI, service_client: AsyncClient, mocker: MockerFixture, setup_items
) -> None:
mocker.patch("fastapi_cache.decorator.cache", return_value=None) # 1
mocker.patch("fastapi_cache.decorator.cache", return_value=lambda func: func) # 2
Ендпоинт
@cache(expire=120)
async def get_service_items() -> list[ItemDetail]
# ===
items_router.add_api_route(
"/items",
get_service_items,
methods=["GET"],
response_model=list[ItemDetail],
status_code=status.HTTP_200_OK,
dependencies=[Depends(validate_staff_token)],
description="Get items list",
)
?)
А зачем на уровне приложения кэшированием ответов заниматься, это разве не веб сервер делать должен?
Тут достаточно большой и тяжёлый запрос и он лежит в кэше пока какие то объекты в базе не обновятся, такое лучше в коде менеджить
Раз там глобальный конфиг, просто при ините тестов выруби эту штуку
Обсуждают сегодня