def test_field_mask_message_diffs(): original = type_pb2.Type() modified = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='name')) assert (protobuf_helpers.field_mask( original, modified).paths == ['source_context.file_name']) original = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='name')) modified = type_pb2.Type() assert (protobuf_helpers.field_mask(original, modified).paths == ['source_context']) original = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='name')) modified = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='other_name')) assert (protobuf_helpers.field_mask( original, modified).paths == ['source_context.file_name']) original = None modified = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='name')) assert (protobuf_helpers.field_mask( original, modified).paths == ['source_context.file_name']) original = type_pb2.Type(source_context=source_context_pb2.SourceContext( file_name='name')) modified = None assert (protobuf_helpers.field_mask(original, modified).paths == ['source_context'])
def _get_type_recursive(descriptor, definitions): if descriptor.full_name in definitions: return type_ = type_pb2.Type() definitions[descriptor.full_name] = type_ type_.name = descriptor.full_name for field_desc in descriptor.fields: field = type_.fields.add() field.name = field_desc.name field.kind = field_desc.type if field_desc.message_type is not None: field.type_url = "type.google_apis.com/" + field_desc.message_type.full_name _get_type_recursive(field_desc.message_type, definitions)
def test_field_mask_singular_field_diffs(): original = type_pb2.Type(name='name') modified = type_pb2.Type() assert (protobuf_helpers.field_mask(original, modified).paths == ['name']) original = type_pb2.Type(name='name') modified = type_pb2.Type() assert (protobuf_helpers.field_mask(original, modified).paths == ['name']) original = None modified = type_pb2.Type(name='name') assert (protobuf_helpers.field_mask(original, modified).paths == ['name']) original = type_pb2.Type(name='name') modified = None assert (protobuf_helpers.field_mask(original, modified).paths == ['name'])
def test_field_mask_singular_field_diffs(): original = type_pb2.Type(name="name") modified = type_pb2.Type() assert protobuf_helpers.field_mask(original, modified).paths == ["name"] original = type_pb2.Type(name="name") modified = type_pb2.Type() assert protobuf_helpers.field_mask(original, modified).paths == ["name"] original = None modified = type_pb2.Type(name="name") assert protobuf_helpers.field_mask(original, modified).paths == ["name"] original = type_pb2.Type(name="name") modified = None assert protobuf_helpers.field_mask(original, modified).paths == ["name"]