Skip to content

Commit

Permalink
make datetime required in StacCommonMetadata
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentsarago committed May 21, 2024
1 parent 6e4c929 commit 960abec
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
12 changes: 1 addition & 11 deletions stac_pydantic/item.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,7 @@
from pydantic import AnyUrl, ConfigDict, Field, model_serializer, model_validator

from stac_pydantic.links import Links
from stac_pydantic.shared import (
SEMVER_REGEX,
Asset,
StacBaseModel,
StacCommonMetadata,
UtcDatetime,
)
from stac_pydantic.shared import SEMVER_REGEX, Asset, StacBaseModel, StacCommonMetadata
from stac_pydantic.version import STAC_VERSION


Expand All @@ -19,10 +13,6 @@ class ItemProperties(StacCommonMetadata):
https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object
"""

# Overide the datetime field to be required
datetime: Optional[UtcDatetime] = Field(...)

# Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information.
model_config = ConfigDict(extra="allow")


Expand Down
2 changes: 1 addition & 1 deletion stac_pydantic/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ class StacCommonMetadata(StacBaseModel):
title: Optional[str] = None
description: Optional[str] = None
# Date and Time
datetime: Optional[UtcDatetime] = None
datetime: Optional[UtcDatetime] = Field(...)
created: Optional[UtcDatetime] = None
updated: Optional[UtcDatetime] = None
# Date and Time Range
Expand Down
10 changes: 10 additions & 0 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,16 @@ def test_stac_common_dates(args) -> None:
StacCommonMetadata(**args)


def test_stac_null_datetime_required() -> None:
with pytest.raises(ValidationError):
StacCommonMetadata(
**{
"start_datetime": "2024-01-01T00:00:00Z",
"end_datetime": "2024-01-02T00:00:00Z",
}
)


@pytest.mark.parametrize(
"args",
[
Expand Down

0 comments on commit 960abec

Please sign in to comment.