RAPTOR v18.4: Исправлена отчетность, активированы выходные
This commit is contained in:
85
invest-python-master/tests/test_marketdata.py
Normal file
85
invest-python-master/tests/test_marketdata.py
Normal file
@@ -0,0 +1,85 @@
|
||||
# pylint: disable=redefined-outer-name,unused-variable
|
||||
# pylint: disable=protected-access
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from google.protobuf.json_format import MessageToDict
|
||||
|
||||
from t_tech.invest._grpc_helpers import dataclass_to_protobuff
|
||||
from t_tech.invest.grpc import marketdata_pb2
|
||||
from t_tech.invest.schemas import (
|
||||
GetMySubscriptions,
|
||||
MarketDataRequest,
|
||||
SubscribeTradesRequest,
|
||||
SubscriptionAction,
|
||||
TradeInstrument,
|
||||
)
|
||||
from t_tech.invest.services import MarketDataService
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def market_data_service():
|
||||
return mock.create_autospec(spec=MarketDataService)
|
||||
|
||||
|
||||
def test_get_candles(market_data_service):
|
||||
response = market_data_service.get_candles( # noqa: F841
|
||||
figi=mock.Mock(),
|
||||
from_=mock.Mock(),
|
||||
to=mock.Mock(),
|
||||
interval=mock.Mock(),
|
||||
)
|
||||
market_data_service.get_candles.assert_called_once()
|
||||
|
||||
|
||||
def test_get_last_prices(market_data_service):
|
||||
response = market_data_service.get_last_prices(figi=mock.Mock()) # noqa: F841
|
||||
market_data_service.get_last_prices.assert_called_once()
|
||||
|
||||
|
||||
def test_get_order_book(market_data_service):
|
||||
response = market_data_service.get_order_book( # noqa: F841
|
||||
figi=mock.Mock(), depth=mock.Mock()
|
||||
)
|
||||
market_data_service.get_order_book.assert_called_once()
|
||||
|
||||
|
||||
def test_get_trading_status(market_data_service):
|
||||
response = market_data_service.get_trading_status(figi=mock.Mock()) # noqa: F841
|
||||
market_data_service.get_trading_status.assert_called_once()
|
||||
|
||||
|
||||
def test_subscribe_trades_request():
|
||||
expected = marketdata_pb2.MarketDataRequest(
|
||||
subscribe_trades_request=marketdata_pb2.SubscribeTradesRequest(
|
||||
instruments=[marketdata_pb2.TradeInstrument(figi="figi")],
|
||||
subscription_action=SubscriptionAction.SUBSCRIPTION_ACTION_SUBSCRIBE,
|
||||
with_open_interest=True,
|
||||
)
|
||||
)
|
||||
|
||||
result = dataclass_to_protobuff(
|
||||
MarketDataRequest(
|
||||
subscribe_trades_request=SubscribeTradesRequest(
|
||||
instruments=[TradeInstrument(figi="figi")],
|
||||
subscription_action=SubscriptionAction.SUBSCRIPTION_ACTION_SUBSCRIBE,
|
||||
with_open_interest=True,
|
||||
)
|
||||
),
|
||||
marketdata_pb2.MarketDataRequest(),
|
||||
)
|
||||
|
||||
assert MessageToDict(result) == MessageToDict(expected)
|
||||
|
||||
|
||||
def test_market_data_request_get_my_subscriptions():
|
||||
expected = marketdata_pb2.MarketDataRequest(
|
||||
get_my_subscriptions=marketdata_pb2.GetMySubscriptions()
|
||||
)
|
||||
|
||||
result = dataclass_to_protobuff(
|
||||
MarketDataRequest(get_my_subscriptions=GetMySubscriptions()),
|
||||
marketdata_pb2.MarketDataRequest(),
|
||||
)
|
||||
|
||||
assert MessageToDict(result) == MessageToDict(expected)
|
||||
Reference in New Issue
Block a user