def __init__(self): XmlOverTcpClient.__init__(self, 'root', 'toor', '1029384756') self.PACKET_RECEIVED_HANDLERS.update(self._PACKET_RECEIVED_HANDLERS) self.received_dummy_packets = [] self.received_data_request_packets = [] self.disconnected = False self.session_id_counter = count() self.generated_session_ids = [] self.request_id_counter = count() self.generated_request_ids = []
def test_packet_header_deserializing(self): session_id, length = XmlOverTcpClient.deserialize_header( '23\0\0\0\0\0\0\0\0\0\0\0\0\0\0' '38\0\0\0\0\0\0\0\0\0\0\0\0\0\0') self.assertEqual(session_id, '23') self.assertEqual(length, 38)
def test_packet_body_serializing(self): body = XmlOverTcpClient.serialize_body( 'DummyPacket', [('requestId', '123456789abcdefg')]) expected_body = ("<DummyPacket>" "<requestId>123456789abcdefg</requestId>" "</DummyPacket>") self.assertEqual(body, expected_body)
def test_packet_body_deserializing(self): body = '\n'.join([ "<USSDRequest>", "\t<requestId>", "\t\t123456789abcdefg", "\t</requestId>", "\t<msisdn>", "\t\t2347067123456", "\t</msisdn>", "\t<starCode>", "\t\t759", "\t</starCode>", "\t<clientId>", "\t\t441", "\t</clientId>", "\t<phase>", "\t\t2", "\t</phase>", "\t<dcs>", "\t\t15", "\t</dcs>", "\t<userdata>", "\t\t\xa4", "\t</userdata>", "\t<msgtype>", "\t\t4", "\t</msgtype>", "\t<EndofSession>", "\t\t0", "\t</EndofSession>", "</USSDRequest>\n" ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual( params, { 'requestId': '123456789abcdefg', 'msisdn': '2347067123456', 'userdata': u'\xa4', 'clientId': '441', 'dcs': '15', 'msgtype': '4', 'phase': '2', 'starCode': '759', 'EndofSession': '0', })
def test_packet_body_serializing(self): body = XmlOverTcpClient.serialize_body( 'DummyPacket', [('requestId', '123456789abcdefg')]) expected_body = ( "<DummyPacket>" "<requestId>123456789abcdefg</requestId>" "</DummyPacket>") self.assertEqual(body, expected_body)
def test_packet_body_serializing_for_non_latin1_chars(self): body = XmlOverTcpClient.serialize_body( 'DummyPacket', [('requestId', '123456789abcdefg'), ('userdata', u'Erdős')]) expected_body = ("<DummyPacket>" "<requestId>123456789abcdefg</requestId>" "<userdata>Erdős</userdata>" "</DummyPacket>") self.assertEqual(body, expected_body)
def test_packet_body_serializing_for_non_latin1_chars(self): body = XmlOverTcpClient.serialize_body( 'DummyPacket', [('requestId', '123456789abcdefg'), ('userdata', u'Erdős')]) expected_body = ( "<DummyPacket>" "<requestId>123456789abcdefg</requestId>" "<userdata>Erdős</userdata>" "</DummyPacket>") self.assertEqual(body, expected_body)
def test_packet_body_deserializing_for_invalid_xml_chars(self): body = '\n'.join([ '<USSDRequest>' '\t<requestId>' '\t\t123456789abcdefg' '\t</requestId>' '\t<msisdn>' '\t\t2341234567890', '\t</msisdn>', '\t<starCode>', '\t\t759', '\t</starCode>', '\t<clientId>', '\t\t441', '\t</clientId>', '\t<phase>', '\t\t2', '\t</phase>', '\t<dcs>', '\t\t229', '\t</dcs>', '\t<userdata>', '\t\t\x18', '\t</userdata>', '\t<msgtype>', '\t\t4', '\t</msgtype>', '\t<EndofSession>', '\t\t0', '\t</EndofSession>', '</USSDRequest>', ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual( params, { 'EndofSession': '0', 'clientId': '441', 'dcs': '229', 'msgtype': '4', 'msisdn': '2341234567890', 'phase': '2', 'requestId': '123456789abcdefg', 'starCode': '759', 'userdata': u'\x18', })
def test_packet_body_deserializing(self): body = '\n'.join([ "<USSDRequest>", "\t<requestId>", "\t\t123456789abcdefg", "\t</requestId>", "\t<msisdn>", "\t\t2347067123456", "\t</msisdn>", "\t<starCode>", "\t\t759", "\t</starCode>", "\t<clientId>", "\t\t441", "\t</clientId>", "\t<phase>", "\t\t2", "\t</phase>", "\t<dcs>", "\t\t15", "\t</dcs>", "\t<userdata>", "\t\t\xa4", "\t</userdata>", "\t<msgtype>", "\t\t4", "\t</msgtype>", "\t<EndofSession>", "\t\t0", "\t</EndofSession>", "</USSDRequest>\n" ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual(params, { 'requestId': '123456789abcdefg', 'msisdn': '2347067123456', 'userdata': u'\xa4', 'clientId': '441', 'dcs': '15', 'msgtype': '4', 'phase': '2', 'starCode': '759', 'EndofSession': '0', })
def test_packet_body_deserializing_for_invalid_xml_chars(self): body = '\n'.join([ '<USSDRequest>' '\t<requestId>' '\t\t123456789abcdefg' '\t</requestId>' '\t<msisdn>' '\t\t2341234567890', '\t</msisdn>', '\t<starCode>', '\t\t759', '\t</starCode>', '\t<clientId>', '\t\t441', '\t</clientId>', '\t<phase>', '\t\t2', '\t</phase>', '\t<dcs>', '\t\t229', '\t</dcs>', '\t<userdata>', '\t\t\x18', '\t</userdata>', '\t<msgtype>', '\t\t4', '\t</msgtype>', '\t<EndofSession>', '\t\t0', '\t</EndofSession>', '</USSDRequest>', ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual(params, { 'EndofSession': '0', 'clientId': '441', 'dcs': '229', 'msgtype': '4', 'msisdn': '2341234567890', 'phase': '2', 'requestId': '123456789abcdefg', 'starCode': '759', 'userdata': u'\x18', })
def test_packet_body_deserializing_for_entity_references(self): body = '\n'.join([ '<USSDRequest>', '\t<requestId>', '\t\t123456789abcdefg', '\t</requestId>', '\t<msisdn>', '\t\t2341234567890', '\t</msisdn>', '\t<starCode>', '\t\t759', '\t</starCode>', '\t<clientId>', '\t\t441', '\t</clientId>', '\t<phase>', '\t\t2', '\t</phase>', '\t<dcs>', '\t\t15', '\t</dcs>', '\t<userdata>', '\t\tTeam's rank', '\t</userdata>', '\t<msgtype>\n\t\t4', '\t</msgtype>', '\t<EndofSession>', '\t\t0', '\t</EndofSession>', '</USSDRequest>', ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual( params, { 'EndofSession': u'0', 'clientId': u'441', 'dcs': u'15', 'msgtype': u'4', 'msisdn': u'2341234567890', 'phase': u'2', 'requestId': u'123456789abcdefg', 'starCode': u'759', 'userdata': u"Team's rank" })
def test_packet_body_deserializing_for_entity_references(self): body = '\n'.join([ '<USSDRequest>', '\t<requestId>', '\t\t123456789abcdefg', '\t</requestId>', '\t<msisdn>', '\t\t2341234567890', '\t</msisdn>', '\t<starCode>', '\t\t759', '\t</starCode>', '\t<clientId>', '\t\t441', '\t</clientId>', '\t<phase>', '\t\t2', '\t</phase>', '\t<dcs>', '\t\t15', '\t</dcs>', '\t<userdata>', '\t\tTeam's rank', '\t</userdata>', '\t<msgtype>\n\t\t4', '\t</msgtype>', '\t<EndofSession>', '\t\t0', '\t</EndofSession>', '</USSDRequest>', ]) packet_type, params = XmlOverTcpClient.deserialize_body(body) self.assertEqual(packet_type, 'USSDRequest') self.assertEqual(params, { 'EndofSession': u'0', 'clientId': u'441', 'dcs': u'15', 'msgtype': u'4', 'msisdn': u'2341234567890', 'phase': u'2', 'requestId': u'123456789abcdefg', 'starCode': u'759', 'userdata': u"Team's rank" })
def test_gen_session_id(self): sessid = XmlOverTcpClient.gen_session_id() self.assertEqual(len(sessid), XmlOverTcpClient.SESSION_ID_HEADER_SIZE) self.assertTrue( all(c in XmlOverTcpClient.SESSION_ID_CHARACTERS for c in sessid))
def dataReceived(self, data): XmlOverTcpClient.dataReceived(self, data) self.callback_deferred_data(data)
def mk_packet(session_id, body): return XmlOverTcpClient.serialize_header(session_id, body) + body
def test_packet_header_serializing(self): self.assertEqual( XmlOverTcpClient.serialize_header('23', 'abcdef'), '23\0\0\0\0\0\0\0\0\0\0\0\0\0\0' '38\0\0\0\0\0\0\0\0\0\0\0\0\0\0')
def dataReceived(self, data): XmlOverTcpClient.dataReceived(self, data) self.received_queue.put(data)
def connectionMade(self): XmlOverTcpClient.connectionMade(self) self.factory.resetDelay()
def __init__(self, vumi_transport, **kwargs): XmlOverTcpClient.__init__(self, **kwargs) self.vumi_transport = vumi_transport