]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_market.py
Check before processing that credentials are valid
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_market.py
index 02116387a1f4298926c56c911a64b4816517b75e..c89025be021383625a810a5eb8e33efb82bed6dd 100644 (file)
@@ -381,12 +381,16 @@ class MarketTest(WebMockTestCase):
             order_mock2.trade = trade_mock
 
             trade_mock.tick_actions_recreate.return_value = "tick1"
+            new_order_mock = mock.Mock()
+            trade_mock.prepare_order.return_value = new_order_mock
 
             m.follow_orders()
 
             trade_mock.tick_actions_recreate.assert_called_once_with(2)
             trade_mock.prepare_order.assert_called_once_with(compute_value="tick1")
             m.report.log_error.assert_called_once_with("follow_orders", message=mock.ANY)
+            m.report.log_order.assert_called_with(order_mock2, 2, new_order=new_order_mock)
+            new_order_mock.run.assert_called_once_with()
 
     @mock.patch.object(market.BalanceStore, "fetch_balances")
     def test_move_balance(self, fetch_balances):
@@ -883,6 +887,17 @@ class MarketTest(WebMockTestCase):
             store_report.assert_called_once()
             log_error.assert_not_called()
 
+        process.reset_mock()
+        log_error.reset_mock()
+        store_report.reset_mock()
+        with self.subTest(authentication_error=True):
+            m.ccxt.check_required_credentials.side_effect = market.ccxt.AuthenticationError
+
+            m.process(["some_action"], before=True)
+            log_error.assert_called_with("market_authentication", message="Impossible to authenticate to market")
+            store_report.assert_called_once()
+
+        m.ccxt.check_required_credentials.side_effect = True
         process.reset_mock()
         log_error.reset_mock()
         store_report.reset_mock()
@@ -1038,6 +1053,7 @@ class ProcessorTest(WebMockTestCase):
             self.m.balances.fetch_balances.assert_has_calls([
                 mock.call(add_portfolio=True, checkpoint='end',
                     log_tickers=True,
+                    add_usdt=True,
                     tag='process_foo__0_print_balances_begin')
                 ])
 
@@ -1056,7 +1072,7 @@ class ProcessorTest(WebMockTestCase):
 
             processor.process_step("foo", step, {"foo":"bar"})
             self.m.balances.fetch_balances.assert_called_once_with(
-                    add_portfolio=True, log_tickers=True,
+                    add_portfolio=True, add_usdt=True, log_tickers=True,
                     tag='process_foo__1_print_balances_begin')
 
     def test_parse_args(self):