refactor: tests - update timezone.utc to UTC
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
@@ -73,7 +73,7 @@ async def test_bybit_fetch_funding_rate(default_conf, mocker):
|
||||
|
||||
|
||||
def test_bybit_get_funding_fees(default_conf, mocker):
|
||||
now = datetime.now(timezone.utc)
|
||||
now = datetime.now(UTC)
|
||||
exchange = get_patched_exchange(mocker, default_conf, exchange="bybit")
|
||||
exchange._fetch_and_calculate_funding_fees = MagicMock()
|
||||
exchange.get_funding_fees("BTC/USDT:USDT", 1, False, now)
|
||||
@@ -117,7 +117,7 @@ def test_bybit_fetch_orders(default_conf, mocker, limit_order):
|
||||
return True
|
||||
|
||||
mocker.patch(f"{EXMS}.exchange_has", side_effect=exchange_has)
|
||||
start_time = datetime.now(timezone.utc) - timedelta(days=20)
|
||||
start_time = datetime.now(UTC) - timedelta(days=20)
|
||||
|
||||
exchange = get_patched_exchange(mocker, default_conf, api_mock, exchange="bybit")
|
||||
# Not available in dry-run
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import copy
|
||||
import logging
|
||||
from copy import deepcopy
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from random import randint
|
||||
from unittest.mock import MagicMock, Mock, PropertyMock, patch
|
||||
|
||||
@@ -1728,7 +1728,7 @@ def test_fetch_orders(default_conf, mocker, exchange_name, limit_order):
|
||||
api_mock.fetch_closed_orders = MagicMock(return_value=[limit_order["buy"]])
|
||||
|
||||
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
||||
start_time = datetime.now(timezone.utc) - timedelta(days=20)
|
||||
start_time = datetime.now(UTC) - timedelta(days=20)
|
||||
expected = 1
|
||||
if exchange_name == "bybit":
|
||||
expected = 3
|
||||
@@ -2106,7 +2106,7 @@ def test___now_is_time_to_refresh(default_conf, mocker, exchange_name, time_mach
|
||||
exchange = get_patched_exchange(mocker, default_conf, exchange=exchange_name)
|
||||
pair = "BTC/USDT"
|
||||
candle_type = CandleType.SPOT
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=timezone.utc)
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=UTC)
|
||||
time_machine.move_to(start_dt, tick=False)
|
||||
assert (pair, "5m", candle_type) not in exchange._pairs_last_refresh_time
|
||||
|
||||
@@ -2129,7 +2129,7 @@ def test___now_is_time_to_refresh(default_conf, mocker, exchange_name, time_mach
|
||||
assert exchange._now_is_time_to_refresh(pair, "5m", candle_type) is True
|
||||
|
||||
# Test with 1d data
|
||||
start_day_dt = datetime(2023, 12, 1, 0, 0, 0, tzinfo=timezone.utc)
|
||||
start_day_dt = datetime(2023, 12, 1, 0, 0, 0, tzinfo=UTC)
|
||||
last_closed_candle_1d = dt_ts(start_day_dt - timedelta(days=1))
|
||||
exchange._pairs_last_refresh_time[(pair, "1d", candle_type)] = last_closed_candle_1d
|
||||
|
||||
@@ -2197,7 +2197,7 @@ def test_get_historic_ohlcv(default_conf, mocker, caplog, exchange_name, candle_
|
||||
async def test__async_get_historic_ohlcv(default_conf, mocker, caplog, exchange_name, candle_type):
|
||||
ohlcv = [
|
||||
[
|
||||
int((datetime.now(timezone.utc).timestamp() - 1000) * 1000),
|
||||
int((datetime.now(UTC).timestamp() - 1000) * 1000),
|
||||
1, # open
|
||||
2, # high
|
||||
3, # low
|
||||
@@ -2501,7 +2501,7 @@ def test_refresh_latest_trades(
|
||||
|
||||
@pytest.mark.parametrize("candle_type", [CandleType.FUTURES, CandleType.MARK, CandleType.SPOT])
|
||||
def test_refresh_latest_ohlcv_cache(mocker, default_conf, candle_type, time_machine) -> None:
|
||||
start = datetime(2021, 8, 1, 0, 0, 0, 0, tzinfo=timezone.utc)
|
||||
start = datetime(2021, 8, 1, 0, 0, 0, 0, tzinfo=UTC)
|
||||
ohlcv = generate_test_data_raw("1h", 100, start.strftime("%Y-%m-%d"))
|
||||
time_machine.move_to(start + timedelta(hours=99, minutes=30))
|
||||
|
||||
@@ -2595,7 +2595,7 @@ def test_refresh_latest_ohlcv_cache(mocker, default_conf, candle_type, time_mach
|
||||
|
||||
|
||||
def test_refresh_ohlcv_with_cache(mocker, default_conf, time_machine) -> None:
|
||||
start = datetime(2021, 8, 1, 0, 0, 0, 0, tzinfo=timezone.utc)
|
||||
start = datetime(2021, 8, 1, 0, 0, 0, 0, tzinfo=UTC)
|
||||
ohlcv = generate_test_data_raw("1h", 100, start.strftime("%Y-%m-%d"))
|
||||
time_machine.move_to(start, tick=False)
|
||||
pairs = [
|
||||
@@ -2903,7 +2903,7 @@ def test_get_entry_rate(
|
||||
mocker, default_conf, caplog, side, ask, bid, last, last_ab, expected, time_machine
|
||||
) -> None:
|
||||
caplog.set_level(logging.DEBUG)
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=timezone.utc)
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=UTC)
|
||||
time_machine.move_to(start_dt, tick=False)
|
||||
if last_ab is None:
|
||||
del default_conf["entry_pricing"]["price_last_balance"]
|
||||
@@ -2940,7 +2940,7 @@ def test_get_exit_rate(
|
||||
default_conf, mocker, caplog, side, bid, ask, last, last_ab, expected, time_machine
|
||||
) -> None:
|
||||
caplog.set_level(logging.DEBUG)
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=timezone.utc)
|
||||
start_dt = datetime(2023, 12, 1, 0, 10, 0, tzinfo=UTC)
|
||||
time_machine.move_to(start_dt, tick=False)
|
||||
|
||||
default_conf["exit_pricing"]["price_side"] = side
|
||||
@@ -4019,7 +4019,7 @@ def test_get_trades_for_order(default_conf, mocker, exchange_name, trading_mode,
|
||||
assert api_mock.fetch_my_trades.call_args[0][1] == 1525478395000
|
||||
assert (
|
||||
api_mock.fetch_my_trades.call_args[0][1]
|
||||
== int(since.replace(tzinfo=timezone.utc).timestamp() - 5) * 1000
|
||||
== int(since.replace(tzinfo=UTC).timestamp() - 5) * 1000
|
||||
)
|
||||
|
||||
ccxt_exceptionhandlers(
|
||||
@@ -4785,7 +4785,7 @@ def test_calculate_backoff(retrycount, max_retries, expected):
|
||||
|
||||
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
||||
def test_get_funding_fees(default_conf_usdt, mocker, exchange_name, caplog):
|
||||
now = datetime.now(timezone.utc)
|
||||
now = datetime.now(UTC)
|
||||
default_conf_usdt["trading_mode"] = "futures"
|
||||
default_conf_usdt["margin_mode"] = "isolated"
|
||||
exchange = get_patched_exchange(mocker, default_conf_usdt, exchange=exchange_name)
|
||||
@@ -5002,8 +5002,8 @@ def test_calculate_funding_fees(
|
||||
):
|
||||
exchange = get_patched_exchange(mocker, default_conf)
|
||||
kraken = get_patched_exchange(mocker, default_conf, exchange="kraken")
|
||||
prior_date = timeframe_to_prev_date("1h", datetime.now(timezone.utc) - timedelta(hours=1))
|
||||
trade_date = timeframe_to_prev_date("1h", datetime.now(timezone.utc))
|
||||
prior_date = timeframe_to_prev_date("1h", datetime.now(UTC) - timedelta(hours=1))
|
||||
trade_date = timeframe_to_prev_date("1h", datetime.now(UTC))
|
||||
funding_rates = DataFrame(
|
||||
[
|
||||
{"date": prior_date, "open": funding_rate}, # Line not used.
|
||||
@@ -5072,9 +5072,9 @@ def test_combine_funding_and_mark(
|
||||
futures_funding_rate,
|
||||
):
|
||||
exchange = get_patched_exchange(mocker, default_conf)
|
||||
prior2_date = timeframe_to_prev_date("1h", datetime.now(timezone.utc) - timedelta(hours=2))
|
||||
prior_date = timeframe_to_prev_date("1h", datetime.now(timezone.utc) - timedelta(hours=1))
|
||||
trade_date = timeframe_to_prev_date("1h", datetime.now(timezone.utc))
|
||||
prior2_date = timeframe_to_prev_date("1h", datetime.now(UTC) - timedelta(hours=2))
|
||||
prior_date = timeframe_to_prev_date("1h", datetime.now(UTC) - timedelta(hours=1))
|
||||
trade_date = timeframe_to_prev_date("1h", datetime.now(UTC))
|
||||
funding_rates = DataFrame(
|
||||
[
|
||||
{"date": prior2_date, "open": funding_rate},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# pragma pylint: disable=missing-docstring, protected-access, invalid-name
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from math import isnan, nan
|
||||
|
||||
import pytest
|
||||
@@ -117,7 +117,7 @@ def test_check_exchange(default_conf, caplog) -> None:
|
||||
|
||||
|
||||
def test_date_minus_candles():
|
||||
date = datetime(2019, 8, 12, 13, 25, 0, tzinfo=timezone.utc)
|
||||
date = datetime(2019, 8, 12, 13, 25, 0, tzinfo=UTC)
|
||||
|
||||
assert date_minus_candles("5m", 3, date) == date - timedelta(minutes=15)
|
||||
assert date_minus_candles("5m", 5, date) == date - timedelta(minutes=25)
|
||||
@@ -167,59 +167,59 @@ def test_timeframe_to_resample_freq(timeframe, expected):
|
||||
|
||||
def test_timeframe_to_prev_date():
|
||||
# 2019-08-12 13:22:08
|
||||
date = datetime.fromtimestamp(1565616128, tz=timezone.utc)
|
||||
date = datetime.fromtimestamp(1565616128, tz=UTC)
|
||||
|
||||
tf_list = [
|
||||
# 5m -> 2019-08-12 13:20:00
|
||||
("5m", datetime(2019, 8, 12, 13, 20, 0, tzinfo=timezone.utc)),
|
||||
("5m", datetime(2019, 8, 12, 13, 20, 0, tzinfo=UTC)),
|
||||
# 10m -> 2019-08-12 13:20:00
|
||||
("10m", datetime(2019, 8, 12, 13, 20, 0, tzinfo=timezone.utc)),
|
||||
("10m", datetime(2019, 8, 12, 13, 20, 0, tzinfo=UTC)),
|
||||
# 1h -> 2019-08-12 13:00:00
|
||||
("1h", datetime(2019, 8, 12, 13, 00, 0, tzinfo=timezone.utc)),
|
||||
("1h", datetime(2019, 8, 12, 13, 00, 0, tzinfo=UTC)),
|
||||
# 2h -> 2019-08-12 12:00:00
|
||||
("2h", datetime(2019, 8, 12, 12, 00, 0, tzinfo=timezone.utc)),
|
||||
("2h", datetime(2019, 8, 12, 12, 00, 0, tzinfo=UTC)),
|
||||
# 4h -> 2019-08-12 12:00:00
|
||||
("4h", datetime(2019, 8, 12, 12, 00, 0, tzinfo=timezone.utc)),
|
||||
("4h", datetime(2019, 8, 12, 12, 00, 0, tzinfo=UTC)),
|
||||
# 1d -> 2019-08-12 00:00:00
|
||||
("1d", datetime(2019, 8, 12, 00, 00, 0, tzinfo=timezone.utc)),
|
||||
("1d", datetime(2019, 8, 12, 00, 00, 0, tzinfo=UTC)),
|
||||
]
|
||||
for interval, result in tf_list:
|
||||
assert timeframe_to_prev_date(interval, date) == result
|
||||
|
||||
date = datetime.now(tz=timezone.utc)
|
||||
date = datetime.now(tz=UTC)
|
||||
assert timeframe_to_prev_date("5m") < date
|
||||
# Does not round
|
||||
time = datetime(2019, 8, 12, 13, 20, 0, tzinfo=timezone.utc)
|
||||
time = datetime(2019, 8, 12, 13, 20, 0, tzinfo=UTC)
|
||||
assert timeframe_to_prev_date("5m", time) == time
|
||||
time = datetime(2019, 8, 12, 13, 0, 0, tzinfo=timezone.utc)
|
||||
time = datetime(2019, 8, 12, 13, 0, 0, tzinfo=UTC)
|
||||
assert timeframe_to_prev_date("1h", time) == time
|
||||
|
||||
|
||||
def test_timeframe_to_next_date():
|
||||
# 2019-08-12 13:22:08
|
||||
date = datetime.fromtimestamp(1565616128, tz=timezone.utc)
|
||||
date = datetime.fromtimestamp(1565616128, tz=UTC)
|
||||
tf_list = [
|
||||
# 5m -> 2019-08-12 13:25:00
|
||||
("5m", datetime(2019, 8, 12, 13, 25, 0, tzinfo=timezone.utc)),
|
||||
("5m", datetime(2019, 8, 12, 13, 25, 0, tzinfo=UTC)),
|
||||
# 10m -> 2019-08-12 13:30:00
|
||||
("10m", datetime(2019, 8, 12, 13, 30, 0, tzinfo=timezone.utc)),
|
||||
("10m", datetime(2019, 8, 12, 13, 30, 0, tzinfo=UTC)),
|
||||
# 1h -> 2019-08-12 14:00:00
|
||||
("1h", datetime(2019, 8, 12, 14, 00, 0, tzinfo=timezone.utc)),
|
||||
("1h", datetime(2019, 8, 12, 14, 00, 0, tzinfo=UTC)),
|
||||
# 2h -> 2019-08-12 14:00:00
|
||||
("2h", datetime(2019, 8, 12, 14, 00, 0, tzinfo=timezone.utc)),
|
||||
("2h", datetime(2019, 8, 12, 14, 00, 0, tzinfo=UTC)),
|
||||
# 4h -> 2019-08-12 14:00:00
|
||||
("4h", datetime(2019, 8, 12, 16, 00, 0, tzinfo=timezone.utc)),
|
||||
("4h", datetime(2019, 8, 12, 16, 00, 0, tzinfo=UTC)),
|
||||
# 1d -> 2019-08-13 00:00:00
|
||||
("1d", datetime(2019, 8, 13, 0, 0, 0, tzinfo=timezone.utc)),
|
||||
("1d", datetime(2019, 8, 13, 0, 0, 0, tzinfo=UTC)),
|
||||
]
|
||||
|
||||
for interval, result in tf_list:
|
||||
assert timeframe_to_next_date(interval, date) == result
|
||||
|
||||
date = datetime.now(tz=timezone.utc)
|
||||
date = datetime.now(tz=UTC)
|
||||
assert timeframe_to_next_date("5m") > date
|
||||
|
||||
date = datetime(2019, 8, 12, 13, 30, 0, tzinfo=timezone.utc)
|
||||
date = datetime(2019, 8, 12, 13, 30, 0, tzinfo=UTC)
|
||||
assert timeframe_to_next_date("5m", date) == date + timedelta(minutes=5)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime, timezone
|
||||
from datetime import UTC, datetime
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
@@ -113,7 +113,7 @@ def test_fetch_my_trades_gate(mocker, default_conf, takerormaker, rate, cost):
|
||||
)
|
||||
exchange = get_patched_exchange(mocker, default_conf, api_mock=api_mock, exchange="gate")
|
||||
exchange._trading_fees = tick
|
||||
trades = exchange.get_trades_for_order("22255", "ETH/USDT:USDT", datetime.now(timezone.utc))
|
||||
trades = exchange.get_trades_for_order("22255", "ETH/USDT:USDT", datetime.now(UTC))
|
||||
trade = trades[0]
|
||||
assert trade["fee"]
|
||||
assert trade["fee"]["rate"] == rate
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime, timezone
|
||||
from datetime import UTC, datetime
|
||||
from unittest.mock import MagicMock, PropertyMock
|
||||
|
||||
import pytest
|
||||
@@ -306,7 +306,7 @@ def test_hyperliquid_dry_run_liquidation_price(default_conf, mocker):
|
||||
|
||||
|
||||
def test_hyperliquid_get_funding_fees(default_conf, mocker):
|
||||
now = datetime.now(timezone.utc)
|
||||
now = datetime.now(UTC)
|
||||
exchange = get_patched_exchange(mocker, default_conf, exchange="hyperliquid")
|
||||
exchange._fetch_and_calculate_funding_fees = MagicMock()
|
||||
exchange.get_funding_fees("BTC/USDC:USDC", 1, False, now)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from unittest.mock import AsyncMock, MagicMock, PropertyMock
|
||||
|
||||
import ccxt
|
||||
@@ -15,7 +15,7 @@ from tests.exchange.test_exchange import ccxt_exceptionhandlers
|
||||
def test_okx_ohlcv_candle_limit(default_conf, mocker):
|
||||
exchange = get_patched_exchange(mocker, default_conf, exchange="okx")
|
||||
timeframes = ("1m", "5m", "1h")
|
||||
start_time = int(datetime(2021, 1, 1, tzinfo=timezone.utc).timestamp() * 1000)
|
||||
start_time = int(datetime(2021, 1, 1, tzinfo=UTC).timestamp() * 1000)
|
||||
|
||||
for timeframe in timeframes:
|
||||
assert exchange.ohlcv_candle_limit(timeframe, CandleType.SPOT) == 300
|
||||
@@ -29,7 +29,7 @@ def test_okx_ohlcv_candle_limit(default_conf, mocker):
|
||||
assert exchange.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 100
|
||||
one_call = int(
|
||||
(
|
||||
datetime.now(timezone.utc)
|
||||
datetime.now(UTC)
|
||||
- timedelta(minutes=290 * timeframe_to_minutes(timeframe))
|
||||
).timestamp()
|
||||
* 1000
|
||||
@@ -40,7 +40,7 @@ def test_okx_ohlcv_candle_limit(default_conf, mocker):
|
||||
|
||||
one_call = int(
|
||||
(
|
||||
datetime.now(timezone.utc)
|
||||
datetime.now(UTC)
|
||||
- timedelta(minutes=320 * timeframe_to_minutes(timeframe))
|
||||
).timestamp()
|
||||
* 1000
|
||||
@@ -693,7 +693,7 @@ def test_fetch_orders_okx(default_conf, mocker, limit_order):
|
||||
api_mock.fetch_closed_orders = MagicMock(return_value=[limit_order["buy"]])
|
||||
|
||||
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
||||
start_time = datetime.now(timezone.utc) - timedelta(days=20)
|
||||
start_time = datetime.now(UTC) - timedelta(days=20)
|
||||
|
||||
exchange = get_patched_exchange(mocker, default_conf, api_mock, exchange="okx")
|
||||
# Not available in dry-run
|
||||
@@ -727,7 +727,7 @@ def test_fetch_orders_okx(default_conf, mocker, limit_order):
|
||||
api_mock.fetch_closed_orders.reset_mock()
|
||||
|
||||
# regular closed_orders endpoint only has history for 7 days.
|
||||
exchange.fetch_orders("mocked", datetime.now(timezone.utc) - timedelta(days=6))
|
||||
exchange.fetch_orders("mocked", datetime.now(UTC) - timedelta(days=6))
|
||||
assert api_mock.fetch_orders.call_count == 0
|
||||
assert api_mock.fetch_open_orders.call_count == 1
|
||||
assert api_mock.fetch_closed_orders.call_count == 1
|
||||
|
||||
Reference in New Issue
Block a user