def test_call_1(self): """ Test if the sessions call handler is called when an unidirectional call packet is received. """ conn = MockedConnection() chan = Channel(conn) conn.mock_connection_ready(True) session = chan.session('name') handler = Mock() session.add_call_handler(handler) conn.mock_downstream_verb(verbs.CallVerb( unidirectional=False, postref=1, name=b'name', payload=b'payload', )) self.__verify_handler_call( handler, Call, unidirectional=False, name='name', postref=1, payload='payload', )
def test_interest_2(self): """ Test if the sessions interest handler is called when an interest packet is received. """ conn = MockedConnection() chan = Channel(conn) conn.mock_connection_ready(True) session = chan.session('name') handler = Mock() session.add_interest_handler(handler) conn.mock_downstream_verb(verbs.InterestVerb( postref=1, name=b'name', status=verbs.InterestVerb.STATUS_NO_INTEREST, topic=b'topic' )) self.__verify_handler_call( handler, Interest, status=InterestStatus.NO_INTEREST, name='name', topic='topic', source=session, )
def test_message_timeout_1(self): """ Test if a response message to a request results in the handler being called correctly. """ conn = MockedConnection() chan = Channel(conn) conn.mock_connection_ready(True) req = chan.request('name', 'payload') handler = Mock() req.add_handler(handler, MessageStatus.ANY) reqi = req.send() conn.mock_downstream_verb(verbs.MessageVerb( messageref=1, status=verbs.MessageVerb.STATUS_TIMEOUT, payload=b'response' )) self.__verify_handler_call( handler, Message, status=MessageStatus.TIMEOUT, payload=None, source=reqi, )
def test_session_verb_logging_3(self): conn = MockedConnection() chan = Channel(conn) with self.assertLogs(channel.logger, level='INFO'): conn.mock_downstream_verb(verbs.SessionVerb( name=b'name', state=verbs.SessionVerb.STATE_ENDED, ))
def test_subscribe_message_1(self): """ Test that the handler is called when a message is received for a subscription. """ conn = MockedConnection() chan = Channel(conn) conn.mock_connection_ready(True) handler = unittest.mock.Mock() sub = chan.subscribe('name', 'topic') sub.add_handler(handler) conn.mock_downstream_verb(verbs.MessageVerb( messageref=1, status=verbs.MessageVerb.STATUS_OK, payload=b'payload1', )) self.__verify_handler_call( handler, Message, status=MessageStatus.OK, payload='payload1', ) conn.mock_downstream_verb(verbs.MessageVerb( messageref=1, status=verbs.MessageVerb.STATUS_OK, payload=b'payload2', )) self.__verify_handler_call( handler, Message, status=MessageStatus.OK, payload='payload2', )
def test_interest_connection_lost_1(self): """ Test if the interest is lost when the connection is lost. """ conn = MockedConnection() chan = Channel(conn) conn.mock_connection_ready(True) session = chan.session('name') handler = Mock() session.add_interest_handler(handler) conn.mock_downstream_verb(verbs.InterestVerb( postref=1, name=b'name', status=verbs.InterestVerb.STATUS_INTEREST, topic=b'topic' )) self.__verify_handler_call( handler, Interest, status=InterestStatus.INTEREST, topic='topic', source=session, ) conn.mock_connection_ready(False) self.__verify_handler_call( handler, Interest, status=InterestStatus.NO_INTEREST, topic='topic', source=session, )