@ -65,48 +65,6 @@ class MessageTest(unittest.TestCase):
message_module . TestAllTypes . FromString ( bad_utf8_data )
self . assertIn ( ' TestAllTypes.optional_string ' , str ( context . exception ) )
def testGoldenMessage ( self , message_module ) :
# Proto3 doesn't have the "default_foo" members or foreign enums,
# and doesn't preserve unknown fields, so for proto3 we use a golden
# message that doesn't have these fields set.
if message_module is unittest_pb2 :
golden_data = test_util . GoldenFileData ( ' golden_message_oneof_implemented ' )
else :
golden_data = test_util . GoldenFileData ( ' golden_message_proto3 ' )
golden_message = message_module . TestAllTypes ( )
golden_message . ParseFromString ( golden_data )
if message_module is unittest_pb2 :
test_util . ExpectAllFieldsSet ( self , golden_message )
self . assertEqual ( golden_data , golden_message . SerializeToString ( ) )
golden_copy = copy . deepcopy ( golden_message )
self . assertEqual ( golden_data , golden_copy . SerializeToString ( ) )
def testGoldenMessageBytearray ( self , message_module ) :
# bytearray was broken, test that it works again
if message_module is unittest_pb2 :
golden_data = test_util . GoldenFileData ( ' golden_message_oneof_implemented ' )
else :
golden_data = test_util . GoldenFileData ( ' golden_message_proto3 ' )
golden_message = message_module . TestAllTypes ( )
golden_message . ParseFromString ( bytearray ( golden_data ) )
if message_module is unittest_pb2 :
test_util . ExpectAllFieldsSet ( self , golden_message )
self . assertEqual ( golden_data , golden_message . SerializeToString ( ) )
def testGoldenPackedMessage ( self , message_module ) :
golden_data = test_util . GoldenFileData ( ' golden_packed_fields_message ' )
golden_message = message_module . TestPackedTypes ( )
parsed_bytes = golden_message . ParseFromString ( golden_data )
all_set = message_module . TestPackedTypes ( )
test_util . SetAllPackedFields ( all_set )
self . assertEqual ( parsed_bytes , len ( golden_data ) )
self . assertEqual ( all_set , golden_message )
self . assertEqual ( golden_data , all_set . SerializeToString ( ) )
golden_copy = copy . deepcopy ( golden_message )
self . assertEqual ( golden_data , golden_copy . SerializeToString ( ) )
def testParseErrors ( self , message_module ) :
msg = message_module . TestAllTypes ( )
self . assertRaises ( TypeError , msg . FromString , 0 )
@ -162,7 +120,9 @@ class MessageTest(unittest.TestCase):
golden_message . SerializeToString ( deterministic = BadArg ( ) )
def testPickleSupport ( self , message_module ) :
golden_data = test_util . GoldenFileData ( ' golden_message ' )
golden_message = message_module . TestAllTypes ( )
test_util . SetAllFields ( golden_message )
golden_data = golden_message . SerializeToString ( )
golden_message = message_module . TestAllTypes ( )
golden_message . ParseFromString ( golden_data )
pickled_message = pickle . dumps ( golden_message )
@ -1537,36 +1497,6 @@ class Proto2Test(unittest.TestCase):
all_set . Extensions [ unittest_pb2 . packed_float_extension ] . extend ( [ 61.0 , 71.0 ] )
self . assertNotEqual ( all_set , copy )
def testGoldenExtensions ( self ) :
golden_data = test_util . GoldenFileData ( ' golden_message ' )
golden_message = unittest_pb2 . TestAllExtensions ( )
golden_message . ParseFromString ( golden_data )
all_set = unittest_pb2 . TestAllExtensions ( )
test_util . SetAllExtensions ( all_set )
self . assertEqual ( all_set , golden_message )
self . assertEqual ( golden_data , golden_message . SerializeToString ( ) )
golden_copy = copy . deepcopy ( golden_message )
self . assertEqual ( golden_message , golden_copy )
# Depend on a specific serialization order for extensions is not
# reasonable to guarantee.
if api_implementation . Type ( ) != ' upb ' :
self . assertEqual ( golden_data , golden_copy . SerializeToString ( ) )
def testGoldenPackedExtensions ( self ) :
golden_data = test_util . GoldenFileData ( ' golden_packed_fields_message ' )
golden_message = unittest_pb2 . TestPackedExtensions ( )
golden_message . ParseFromString ( golden_data )
all_set = unittest_pb2 . TestPackedExtensions ( )
test_util . SetAllPackedExtensions ( all_set )
self . assertEqual ( all_set , golden_message )
self . assertEqual ( golden_data , all_set . SerializeToString ( ) )
golden_copy = copy . deepcopy ( golden_message )
self . assertEqual ( golden_message , golden_copy )
# Depend on a specific serialization order for extensions is not
# reasonable to guarantee.
if api_implementation . Type ( ) != ' upb ' :
self . assertEqual ( golden_data , golden_copy . SerializeToString ( ) )
def testPickleIncompleteProto ( self ) :
golden_message = unittest_pb2 . TestRequired ( a = 1 )
pickled_message = pickle . dumps ( golden_message )