diff --git a/src/fmu/dataio/_metadata.py b/src/fmu/dataio/_metadata.py index c02ff068b..d5b0ff097 100644 --- a/src/fmu/dataio/_metadata.py +++ b/src/fmu/dataio/_metadata.py @@ -45,7 +45,7 @@ def generate_meta_tracklog() -> list: """Create the tracklog metadata, which here assumes 'created' only.""" meta = list() - dtime = datetime.datetime.now().isoformat() + dtime = datetime.datetime.now().astimezone().isoformat() user = getpass.getuser() meta.append({"datetime": dtime, "user": {"id": user}, "event": "created"}) return meta diff --git a/tests/test_units/test_metadata_class.py b/tests/test_units/test_metadata_class.py index c4c8395ab..4f6b80974 100644 --- a/tests/test_units/test_metadata_class.py +++ b/tests/test_units/test_metadata_class.py @@ -2,6 +2,8 @@ import logging from copy import deepcopy +from dateutil.parser import isoparse + import pytest import fmu.dataio as dio @@ -27,6 +29,27 @@ def test_metadata_dollars(edataobj1): assert mymeta.meta_dollars["source"] == SOURCE +# -------------------------------------------------------------------------------------- +# Tracklog +# -------------------------------------------------------------------------------------- + + +def test_generate_meta_tracklog(edataobj1): + mymeta = _MetaData("dummy", edataobj1) + mymeta._populate_meta_tracklog() + tracklog = mymeta.meta_tracklog + + assert isinstance(tracklog, list) and len(tracklog) == 1 # assume "created" + + logentry = tracklog[0] + assert "event" in logentry and logentry["event"] == "created" + assert "user" in logentry and "id" in logentry["user"] + assert "datetime" in logentry + + # datetime in tracklog shall include time zone offset + assert isoparse(logentry["datetime"]).tzinfo is not None + + # -------------------------------------------------------------------------------------- # DATA block (ObjectData) # --------------------------------------------------------------------------------------