diff --git a/scripts/files/tests/conftest.py b/scripts/files/tests/conftest.py new file mode 100644 index 000000000..1fbf5d9a3 --- /dev/null +++ b/scripts/files/tests/conftest.py @@ -0,0 +1,17 @@ +from shutil import rmtree +from tempfile import mkdtemp +from typing import Generator + +import pytest + + +@pytest.fixture(name="setup", autouse=True) +def fixture_setup() -> Generator[str, None, None]: + """ + This function creates a temporary directory and deletes it after each test. + See following link for details: + https://docs.pytest.org/en/stable/fixture.html#yield-fixtures-recommended + """ + target = mkdtemp() + yield target + rmtree(target) diff --git a/scripts/files/tests/fs_local_test.py b/scripts/files/tests/fs_local_test.py index db08e1d84..839846e7b 100644 --- a/scripts/files/tests/fs_local_test.py +++ b/scripts/files/tests/fs_local_test.py @@ -1,25 +1,10 @@ import os -from shutil import rmtree -from tempfile import mkdtemp -from typing import Generator import pytest from scripts.files.fs_local import exists, read, write -@pytest.fixture(name="setup", autouse=True) -def fixture_setup() -> Generator[str, None, None]: - """ - This function creates a temporary directory and deletes it after each test. - See following link for details: - https://docs.pytest.org/en/stable/fixture.html#yield-fixtures-recommended - """ - target = mkdtemp() - yield target - rmtree(target) - - @pytest.mark.dependency(name="write") def test_write(setup: str) -> None: target = setup diff --git a/scripts/stac/imagery/item.py b/scripts/stac/imagery/item.py index 22267f5e5..9bc703623 100644 --- a/scripts/stac/imagery/item.py +++ b/scripts/stac/imagery/item.py @@ -36,11 +36,10 @@ def update_datetime(self, start_datetime: str, end_datetime: str) -> None: start_datetime: a start date in `YYYY-MM-DD` format end_datetime: a end date in `YYYY-MM-DD` format """ - self.stac["properties"] = { - "start_datetime": start_datetime, - "end_datetime": end_datetime, - "datetime": None, - } + self.stac.setdefault("properties", {}) + self.stac["properties"]["start_datetime"] = start_datetime + self.stac["properties"]["end_datetime"] = end_datetime + self.stac["properties"]["datetime"] = None # FIXME: redefine the 'Any' def update_spatial(self, geometry: Dict[str, Any], bbox: Tuple[float, ...]) -> None: diff --git a/scripts/tests/datetimes_test.py b/scripts/tests/datetimes_test.py index 044d3d646..ffb8d3b95 100644 --- a/scripts/tests/datetimes_test.py +++ b/scripts/tests/datetimes_test.py @@ -40,9 +40,7 @@ def test_should_raise_error_when_formatting_a_naive_datetime(subtests: SubTests) def test_should_be_able_to_invert_conversion() -> None: - start = datetime(1800, 1, 1, tzinfo=timezone.utc) - end = datetime(2100, 1, 1, tzinfo=timezone.utc) - original_datetime = any_datetime_between(start, end) + original_datetime = any_epoch_datetime() assert parse_rfc_3339_datetime(format_rfc_3339_datetime_string(original_datetime)) == original_datetime @@ -51,6 +49,15 @@ def test_should_format_rfc_3339_nz_midnight_datetime_string() -> None: assert format_rfc_3339_nz_midnight_datetime_string(datetime_object) == "2001-02-02T11:00:00Z" +def any_epoch_datetime() -> datetime: + """ + Get arbitrary datetime + """ + start = datetime(1970, 1, 1, tzinfo=timezone.utc) + end = datetime(2100, 1, 1, tzinfo=timezone.utc) + return any_datetime_between(start, end) + + def any_datetime_between(start: datetime, end: datetime) -> datetime: """ Get arbitrary datetime between start (inclusive) and end (exclusive), with second precision.