mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
32 lines
967 B
Python
32 lines
967 B
Python
from collections import OrderedDict
|
|
from datetime import datetime
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from aurweb import util
|
|
|
|
|
|
def test_timestamp_to_datetime():
|
|
ts = datetime.utcnow().timestamp()
|
|
dt = datetime.utcfromtimestamp(int(ts))
|
|
assert util.timestamp_to_datetime(ts) == dt
|
|
|
|
|
|
def test_as_timezone():
|
|
ts = datetime.utcnow().timestamp()
|
|
dt = util.timestamp_to_datetime(ts)
|
|
assert util.as_timezone(dt, "UTC") == dt.astimezone(tz=ZoneInfo("UTC"))
|
|
|
|
|
|
def test_dedupe_qs():
|
|
items = OrderedDict()
|
|
items["key1"] = "test"
|
|
items["key2"] = "blah"
|
|
items["key3"] = 1
|
|
|
|
# Construct and test our query string.
|
|
query_string = '&'.join([f"{k}={v}" for k, v in items.items()])
|
|
assert query_string == "key1=test&key2=blah&key3=1"
|
|
|
|
# Add key1=changed and key2=changed to the query and dedupe it.
|
|
deduped = util.dedupe_qs(query_string, "key1=changed", "key3=changed")
|
|
assert deduped == "key2=blah&key1=changed&key3=changed"
|