diff --git a/tests/persistence/test_key_value_store.py b/tests/persistence/test_key_value_store.py index e69ae0220..71411513d 100644 --- a/tests/persistence/test_key_value_store.py +++ b/tests/persistence/test_key_value_store.py @@ -1,4 +1,4 @@ -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta import pytest @@ -8,19 +8,19 @@ from tests.conftest import create_mock_trades_usdt @pytest.mark.usefixtures("init_persistence") def test_key_value_store(time_machine): - start = datetime(2023, 1, 1, 4, tzinfo=timezone.utc) + start = datetime(2023, 1, 1, 4, tzinfo=UTC) time_machine.move_to(start, tick=False) KeyValueStore.store_value("test", "testStringValue") - KeyValueStore.store_value("test_dt", datetime.now(timezone.utc)) + KeyValueStore.store_value("test_dt", datetime.now(UTC)) KeyValueStore.store_value("test_float", 22.51) KeyValueStore.store_value("test_int", 15) assert KeyValueStore.get_value("test") == "testStringValue" assert KeyValueStore.get_value("test") == "testStringValue" assert KeyValueStore.get_string_value("test") == "testStringValue" - assert KeyValueStore.get_value("test_dt") == datetime.now(timezone.utc) - assert KeyValueStore.get_datetime_value("test_dt") == datetime.now(timezone.utc) + assert KeyValueStore.get_value("test_dt") == datetime.now(UTC) + assert KeyValueStore.get_datetime_value("test_dt") == datetime.now(UTC) assert KeyValueStore.get_string_value("test_dt") is None assert KeyValueStore.get_float_value("test_dt") is None assert KeyValueStore.get_int_value("test_dt") is None @@ -31,11 +31,11 @@ def test_key_value_store(time_machine): assert KeyValueStore.get_datetime_value("test_int") is None time_machine.move_to(start + timedelta(days=20, hours=5), tick=False) - assert KeyValueStore.get_value("test_dt") != datetime.now(timezone.utc) + assert KeyValueStore.get_value("test_dt") != datetime.now(UTC) assert KeyValueStore.get_value("test_dt") == start # Test update works - KeyValueStore.store_value("test_dt", datetime.now(timezone.utc)) - assert KeyValueStore.get_value("test_dt") == datetime.now(timezone.utc) + KeyValueStore.store_value("test_dt", datetime.now(UTC)) + assert KeyValueStore.get_value("test_dt") == datetime.now(UTC) KeyValueStore.store_value("test_float", 23.51) assert KeyValueStore.get_value("test_float") == 23.51 @@ -52,7 +52,7 @@ def test_key_value_store(time_machine): @pytest.mark.usefixtures("init_persistence") def test_set_startup_time(fee, time_machine): create_mock_trades_usdt(fee) - start = datetime.now(timezone.utc) + start = datetime.now(UTC) time_machine.move_to(start, tick=False) set_startup_time() diff --git a/tests/persistence/test_persistence.py b/tests/persistence/test_persistence.py index d07bd7192..5ec1a05d2 100644 --- a/tests/persistence/test_persistence.py +++ b/tests/persistence/test_persistence.py @@ -1,5 +1,5 @@ # pragma pylint: disable=missing-docstring, C0103 -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from types import FunctionType import pytest @@ -265,7 +265,7 @@ def test_interest(fee, exchange, is_short, lev, minutes, rate, interest, trading stake_amount=20.0, amount=30.0, open_rate=2.0, - open_date=datetime.now(timezone.utc) - timedelta(minutes=minutes), + open_date=datetime.now(UTC) - timedelta(minutes=minutes), fee_open=fee.return_value, fee_close=fee.return_value, exchange=exchange, @@ -605,7 +605,7 @@ def test_calc_open_close_trade_price( stake_amount=60.0, open_rate=2.0, amount=30.0, - open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10), + open_date=datetime.now(tz=UTC) - timedelta(minutes=10), interest_rate=0.0005, fee_open=fee.return_value, fee_close=fee.return_value, @@ -812,7 +812,7 @@ def test_calc_open_trade_value( stake_amount=60.0, amount=30.0, open_rate=2.0, - open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10), + open_date=datetime.now(tz=UTC) - timedelta(minutes=10), fee_open=fee_rate, fee_close=fee_rate, exchange=exchange, @@ -863,7 +863,7 @@ def test_calc_close_trade_price( stake_amount=60.0, amount=30.0, open_rate=open_rate, - open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10), + open_date=datetime.now(tz=UTC) - timedelta(minutes=10), fee_open=fee_rate, fee_close=fee_rate, exchange=exchange, @@ -1164,7 +1164,7 @@ def test_calc_profit( stake_amount=60.0, amount=30.0 * lev, open_rate=2.0, - open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10), + open_date=datetime.now(tz=UTC) - timedelta(minutes=10), interest_rate=0.0005, exchange=exchange, is_short=is_short, @@ -1882,7 +1882,7 @@ def test_get_trades_proxy(fee, use_db, is_short): assert len(trades) == 2 assert not trades[0].is_open - opendate = datetime.now(tz=timezone.utc) - timedelta(minutes=15) + opendate = datetime.now(tz=UTC) - timedelta(minutes=15) assert len(Trade.get_trades_proxy(open_date=opendate)) == 3 @@ -1989,7 +1989,7 @@ def test_fully_canceled_entry_order_count(fee, is_short): @pytest.mark.usefixtures("init_persistence") def test_update_order_from_ccxt(caplog, time_machine): - start = datetime(2023, 1, 1, 4, tzinfo=timezone.utc) + start = datetime(2023, 1, 1, 4, tzinfo=UTC) time_machine.move_to(start, tick=False) # Most basic order return (only has orderid) @@ -2172,7 +2172,7 @@ def test_trade_truncates_string_fields(): stake_amount=20.0, amount=30.0, open_rate=2.0, - open_date=datetime.now(timezone.utc) - timedelta(minutes=20), + open_date=datetime.now(UTC) - timedelta(minutes=20), fee_open=0.001, fee_close=0.001, exchange="binance", diff --git a/tests/persistence/test_trade_fromjson.py b/tests/persistence/test_trade_fromjson.py index ff717751e..1154751bd 100644 --- a/tests/persistence/test_trade_fromjson.py +++ b/tests/persistence/test_trade_fromjson.py @@ -1,5 +1,5 @@ import json -from datetime import datetime, timezone +from datetime import UTC, datetime import pytest @@ -182,7 +182,7 @@ def test_trade_fromjson(): assert trade.id == 25 assert trade.pair == "ETH/USDT" - assert trade.open_date_utc == datetime(2022, 10, 18, 9, 12, 42, tzinfo=timezone.utc) + assert trade.open_date_utc == datetime(2022, 10, 18, 9, 12, 42, tzinfo=UTC) assert isinstance(trade.open_date, datetime) assert trade.exit_reason == "no longer good" assert trade.realized_profit == 2.76315361 @@ -192,7 +192,7 @@ def test_trade_fromjson(): assert len(trade.orders) == 5 last_o = trade.orders[-1] - assert last_o.order_filled_utc == datetime(2022, 10, 18, 9, 45, 22, tzinfo=timezone.utc) + assert last_o.order_filled_utc == datetime(2022, 10, 18, 9, 45, 22, tzinfo=UTC) assert isinstance(last_o.order_date, datetime) assert last_o.funding_fee == -0.055 diff --git a/tests/plugins/test_pairlocks.py b/tests/plugins/test_pairlocks.py index f227818b3..678355f1c 100644 --- a/tests/plugins/test_pairlocks.py +++ b/tests/plugins/test_pairlocks.py @@ -1,4 +1,4 @@ -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta import pytest @@ -62,7 +62,7 @@ def test_PairLocks(use_db): pair = "BTC/USDT" # Lock until 14:30 - lock_time = datetime(2020, 5, 1, 14, 30, 0, tzinfo=timezone.utc) + lock_time = datetime(2020, 5, 1, 14, 30, 0, tzinfo=UTC) PairLocks.lock_pair(pair, lock_time) assert not PairLocks.is_pair_locked(pair) @@ -121,15 +121,15 @@ def test_PairLocks_getlongestlock(use_db): assert PairLocks.is_pair_locked(pair) lock = PairLocks.get_pair_longest_lock(pair) - assert lock.lock_end_time.replace(tzinfo=timezone.utc) > dt_now() + timedelta(minutes=3) - assert lock.lock_end_time.replace(tzinfo=timezone.utc) < dt_now() + timedelta(minutes=14) + assert lock.lock_end_time.replace(tzinfo=UTC) > dt_now() + timedelta(minutes=3) + assert lock.lock_end_time.replace(tzinfo=UTC) < dt_now() + timedelta(minutes=14) PairLocks.lock_pair(pair, dt_now() + timedelta(minutes=15)) assert PairLocks.is_pair_locked(pair) lock = PairLocks.get_pair_longest_lock(pair) # Must be longer than above - assert lock.lock_end_time.replace(tzinfo=timezone.utc) > dt_now() + timedelta(minutes=14) + assert lock.lock_end_time.replace(tzinfo=UTC) > dt_now() + timedelta(minutes=14) PairLocks.reset_locks() PairLocks.use_db = True diff --git a/tests/plugins/test_percentchangepairlist.py b/tests/plugins/test_percentchangepairlist.py index 7c2f16d76..7bbf92e5d 100644 --- a/tests/plugins/test_percentchangepairlist.py +++ b/tests/plugins/test_percentchangepairlist.py @@ -1,4 +1,4 @@ -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import MagicMock import pandas as pd @@ -141,7 +141,7 @@ def test_gen_pairlist_with_valid_change_pair_list_config(mocker, rpl_config, tic "lookback_days": 4, } ] - start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=timezone.utc) + start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=UTC) time_machine.move_to(start, tick=False) mock_ohlcv_data = { @@ -224,7 +224,7 @@ def test_filter_pairlist_with_empty_ticker(mocker, rpl_config, tickers, time_mac "lookback_days": 4, } ] - start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=timezone.utc) + start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=UTC) time_machine.move_to(start, tick=False) mock_ohlcv_data = { @@ -291,7 +291,7 @@ def test_filter_pairlist_with_max_value_set(mocker, rpl_config, tickers, time_ma } ] - start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=timezone.utc) + start = datetime(2024, 8, 1, 0, 0, 0, 0, tzinfo=UTC) time_machine.move_to(start, tick=False) mock_ohlcv_data = { diff --git a/tests/plugins/test_protections.py b/tests/plugins/test_protections.py index ef2c7e1d3..164fdbb08 100644 --- a/tests/plugins/test_protections.py +++ b/tests/plugins/test_protections.py @@ -1,5 +1,5 @@ import random -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta import pytest @@ -31,8 +31,8 @@ def generate_mock_trade( stake_amount=0.01, fee_open=fee, fee_close=fee, - open_date=datetime.now(timezone.utc) - timedelta(minutes=min_ago_open or 200), - close_date=datetime.now(timezone.utc) - timedelta(minutes=min_ago_close or 30), + open_date=datetime.now(UTC) - timedelta(minutes=min_ago_open or 200), + close_date=datetime.now(UTC) - timedelta(minutes=min_ago_close or 30), open_rate=open_rate, is_open=is_open, amount=0.01 / open_rate, @@ -99,9 +99,9 @@ def test_protectionmanager(mocker, default_conf): for handler in freqtrade.protections._protection_handlers: assert handler.name in AVAILABLE_PROTECTIONS if not handler.has_global_stop: - assert handler.global_stop(datetime.now(timezone.utc), "*") is None + assert handler.global_stop(datetime.now(UTC), "*") is None if not handler.has_local_stop: - assert handler.stop_per_pair("XRP/BTC", datetime.now(timezone.utc), "*") is None + assert handler.stop_per_pair("XRP/BTC", datetime.now(UTC), "*") is None @pytest.mark.parametrize( @@ -499,7 +499,7 @@ def test_CooldownPeriod_unlock_at(mocker, default_conf, fee, caplog, time_machin assert not log_has_re(message, caplog) caplog.clear() - start_dt = datetime(2024, 5, 2, 0, 30, 0, tzinfo=timezone.utc) + start_dt = datetime(2024, 5, 2, 0, 30, 0, tzinfo=UTC) time_machine.move_to(start_dt, tick=False) generate_mock_trade( @@ -527,7 +527,7 @@ def test_CooldownPeriod_unlock_at(mocker, default_conf, fee, caplog, time_machin assert not PairLocks.is_global_lock() # Force rollover to the next day. - start_dt = datetime(2024, 5, 2, 22, 00, 0, tzinfo=timezone.utc) + start_dt = datetime(2024, 5, 2, 22, 00, 0, tzinfo=UTC) time_machine.move_to(start_dt, tick=False) generate_mock_trade( "ETH/BTC", diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index 54f427f66..d8fe14d1a 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -1,5 +1,5 @@ from copy import deepcopy -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from unittest.mock import ANY, MagicMock, PropertyMock import pytest @@ -347,7 +347,7 @@ def test__rpc_timeunit_profit( assert day["starting_balance"] in (pytest.approx(1062.37), pytest.approx(1066.46)) assert day["fiat_value"] in (0.0,) # ensure first day is current date - assert str(days["data"][0]["date"]) == str(datetime.now(timezone.utc).date()) + assert str(days["data"][0]["date"]) == str(datetime.now(UTC).date()) # Try invalid data with pytest.raises(RPCException, match=r".*must be an integer greater than 0*"): @@ -1296,9 +1296,9 @@ def test_rpc_add_and_delete_lock(mocker, default_conf): rpc = RPC(freqtradebot) pair = "ETH/BTC" - rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=4), "", "*") - rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=5), "", "*") - rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=10), "", "*") + rpc._rpc_add_lock(pair, datetime.now(UTC) + timedelta(minutes=4), "", "*") + rpc._rpc_add_lock(pair, datetime.now(UTC) + timedelta(minutes=5), "", "*") + rpc._rpc_add_lock(pair, datetime.now(UTC) + timedelta(minutes=10), "", "*") locks = rpc._rpc_locks() assert locks["lock_count"] == 3 diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index d0b235638..fb85e1b80 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -5,7 +5,7 @@ Unit test file for rpc/api_server.py import asyncio import logging import time -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from pathlib import Path from unittest.mock import ANY, MagicMock, PropertyMock @@ -637,12 +637,12 @@ def test_api_locks(botclient): [ { "pair": "ETH/BTC", - "until": f"{format_date(datetime.now(timezone.utc) + timedelta(minutes=4))}Z", + "until": f"{format_date(datetime.now(UTC) + timedelta(minutes=4))}Z", "reason": "randreason", }, { "pair": "XRP/BTC", - "until": f"{format_date(datetime.now(timezone.utc) + timedelta(minutes=20))}Z", + "until": f"{format_date(datetime.now(UTC) + timedelta(minutes=20))}Z", "reason": "deadbeef", }, ], @@ -711,7 +711,7 @@ def test_api_daily(botclient, mocker, ticker, fee, markets): assert len(response["data"]) == 7 assert response["stake_currency"] == "BTC" assert response["fiat_display_currency"] == "USD" - assert response["data"][0]["date"] == str(datetime.now(timezone.utc).date()) + assert response["data"][0]["date"] == str(datetime.now(UTC).date()) def test_api_weekly(botclient, mocker, ticker, fee, markets, time_machine): @@ -1695,7 +1695,7 @@ def test_api_force_entry(botclient, mocker, fee, endpoint): exchange="binance", stake_amount=1, open_rate=0.245441, - open_date=datetime.now(timezone.utc), + open_date=datetime.now(UTC), is_open=False, is_short=False, fee_close=fee.return_value, diff --git a/tests/rpc/test_rpc_emc.py b/tests/rpc/test_rpc_emc.py index 678379e68..ef4bbad5e 100644 --- a/tests/rpc/test_rpc_emc.py +++ b/tests/rpc/test_rpc_emc.py @@ -4,7 +4,7 @@ Unit test file for rpc/external_message_consumer.py import asyncio import logging -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import MagicMock import pytest @@ -99,7 +99,7 @@ def test_emc_handle_producer_message(patched_emc, caplog, ohlcv_history): "data": { "key": ("BTC/USDT", "5m", "spot"), "df": ohlcv_history, - "la": datetime.now(timezone.utc), + "la": datetime.now(UTC), }, } patched_emc.handle_producer_message(test_producer, df_message) @@ -123,7 +123,7 @@ def test_emc_handle_producer_message(patched_emc, caplog, ohlcv_history): malformed_message = { "type": "analyzed_df", - "data": {"key": "BTC/USDT", "df": ohlcv_history, "la": datetime.now(timezone.utc)}, + "data": {"key": "BTC/USDT", "df": ohlcv_history, "la": datetime.now(UTC)}, } patched_emc.handle_producer_message(test_producer, malformed_message) @@ -137,7 +137,7 @@ def test_emc_handle_producer_message(patched_emc, caplog, ohlcv_history): "data": { "key": ("BTC/USDT", "5m", "spot"), "df": ohlcv_history.loc[ohlcv_history["open"] < 0], - "la": datetime.now(timezone.utc), + "la": datetime.now(UTC), }, } patched_emc.handle_producer_message(test_producer, malformed_message) diff --git a/tests/strategy/test_default_strategy.py b/tests/strategy/test_default_strategy.py index 494e374c4..27153c4de 100644 --- a/tests/strategy/test_default_strategy.py +++ b/tests/strategy/test_default_strategy.py @@ -1,4 +1,4 @@ -from datetime import datetime, timezone +from datetime import UTC, datetime import pytest from pandas import DataFrame @@ -47,7 +47,7 @@ def test_strategy_test_v3(dataframe_1m, fee, is_short, side): amount=0.1, rate=20000, time_in_force="gtc", - current_time=datetime.now(timezone.utc), + current_time=datetime.now(UTC), side=side, entry_tag=None, ) @@ -63,7 +63,7 @@ def test_strategy_test_v3(dataframe_1m, fee, is_short, side): time_in_force="gtc", exit_reason="roi", sell_reason="roi", - current_time=datetime.now(timezone.utc), + current_time=datetime.now(UTC), side=side, ) is True diff --git a/tests/strategy/test_interface.py b/tests/strategy/test_interface.py index f9ae4abdc..f80efb00f 100644 --- a/tests/strategy/test_interface.py +++ b/tests/strategy/test_interface.py @@ -1,7 +1,7 @@ # pragma pylint: disable=missing-docstring, C0103 import logging import math -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from pathlib import Path from unittest.mock import MagicMock @@ -208,7 +208,7 @@ def test_ignore_expired_candle(default_conf): strategy = StrategyResolver.load_strategy(default_conf) strategy.ignore_buying_expired_candle_after = 60 - latest_date = datetime(2020, 12, 30, 7, 0, 0, tzinfo=timezone.utc) + latest_date = datetime(2020, 12, 30, 7, 0, 0, tzinfo=UTC) # Add 1 candle length as the "latest date" defines candle open. current_time = latest_date + timedelta(seconds=80 + 300) @@ -765,7 +765,7 @@ def test_leverage_callback(default_conf, side) -> None: assert ( strategy.leverage( pair="XRP/USDT", - current_time=datetime.now(timezone.utc), + current_time=datetime.now(UTC), current_rate=2.2, proposed_leverage=1.0, max_leverage=5.0, @@ -780,7 +780,7 @@ def test_leverage_callback(default_conf, side) -> None: assert ( strategy.leverage( pair="XRP/USDT", - current_time=datetime.now(timezone.utc), + current_time=datetime.now(UTC), current_rate=2.2, proposed_leverage=1.0, max_leverage=5.0, @@ -897,7 +897,7 @@ def test_is_pair_locked(default_conf): pair = "BTC/USDT" # Lock until 14:30 - lock_time = datetime(2020, 5, 1, 14, 30, 0, tzinfo=timezone.utc) + lock_time = datetime(2020, 5, 1, 14, 30, 0, tzinfo=UTC) # Subtract 2 seconds, as locking rounds up to the next candle. strategy.lock_pair(pair, lock_time - timedelta(seconds=2)) diff --git a/tests/util/test_datetime_helpers.py b/tests/util/test_datetime_helpers.py index 258c5a0b9..0fc8cd050 100644 --- a/tests/util/test_datetime_helpers.py +++ b/tests/util/test_datetime_helpers.py @@ -1,4 +1,4 @@ -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta import pytest import time_machine @@ -21,14 +21,14 @@ from freqtrade.util.datetime_helpers import dt_humanize_delta def test_dt_now(): with time_machine.travel("2021-09-01 05:01:00 +00:00", tick=False) as t: - now = datetime.now(timezone.utc) + now = datetime.now(UTC) assert dt_now() == now assert dt_ts() == int(now.timestamp() * 1000) assert dt_ts(now) == int(now.timestamp() * 1000) t.shift(timedelta(hours=5)) assert dt_now() >= now - assert dt_now() == datetime.now(timezone.utc) + assert dt_now() == datetime.now(UTC) assert dt_ts() == int(dt_now().timestamp() * 1000) # Test with different time than now assert dt_ts(now) == int(now.timestamp() * 1000) @@ -37,42 +37,42 @@ def test_dt_now(): def test_dt_ts_def(): assert dt_ts_def(None) == 0 assert dt_ts_def(None, 123) == 123 - assert dt_ts_def(datetime(2023, 5, 5, tzinfo=timezone.utc)) == 1683244800000 - assert dt_ts_def(datetime(2023, 5, 5, tzinfo=timezone.utc), 123) == 1683244800000 + assert dt_ts_def(datetime(2023, 5, 5, tzinfo=UTC)) == 1683244800000 + assert dt_ts_def(datetime(2023, 5, 5, tzinfo=UTC), 123) == 1683244800000 def test_dt_ts_none(): assert dt_ts_none(None) is None assert dt_ts_none(None) is None - assert dt_ts_none(datetime(2023, 5, 5, tzinfo=timezone.utc)) == 1683244800000 - assert dt_ts_none(datetime(2023, 5, 5, tzinfo=timezone.utc)) == 1683244800000 + assert dt_ts_none(datetime(2023, 5, 5, tzinfo=UTC)) == 1683244800000 + assert dt_ts_none(datetime(2023, 5, 5, tzinfo=UTC)) == 1683244800000 def test_dt_utc(): - assert dt_utc(2023, 5, 5) == datetime(2023, 5, 5, tzinfo=timezone.utc) + assert dt_utc(2023, 5, 5) == datetime(2023, 5, 5, tzinfo=UTC) assert dt_utc(2023, 5, 5, 0, 0, 0, 555500) == datetime( - 2023, 5, 5, 0, 0, 0, 555500, tzinfo=timezone.utc + 2023, 5, 5, 0, 0, 0, 555500, tzinfo=UTC ) @pytest.mark.parametrize("as_ms", [True, False]) def test_dt_from_ts(as_ms): multi = 1000 if as_ms else 1 - assert dt_from_ts(1683244800.0 * multi) == datetime(2023, 5, 5, tzinfo=timezone.utc) + assert dt_from_ts(1683244800.0 * multi) == datetime(2023, 5, 5, tzinfo=UTC) assert dt_from_ts(1683244800.5555 * multi) == datetime( - 2023, 5, 5, 0, 0, 0, 555500, tzinfo=timezone.utc + 2023, 5, 5, 0, 0, 0, 555500, tzinfo=UTC ) # As int - assert dt_from_ts(1683244800 * multi) == datetime(2023, 5, 5, tzinfo=timezone.utc) + assert dt_from_ts(1683244800 * multi) == datetime(2023, 5, 5, tzinfo=UTC) # As milliseconds - assert dt_from_ts(1683244800 * multi) == datetime(2023, 5, 5, tzinfo=timezone.utc) - assert dt_from_ts(1683242400 * multi) == datetime(2023, 5, 4, 23, 20, tzinfo=timezone.utc) + assert dt_from_ts(1683244800 * multi) == datetime(2023, 5, 5, tzinfo=UTC) + assert dt_from_ts(1683242400 * multi) == datetime(2023, 5, 4, 23, 20, tzinfo=UTC) def test_dt_floor_day(): - now = datetime(2023, 9, 1, 5, 2, 3, 455555, tzinfo=timezone.utc) + now = datetime(2023, 9, 1, 5, 2, 3, 455555, tzinfo=UTC) - assert dt_floor_day(now) == datetime(2023, 9, 1, tzinfo=timezone.utc) + assert dt_floor_day(now) == datetime(2023, 9, 1, tzinfo=UTC) def test_shorten_date() -> None: @@ -95,21 +95,21 @@ def test_format_ms_time() -> None: date_in_epoch_ms = 1523383321132 date = format_ms_time(date_in_epoch_ms) assert isinstance(date, str) - res = datetime(2018, 4, 10, 18, 2, 1, tzinfo=timezone.utc) + res = datetime(2018, 4, 10, 18, 2, 1, tzinfo=UTC) assert date == res.strftime("%Y-%m-%dT%H:%M:%S") assert date == "2018-04-10T18:02:01" - res = datetime(2017, 12, 13, 8, 2, 1, tzinfo=timezone.utc) + res = datetime(2017, 12, 13, 8, 2, 1, tzinfo=UTC) # Date 2017-12-13 08:02:01 date_in_epoch_ms = 1513152121000 assert format_ms_time(date_in_epoch_ms) == res.strftime("%Y-%m-%dT%H:%M:%S") def test_format_date() -> None: - date = datetime(2023, 9, 1, 5, 2, 3, 455555, tzinfo=timezone.utc) + date = datetime(2023, 9, 1, 5, 2, 3, 455555, tzinfo=UTC) assert format_date(date) == "2023-09-01 05:02:03" assert format_date(None) == "" - date = datetime(2021, 9, 30, 22, 59, 3, 455555, tzinfo=timezone.utc) + date = datetime(2021, 9, 30, 22, 59, 3, 455555, tzinfo=UTC) assert format_date(date) == "2021-09-30 22:59:03" assert format_date(None) == "" @@ -119,10 +119,10 @@ def test_format_ms_time_detailed() -> None: date_in_epoch_ms = 1523383321132 date = format_ms_time_det(date_in_epoch_ms) assert isinstance(date, str) - res = datetime(2018, 4, 10, 18, 2, 1, 132145, tzinfo=timezone.utc) + res = datetime(2018, 4, 10, 18, 2, 1, 132145, tzinfo=UTC) assert date == res.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] assert date == "2018-04-10T18:02:01.132" - res = datetime(2017, 12, 13, 8, 2, 1, 512321, tzinfo=timezone.utc) + res = datetime(2017, 12, 13, 8, 2, 1, 512321, tzinfo=UTC) # Date 2017-12-13 08:02:01 date_in_epoch_ms = 1513152121512 assert format_ms_time_det(date_in_epoch_ms) == res.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]