Skip to content

Commit 4b05fc2

Browse files
committed
test coming up
1 parent 1923f9c commit 4b05fc2

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

services/storage/src/simcore_service_storage/api/rest/_files.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from typing import Annotated, cast
44

55
from fastapi import APIRouter, Depends, Header, HTTPException, Request
6-
from fastapi_pagination import create_page
7-
from fastapi_pagination.links import Page
6+
from fastapi_pagination import LimitOffsetPage, create_page
7+
from fastapi_pagination.limit_offset import LimitOffsetParams
88
from models_library.api_schemas_storage import (
99
FileMetaDataGet,
1010
FileMetaDataGetv010,
@@ -53,21 +53,20 @@
5353

5454
@router.get(
5555
"/locations/{location_id}/paths",
56-
response_model=Page[FileMetaDataGet],
56+
response_model=LimitOffsetPage[FileMetaDataGet],
5757
)
5858
async def list_paths(
59-
location_id: LocationID,
6059
query_params: Annotated[ListPathsQueryParams, Depends()],
60+
page_params: Annotated[LimitOffsetParams, Depends()],
6161
dsm: Annotated[BaseDataManager, Depends(get_data_manager)],
6262
):
63-
assert location_id # nosec
64-
data: list[FileMetaData] = await dsm.list_files_paginated(
63+
data = await dsm.list_files_paginated(
6564
user_id=query_params.user_id,
6665
file_filter=query_params.file_filter,
67-
limit=20,
68-
offset=0,
66+
limit=page_params.limit,
67+
offset=page_params.offset,
6968
)
70-
return create_page(data, total=20)
69+
return create_page(data, total=20, params=page_params)
7170

7271

7372
@router.get(

services/storage/tests/unit/test_handlers_files.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from aws_library.s3._constants import MULTIPART_UPLOADS_MIN_TOTAL_SIZE
2727
from faker import Faker
2828
from fastapi import FastAPI
29+
from fastapi_pagination import LimitOffsetPage
2930
from models_library.api_schemas_storage import (
3031
FileMetaDataGet,
3132
FileUploadCompleteFutureResponse,
@@ -1533,4 +1534,21 @@ async def test_list_paths(
15331534
location_id: LocationID,
15341535
user_id: UserID,
15351536
):
1536-
...
1537+
query = {
1538+
"user_id": user_id,
1539+
"file_filter": None,
1540+
}
1541+
url = url_from_operation_id(
1542+
client, initialized_app, "list_paths", location_id=f"{location_id}"
1543+
).with_query(**{k: v for k, v in query.items() if v is not None})
1544+
response = await client.get(f"{url}")
1545+
1546+
page_of_files, _ = assert_status(
1547+
response,
1548+
status.HTTP_200_OK,
1549+
LimitOffsetPage[FileMetaDataGet],
1550+
expect_envelope=False,
1551+
)
1552+
assert page_of_files
1553+
assert page_of_files.items == []
1554+
assert page_of_files.total == 0

0 commit comments

Comments
 (0)