def test_no_exchange_mode(default_conf): dp = DataProvider(default_conf, None) message = "Exchange is not available to DataProvider." with pytest.raises(OperationalException, match=message): dp.refresh([()]) with pytest.raises(OperationalException, match=message): dp.ohlcv('XRP/USDT', '5m') with pytest.raises(OperationalException, match=message): dp.market('XRP/USDT') with pytest.raises(OperationalException, match=message): dp.ticker('XRP/USDT') with pytest.raises(OperationalException, match=message): dp.orderbook('XRP/USDT', 20) with pytest.raises(OperationalException, match=message): dp.available_pairs()
def test_orderbook(mocker, default_conf, order_book_l2): api_mock = MagicMock() api_mock.fetch_l2_order_book = order_book_l2 exchange = get_patched_exchange(mocker, default_conf, api_mock=api_mock) dp = DataProvider(default_conf, exchange) res = dp.orderbook('ETH/BTC', 5) assert order_book_l2.call_count == 1 assert order_book_l2.call_args_list[0][0][0] == 'ETH/BTC' assert order_book_l2.call_args_list[0][0][1] >= 5 assert type(res) is dict assert 'bids' in res assert 'asks' in res