Files
wickra/bindings/python/tests/test_binance.py
T

27 lines
1.1 KiB
Python
Raw Normal View History

"""The live Binance feed's connect -> read -> reconnect pipeline is covered
deterministically by the Rust mock-WS-server tests in wickra-data. Here we only
assert the binding's error paths, which need no network.
"""
import pytest
import wickra as ta
def test_binance_feed_rejects_bad_params():
with pytest.raises(ValueError):
ta.BinanceFeed("BTCUSDT", 99) # unknown interval code
with pytest.raises(ValueError):
ta.BinanceFeed("", 1) # empty symbol list
with pytest.raises(ValueError):
ta.BinanceFeed("BTCUSDT", 1, "ws://127.0.0.1:1") # unreachable endpoint
def test_fetch_binance_klines_rejects_bad_params():
# The parse/HTTP success path is covered by the Rust mock-HTTP-server tests;
# here we only assert the binding's error paths.
with pytest.raises(ValueError):
ta.fetch_binance_klines("BTCUSDT", 99, 1) # unknown interval code
with pytest.raises(ValueError):
ta.fetch_binance_klines("BTCUSDT", 6, 0) # out-of-range limit
with pytest.raises(ValueError):
ta.fetch_binance_klines("BTCUSDT", 6, 1, base_url="http://127.0.0.1:1") # unreachable