def test_deserialize(self): rawdata = "_Packet(" + str(Packet_TYPE.DATA) + ", 10)<" + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$>" p1 = _Packet._deserialize(rawdata) expected = _Packet(Packet_TYPE.DATA, 10) expected._setData(str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$") self.assertEquals(p1, expected, "The deserialized packets must be equals")
def test_invalidReads(self): rawdata = "_Packet(" + str(Packet_TYPE.DATA) + ", 10)<" + str(_DATA_TYPE.INT) + "$10$>" p1 = _Packet._deserialize(rawdata) self.assertRaises(PacketException, p1.readFloat) self.assertRaises(PacketException, p1.readString) self.assertRaises(PacketException, p1.readLong) self.assertIsInstance(p1.readInt(), int, "The read value must be an integer")
def test_invalidReads(self): rawdata = "" + str(Packet_TYPE.DATA) + ",10," + str( _DATA_TYPE.INT) + "$10$" p1 = _Packet._deserialize(rawdata) self.assertRaises(PacketException, p1.readFloat) self.assertRaises(PacketException, p1.readString) self.assertRaises(PacketException, p1.readLong) self.assertIsInstance(p1.readInt(), int, "The read value must be an integer")
def onPacketReceived(self, p): """ Returns the incoming packages queue Args: None Returns: The incoming packages queue """ p = _Packet._deserialize(p) self.__queue.queue(p.getPriority(), p)
def test_deserialize(self): rawdata = "" + str(Packet_TYPE.DATA) + ",10," + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$" p1 = _Packet._deserialize(rawdata) expected = _Packet(Packet_TYPE.DATA, 10) expected._setData( str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$") self.assertEquals(p1, expected, "The deserialized packets must be equals")
def test_read(self): rawdata = "_Packet(" + str(Packet_TYPE.DATA) + ", 10)<" + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$" + str(_DATA_TYPE.STRING) + "$Hello, world!$" + \ str(_DATA_TYPE.INT) + "$0$" + str(_DATA_TYPE.LONG) + "$60$>" p1 = _Packet._deserialize(rawdata) self.assertEquals(10, p1.readInt(), "The read integer must have the expected value") self.assertEquals(3.14159264, p1.readFloat(), "The read float must have the expected value") self.assertEquals("Hello, world!",p1.readString(), "The read string must have the expected value") self.assertEquals(False, p1.readBool(), "The read bool must have the expected value") self.assertEquals(60L, p1.readLong(), "The read long must have the expected value") self.assertFalse(p1.hasMoreData(), "The packet should be empty after reading all its data")
def onPacketReceived(self, p, peerAddr, peerPort): """ Returns the incoming packages queue Args: None Returns: The incoming packages queue """ p = _Packet._deserialize(p) p._setSenderData(peerAddr, peerPort) self._queue.queue(p.getPriority(), p)
def test_malformedPackages(self): # Wrong header 1: empty string rawData = "" self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong header 2: unknown package type rawData = "_Packet(-100, 0)<>" self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong header 3: crap priority rawData = "_Packet(-100, 0.1)<>" self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong data rawData = "_Packet(0, 10)<" + str(_DATA_TYPE.INT) + "$hello, world!>" p = _Packet._deserialize(rawData) self.assertRaises(PacketException, p.readInt)
def test_malformedpackets(self): # Wrong header 1: empty string rawData = "" self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong header 2: unknown package type rawData = "-100,0," self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong header 3: crap priority rawData = "-100,0.1" self.assertRaises(PacketException, _Packet._deserialize, (rawData)) # Wrong data rawData = "0,10," + str(_DATA_TYPE.INT) + "$hello, world!" p = _Packet._deserialize(rawData) self.assertRaises(PacketException, p.readInt)
def test_read(self): rawdata = "" + str(Packet_TYPE.DATA) + ",10," + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$" + str(_DATA_TYPE.STRING) + "$Hello, world!$" + \ str(_DATA_TYPE.INT) + "$0$" + str(_DATA_TYPE.LONG) + "$60$" p1 = _Packet._deserialize(rawdata) self.assertEquals(10, p1.readInt(), "The read integer must have the expected value") self.assertEquals(3.14159264, p1.readFloat(), "The read float must have the expected value") self.assertEquals("Hello, world!", p1.readString(), "The read string must have the expected value") self.assertEquals(False, p1.readBool(), "The read bool must have the expected value") self.assertEquals(60L, p1.readLong(), "The read long must have the expected value") self.assertFalse( p1.hasMoreData(), "The packet should be empty after reading all its data")