diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 168cb02..b095f84 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,6 +14,7 @@ jobs: matrix: python-version: [3.6, 3.7, 3.8, 3.9, '3.10'] + name: Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v2 @@ -22,5 +23,8 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Set timezone + uses: szenius/set-timezone@v1.0 + - name: Run tests run: make test diff --git a/grafanimate/timeutil.py b/grafanimate/timeutil.py index 05a1e51..9c21e52 100644 --- a/grafanimate/timeutil.py +++ b/grafanimate/timeutil.py @@ -183,7 +183,7 @@ def convert_absolute_timestamp(value: Union[datetime, str]) -> datetime: if isinstance(value, datetime): pass elif isinstance(value, int): - value = datetime.fromtimestamp(value) + value = datetime.fromtimestamp(value, tz=timezone.utc) elif isinstance(value, str): value = dateutil.parser.parse(value) else: diff --git a/tests/test_model.py b/tests/test_model.py index 3f82aab..4dbe22c 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone from dateutil.relativedelta import relativedelta from dateutil.rrule import DAILY, MINUTELY, SECONDLY @@ -74,8 +74,8 @@ def test_sequence_epoch(): mode=SequencingMode.CUMULATIVE, ) - assert seq.start == datetime(2021, 11, 16, 20, 30, 11) - assert seq.stop == datetime(2021, 11, 16, 20, 45, 11) + assert seq.start == datetime(2021, 11, 16, 19, 30, 11, tzinfo=timezone.utc) + assert seq.stop == datetime(2021, 11, 16, 19, 45, 11, tzinfo=timezone.utc) assert seq.every == "4m5s" assert seq.mode == SequencingMode.CUMULATIVE @@ -85,11 +85,11 @@ def test_sequence_epoch(): assert seq.recurrence.duration == relativedelta(minutes=+4, seconds=+4) assert list(seq.get_timeranges_isoformat()) == [ - "2021-11-16T20:30:11/2021-11-16T20:30:11", - "2021-11-16T20:30:11/2021-11-16T20:34:11", - "2021-11-16T20:30:11/2021-11-16T20:38:11", - "2021-11-16T20:30:11/2021-11-16T20:42:11", - "2021-11-16T20:30:11/2021-11-16T20:46:11", + "2021-11-16T19:30:11+00:00/2021-11-16T19:30:11+00:00", + "2021-11-16T19:30:11+00:00/2021-11-16T19:34:11+00:00", + "2021-11-16T19:30:11+00:00/2021-11-16T19:38:11+00:00", + "2021-11-16T19:30:11+00:00/2021-11-16T19:42:11+00:00", + "2021-11-16T19:30:11+00:00/2021-11-16T19:46:11+00:00", ]