fix: test: Use UTC timezone when handling keys in kasp test library

When working with key timestamps, ensure we correctly set the UTC
timezone in order for the tests to work consistently regardless of the
local time setting.

Closes #4999

Merge branch '4999-pytest-kasp-use-utc-timezone' into 'main'

See merge request isc-projects/bind9!9673
This commit is contained in:
Nicki Křížek 2024-10-22 08:20:25 +00:00
commit de8d94f938
2 changed files with 6 additions and 4 deletions

View file

@ -900,6 +900,7 @@ system:gcc:bookworm:amd64:
<<: *system_test_gcov_job
variables:
CI_ENABLE_ALL_TESTS: 1
TZ: Australia/Sydney
needs:
- job: unit:gcc:bookworm:amd64
artifacts: true

View file

@ -17,8 +17,7 @@ import subprocess
import time
from typing import Optional, Union
from datetime import datetime
from datetime import timedelta
from datetime import datetime, timedelta, timezone
import dns
import isctest.log
@ -54,7 +53,9 @@ class KeyTimingMetadata:
def __init__(self, timestamp: str):
if int(timestamp) <= 0:
raise ValueError(f'invalid timing metadata value: "{timestamp}"')
self.value = datetime.strptime(timestamp, self.FORMAT)
self.value = datetime.strptime(timestamp, self.FORMAT).replace(
tzinfo=timezone.utc
)
def __repr__(self):
return self.value.strftime(self.FORMAT)
@ -95,7 +96,7 @@ class KeyTimingMetadata:
@staticmethod
def now() -> "KeyTimingMetadata":
result = KeyTimingMetadata.__new__(KeyTimingMetadata)
result.value = datetime.now()
result.value = datetime.now(timezone.utc)
return result