def test_on_validate_price_source_derivative(self): perpetual_mm_config_map.get("price_source_market").value = "MARKET" config_map_module.on_validated_price_source_derivative("Something") self.assertEqual( "MARKET", perpetual_mm_config_map.get("price_source_market").value) config_map_module.on_validated_price_source_derivative(None) self.assertIsNone( perpetual_mm_config_map.get("price_source_market").value)
def test_validate_price_source_market(self): fetcher_mock = MagicMock() type(fetcher_mock).ready = mock.PropertyMock(return_value=True) type(fetcher_mock).trading_pairs = mock.PropertyMock( return_value={"test_market": ["BTC-USDT"]}) TradingPairFetcher._sf_shared_instance = fetcher_mock perpetual_mm_config_map.get( "price_source_derivative").value = "test_market" result = config_map_module.validate_price_source_market("BTC-USDT") self.assertIsNone(result) result = config_map_module.validate_price_source_market("NON-EXISTENT") self.assertEqual( "NON-EXISTENT is not an active market on test_market.", result)
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.notifications = [] self.log_errors = [] assign_config_default(c_map) c_map.get("derivative").value = "binance" c_map.get("market").value = "ETH-USDT" c_map.get("leverage").value = Decimal("5") c_map.get("order_amount").value = Decimal("1") c_map.get("order_refresh_time").value = 60. c_map.get("bid_spread").value = Decimal("1") c_map.get("ask_spread").value = Decimal("2")
def test_price_source_derivative_validator(self, get_derivatives_mock, get_exchange_mock): get_derivatives_mock.return_value = ["derivative_connector"] get_exchange_mock.return_value = ["exchange_connector"] perpetual_mm_config_map.get("derivative").value = "test_market" self.assertEqual( "Price source derivative cannot be the same as maker derivative.", config_map_module.validate_price_source_derivative("test_market")) self.assertEqual( "Price source must must be a valid exchange or derivative connector.", config_map_module.validate_price_source_derivative("invalid")) self.assertIsNone( config_map_module.validate_price_source_derivative( "derivative_connector"))
def test_price_source_market_prompt(self): perpetual_mm_config_map.get( "price_source_derivative").value = "test_market" self.assertEqual("Enter the token trading pair on test_market >>> ", config_map_module.price_source_market_prompt())