From dc2704193f09237ef93ad085ea21b9d390e44553 Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Tue, 14 Jan 2025 11:10:45 +0100 Subject: [PATCH 1/2] shows that ms are striped with =0 for GET request --- stac_fastapi/api/tests/test_app.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/stac_fastapi/api/tests/test_app.py b/stac_fastapi/api/tests/test_app.py index 3c214a952..1e2ab9370 100644 --- a/stac_fastapi/api/tests/test_app.py +++ b/stac_fastapi/api/tests/test_app.py @@ -439,6 +439,13 @@ def item_collection( "datetime": "2020-01-01T00:00:00.00001Z", }, ) + get_search_zero = client.get( + "/search", + params={ + "collections": ["test"], + "datetime": "2020-01-01T00:00:00.0000Z", + }, + ) post_search = client.post( "/search", json={ @@ -446,9 +453,20 @@ def item_collection( "datetime": "2020-01-01T00:00:00.00001Z", }, ) + post_search_zero = client.post( + "/search", + json={ + "collections": ["test"], + "datetime": "2020-01-01T00:00:00.0000Z", + }, + ) assert get_search.status_code == 200, get_search.text assert get_search.json() == "2020-01-01T00:00:00.000010+00:00" + assert get_search_zero.status_code == 200, get_search_zero.text + assert get_search_zero.json() == "2020-01-01T00:00:00+00:00" assert post_search.status_code == 200, post_search.text assert post_search.json() == "2020-01-01T00:00:00.00001Z" + assert post_search_zero.status_code == 200, post_search_zero.text + assert post_search_zero.json() == "2020-01-01T00:00:00.0000Z" From 532acbdd75b4ecfa1bbf69a060cae5c5fb298bdd Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Tue, 14 Jan 2025 11:54:15 +0100 Subject: [PATCH 2/2] assert datetime --- stac_fastapi/api/tests/test_app.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/stac_fastapi/api/tests/test_app.py b/stac_fastapi/api/tests/test_app.py index 1e2ab9370..5fd7d5dbb 100644 --- a/stac_fastapi/api/tests/test_app.py +++ b/stac_fastapi/api/tests/test_app.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime as python_datetime from typing import List, Optional, Union import attr @@ -141,7 +141,7 @@ def get_search( ids: Optional[List[str]] = None, bbox: Optional[List[NumType]] = None, intersects: Optional[str] = None, - datetime: Optional[Union[str, datetime]] = None, + datetime: Optional[Union[str, python_datetime]] = None, limit: Optional[int] = 10, filter: Optional[str] = None, filter_crs: Optional[str] = None, @@ -221,7 +221,7 @@ def get_search( ids: Optional[List[str]] = None, bbox: Optional[List[NumType]] = None, intersects: Optional[str] = None, - datetime: Optional[Union[str, datetime]] = None, + datetime: Optional[Union[str, python_datetime]] = None, limit: Optional[int] = 10, **kwargs, ) -> stac.ItemCollection: @@ -247,7 +247,7 @@ def item_collection( self, collection_id: str, bbox: Optional[List[Union[float, int]]] = None, - datetime: Optional[Union[str, datetime]] = None, + datetime: Optional[Union[str, python_datetime]] = None, limit: int = 10, token: str = None, **kwargs, @@ -400,10 +400,11 @@ def get_search( ids: Optional[List[str]] = None, bbox: Optional[List[NumType]] = None, intersects: Optional[str] = None, - datetime: Optional[Union[str, datetime]] = None, + datetime: Optional[Union[str, python_datetime]] = None, limit: Optional[int] = 10, **kwargs, ): + assert isinstance(datetime, python_datetime) return datetime def get_item(self, item_id: str, collection_id: str, **kwargs) -> stac.Item: @@ -419,7 +420,7 @@ def item_collection( self, collection_id: str, bbox: Optional[List[Union[float, int]]] = None, - datetime: Optional[Union[str, datetime]] = None, + datetime: Optional[Union[str, python_datetime]] = None, limit: int = 10, token: str = None, **kwargs,