def test_process_clear_action_response(sm: SubscriptionManager): category = Category.MARKET events = [MarketEvents.ORDERS, MarketEvents.CANCELS] topics = ['ETH_AURA', 'ETH_ZRX'] payload = dict(events=events, topics=topics) sm._process_subscribe_action_response(category, payload) assert len(sm.subscriptions[category].topics) == len(topics) sm._process_clear_action_response(category, payload) assert len(sm.subscriptions[category].topics) == 0
def test_process_unsubscribe_action_response(sm: SubscriptionManager): category = Category.MARKET events = [MarketEvents.ORDERS, MarketEvents.CANCELS] topics = ['ETH_AURA', 'ETH_ZRX'] payload = dict(events=events, topics=topics) sm._process_subscribe_action_response(category, payload) old_topics = sm.subscriptions[category].topics sm._process_unsubscribe_action_response(Category.CHAIN, payload) assert old_topics == sm.subscriptions[category].topics topics = ['ETH_AURA'] payload = dict(events=events, topics=topics) sm._process_unsubscribe_action_response(category, payload) assert sm.subscriptions[category].topics == ('ETH_AURA', )
def test_process_get_action_response(sm: SubscriptionManager): category = Category.MARKET events = [MarketEvents.ORDERS, MarketEvents.CANCELS] topics = ['ETH_AURA', 'ETH_ZRX'] payload = dict(events=events, topics=topics) assert sm.subscriptions == {} sm._process_get_action_response(category, payload) assert sm.subscriptions == {} sm._process_subscribe_action_response(category, payload) payload['topics'] = ['ETH_SAN'] old_events = sm.subscriptions[category].events sm._process_get_action_response(category, payload) assert sm.subscriptions[category].events == old_events assert sm.subscriptions[category].topics == ('ETH_SAN', )
def test_process_subscribe_action_response(sm: SubscriptionManager): category = Category.MARKET events = [MarketEvents.ORDERS, MarketEvents.CANCELS] topics = ['ETH_AURA', 'ETH_ZRX'] payload = dict(events=events, topics=topics) assert sm.subscriptions == {} sm._process_subscribe_action_response(category, payload) assert category in sm.subscriptions sub = sm.subscriptions[category] assert sub.category == category assert len(sub.events) == len(events) assert sub.events == (MarketEvents.CANCELS.value, MarketEvents.ORDERS.value) assert len(sub.topics) == len(topics) assert sub.topics == ('ETH_AURA', 'ETH_ZRX')