def testSerializeDeserialize(self): m = TestMessage(id=1, name='avi') out = serialization.SerializeThriftMsg(m) outm = serialization.DeserializeThriftMsg(TestMessage(), out) self.assertEquals(m, outm) embedded = EmbeddedMessage(timestamp=1) m.embedded = embedded out = serialization.SerializeThriftMsg(m) outm = serialization.DeserializeThriftMsg(TestMessage(), out) self.assertEquals(m, outm)
def testDeserializeFailure(self): # Test simple string data. self.assertRaises(Exception, serialization.DeserializeThriftMsg, TestMessage(), "data") # Test another message entirely. m = EmbeddedMessage(timestamp=1) data = serialization.SerializeThriftMsg(m) self.assertRaises(TProtocolException, serialization.DeserializeThriftMsg, TestMessage(), data)
def testDeepValidate(self): m = TestMessage(id=1, name='avi') validation.DeepValidate(m) # Should fail - embedded.timestamp unset. embedded = EmbeddedMessage() m.embedded = embedded self.assertRaises(TProtocolException, validation.DeepValidate, m) # Should pass now. embedded.timestamp = 1 validation.DeepValidate(m) # Should fail - map contains invalid embedded message. embedded2 = EmbeddedMessage() m.map_embedded = {9: embedded2} self.assertRaises(TProtocolException, validation.DeepValidate, m) # Should pass now. embedded2.timestamp = 2 validation.DeepValidate(m) # Should still pass m.map_embedded[10] = embedded2 validation.DeepValidate(m) # Should fail - list contains invalid message. embedded3 = EmbeddedMessage() m.list_embdedded = [embedded3] self.assertRaises(TProtocolException, validation.DeepValidate, m) # Should pass now. embedded3.timestamp = 3 validation.DeepValidate(m)
def testSerializeFailure(self): m = TestMessage() self.assertRaises(TProtocolException, serialization.SerializeThriftMsg, m)