@VisibleForTesting
    List<String> getIpAddressFields(Message message) {
        return message.getFieldNames()
                .stream()
                .filter(e -> (!enforceGraylogSchema || ipAddressFields.containsKey(e))
                        && !e.startsWith(Message.INTERNAL_FIELD_PREFIX))
                .collect(Collectors.toList());
    }
@Test
    public void testGetIpAddressFieldsEnforceGraylogSchemaFalse() {

        GeoIpResolverConfig conf = config.toBuilder().enforceGraylogSchema(false).build();
        final GeoIpResolverEngine engine = new GeoIpResolverEngine(geoIpVendorResolverService, conf, s3GeoIpFileService, metricRegistry);

        Map<String, Object> fields = new HashMap<>();
        fields.put("_id", java.util.UUID.randomUUID().toString());
        fields.put("source_ip", "127.0.0.1");
        fields.put("src_ip", "127.0.0.1");
        fields.put("destination_ip", "127.0.0.1");
        fields.put("dest_ip", "127.0.0.1");
        fields.put("gl2_test", "127.0.0.1");


        Message message = messageFactory.createMessage(fields);
        List<String> ipFields = engine.getIpAddressFields(message);

        //without enforcing the Graylog Schema, all but the gl2_* fields should be returned.
        Assertions.assertEquals(5, ipFields.size());

    }