diff --git a/freqtrade/rpc/api_server/api_v1.py b/freqtrade/rpc/api_server/api_v1.py index 78ef65ef5..71f251021 100644 --- a/freqtrade/rpc/api_server/api_v1.py +++ b/freqtrade/rpc/api_server/api_v1.py @@ -141,13 +141,14 @@ def forceentry(payload: ForceEnterPayload, rpc: RPC = Depends(get_rpc)): ordertype = payload.ordertype.value if payload.ordertype else None stake_amount = payload.stakeamount if payload.stakeamount else None - trade = rpc._rpc_forcebuy(payload.pair, payload.price, order_side=payload.side, - order_type=ordertype, stake_amount=stake_amount) + trade = rpc._rpc_force_entry(payload.pair, payload.price, order_side=payload.side, + order_type=ordertype, stake_amount=stake_amount) if trade: return ForceEnterResponse.parse_obj(trade.to_json()) else: - return ForceEnterResponse.parse_obj({"status": f"Error entering {payload.side} trade for pair {payload.pair}."}) + return ForceEnterResponse.parse_obj( + {"status": f"Error entering {payload.side} trade for pair {payload.pair}."}) @router.post('/forcesell', response_model=ResultMsg, tags=['trading']) diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index 90759857e..13be803c8 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -714,9 +714,10 @@ class RPC: self._freqtrade.wallets.update() return {'result': f'Created sell order for trade {trade_id}.'} - def _rpc_forcebuy(self, pair: str, price: Optional[float], *, order_type: Optional[str] = None, - order_side: SignalDirection = SignalDirection.LONG, - stake_amount: Optional[float] = None) -> Optional[Trade]: + def _rpc_force_entry(self, pair: str, price: Optional[float], *, + order_type: Optional[str] = None, + order_side: SignalDirection = SignalDirection.LONG, + stake_amount: Optional[float] = None) -> Optional[Trade]: """ Handler for forcebuy Buys a pair trade at the given or current price diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index 0769e0277..4ca728ef6 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -868,7 +868,7 @@ class Telegram(RPCHandler): def _forcebuy_action(self, pair, price=None): try: - self._rpc._rpc_forcebuy(pair, price) + self._rpc._rpc_force_entry(pair, price) except RPCException as e: self._send_msg(str(e)) diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index 1c924caa9..47c7d4db7 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -1106,16 +1106,16 @@ def test_rpcforcebuy(mocker, default_conf, ticker, fee, limit_buy_order_open) -> patch_get_signal(freqtradebot) rpc = RPC(freqtradebot) pair = 'ETH/BTC' - trade = rpc._rpc_forcebuy(pair, None) + trade = rpc._rpc_force_entry(pair, None) assert isinstance(trade, Trade) assert trade.pair == pair assert trade.open_rate == ticker()['bid'] # Test buy duplicate with pytest.raises(RPCException, match=r'position for ETH/BTC already open - id: 1'): - rpc._rpc_forcebuy(pair, 0.0001) + rpc._rpc_force_entry(pair, 0.0001) pair = 'XRP/BTC' - trade = rpc._rpc_forcebuy(pair, 0.0001, order_type='limit') + trade = rpc._rpc_force_entry(pair, 0.0001, order_type='limit') assert isinstance(trade, Trade) assert trade.pair == pair assert trade.open_rate == 0.0001 @@ -1123,11 +1123,11 @@ def test_rpcforcebuy(mocker, default_conf, ticker, fee, limit_buy_order_open) -> # Test buy pair not with stakes with pytest.raises(RPCException, match=r'Wrong pair selected. Only pairs with stake-currency.*'): - rpc._rpc_forcebuy('LTC/ETH', 0.0001) + rpc._rpc_force_entry('LTC/ETH', 0.0001) # Test with defined stake_amount pair = 'LTC/BTC' - trade = rpc._rpc_forcebuy(pair, 0.0001, order_type='limit', stake_amount=0.05) + trade = rpc._rpc_force_entry(pair, 0.0001, order_type='limit', stake_amount=0.05) assert trade.stake_amount == 0.05 # Test not buying @@ -1137,7 +1137,7 @@ def test_rpcforcebuy(mocker, default_conf, ticker, fee, limit_buy_order_open) -> patch_get_signal(freqtradebot) rpc = RPC(freqtradebot) pair = 'TKN/BTC' - trade = rpc._rpc_forcebuy(pair, None) + trade = rpc._rpc_force_entry(pair, None) assert trade is None @@ -1151,7 +1151,7 @@ def test_rpcforcebuy_stopped(mocker, default_conf) -> None: rpc = RPC(freqtradebot) pair = 'ETH/BTC' with pytest.raises(RPCException, match=r'trader is not running'): - rpc._rpc_forcebuy(pair, None) + rpc._rpc_force_entry(pair, None) def test_rpcforcebuy_disabled(mocker, default_conf) -> None: @@ -1162,7 +1162,7 @@ def test_rpcforcebuy_disabled(mocker, default_conf) -> None: rpc = RPC(freqtradebot) pair = 'ETH/BTC' with pytest.raises(RPCException, match=r'Forcebuy not enabled.'): - rpc._rpc_forcebuy(pair, None) + rpc._rpc_force_entry(pair, None) @pytest.mark.usefixtures("init_persistence") diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index 27fa5db3a..d3b992d63 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -1074,7 +1074,7 @@ def test_api_forcebuy(botclient, mocker, fee): ftbot.config['forcebuy_enable'] = True fbuy_mock = MagicMock(return_value=None) - mocker.patch("freqtrade.rpc.RPC._rpc_forcebuy", fbuy_mock) + mocker.patch("freqtrade.rpc.RPC._rpc_force_entry", fbuy_mock) rc = client_post(client, f"{BASE_URI}/forcebuy", data='{"pair": "ETH/BTC"}') assert_response(rc) @@ -1099,7 +1099,7 @@ def test_api_forcebuy(botclient, mocker, fee): timeframe=5, strategy=CURRENT_TEST_STRATEGY )) - mocker.patch("freqtrade.rpc.RPC._rpc_forcebuy", fbuy_mock) + mocker.patch("freqtrade.rpc.RPC._rpc_force_entry", fbuy_mock) rc = client_post(client, f"{BASE_URI}/forcebuy", data='{"pair": "ETH/BTC"}') diff --git a/tests/rpc/test_rpc_telegram.py b/tests/rpc/test_rpc_telegram.py index f6ff396d4..6b227ccaf 100644 --- a/tests/rpc/test_rpc_telegram.py +++ b/tests/rpc/test_rpc_telegram.py @@ -1137,7 +1137,7 @@ def test_forcebuy_handle(default_conf, update, mocker) -> None: mocker.patch('freqtrade.rpc.rpc.CryptoToFiatConverter._find_price', return_value=15000.0) fbuy_mock = MagicMock(return_value=None) - mocker.patch('freqtrade.rpc.RPC._rpc_forcebuy', fbuy_mock) + mocker.patch('freqtrade.rpc.RPC._rpc_force_entry', fbuy_mock) telegram, freqtradebot, _ = get_telegram_testobject(mocker, default_conf) patch_get_signal(freqtradebot) @@ -1153,7 +1153,7 @@ def test_forcebuy_handle(default_conf, update, mocker) -> None: # Reset and retry with specified price fbuy_mock = MagicMock(return_value=None) - mocker.patch('freqtrade.rpc.RPC._rpc_forcebuy', fbuy_mock) + mocker.patch('freqtrade.rpc.RPC._rpc_force_entry', fbuy_mock) # /forcebuy ETH/BTC 0.055 context = MagicMock() context.args = ["ETH/BTC", "0.055"] @@ -1182,7 +1182,7 @@ def test_forcebuy_no_pair(default_conf, update, mocker) -> None: mocker.patch('freqtrade.rpc.rpc.CryptoToFiatConverter._find_price', return_value=15000.0) fbuy_mock = MagicMock(return_value=None) - mocker.patch('freqtrade.rpc.RPC._rpc_forcebuy', fbuy_mock) + mocker.patch('freqtrade.rpc.RPC._rpc_force_entry', fbuy_mock) telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf) diff --git a/tests/test_integration.py b/tests/test_integration.py index 13bcac351..74518c691 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -179,7 +179,7 @@ def test_forcebuy_last_unlimited(default_conf, ticker, fee, mocker, balance_rati assert len(trades) == 4 assert freqtrade.wallets.get_trade_stake_amount('XRP/BTC') == result1 - rpc._rpc_forcebuy('TKN/BTC', None) + rpc._rpc_force_entry('TKN/BTC', None) trades = Trade.query.all() assert len(trades) == 5