@Test
    @DisplayName("Should parse schema with map fields")
    void shouldParseSchemaWithMapFields() throws Exception {
        // Given
        Path protoPath = Paths.get(TEST_RESOURCES_DIR, "with_map.proto");
        String protoContent = Files.readString(protoPath);
        
        // When
        ProtobufSchema schema = ProtobufSchemaParser.parseSchema(protoContent, Collections.emptyMap());
        
        // Then
        Descriptors.FileDescriptor fileDescriptor = schema.getFileDescriptor();
        Descriptors.Descriptor messageDescriptor = fileDescriptor.findMessageTypeByName("MapMessage");
        assertNotNull(messageDescriptor);
        
        // Verify map fields are correctly identified as repeated messages with key/value fields
        Descriptors.FieldDescriptor stringToStringField = messageDescriptor.findFieldByName("string_to_string");
        Descriptors.FieldDescriptor intToStringField = messageDescriptor.findFieldByName("int_to_string");
        Descriptors.FieldDescriptor stringToNestedField = messageDescriptor.findFieldByName("string_to_nested");
        
        assertNotNull(stringToStringField);
        assertNotNull(intToStringField);
        assertNotNull(stringToNestedField);
        
        // Maps are represented as repeated messages with a special entry type
        assertTrue(stringToStringField.isMapField());
        assertTrue(intToStringField.isMapField());
        assertTrue(stringToNestedField.isMapField());
        
        // Verify the entry types
        Descriptors.Descriptor stringToStringEntryType = stringToStringField.getMessageType();
        assertEquals("string_to_stringentry", stringToStringEntryType.getName().toLowerCase(Locale.ENGLISH));
        assertEquals(Descriptors.FieldDescriptor.Type.STRING, 
                stringToStringEntryType.findFieldByName("key").getType());
        assertEquals(Descriptors.FieldDescriptor.Type.STRING, 
                stringToStringEntryType.findFieldByName("value").getType());
        
        // Verify map with nested message value
        Descriptors.Descriptor stringToNestedEntryType = stringToNestedField.getMessageType();
        Descriptors.FieldDescriptor valueField = stringToNestedEntryType.findFieldByName("value");
        assertEquals(Descriptors.FieldDescriptor.Type.MESSAGE, valueField.getType());
        assertEquals("NestedValue", valueField.getMessageType().getName());
    }
Tests that verify parsing schema files with Google Well-Known Types and other complex protobuf features.

Note: These tests are currently disabled because they require access to the Well-Known Type definition files
which are not bundled with the test resources. In a real environment, these would be available
through the protobuf library. To make these tests pass, you would need to:  
1. Include the well-known type .proto files in your test resources
2. Make them available to the ProtobufSchemaParser when parsing

Note: The current implementation does not support the `extend` feature.
core/src/test/java/kafka/automq/table/deserializer/proto/parse/ProtobufSchemaWellKnownTypesTest.java