示例#1
0
    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)
示例#2
0
    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")
示例#4
0
    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"))
示例#5
0
 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())