@VisibleForTesting
    static GrpcConfig extractGrpcQueryClientConfig(PinotConfig config)
    {
        Map<String, Object> target = new HashMap<>();
        target.put(CONFIG_USE_PLAIN_TEXT, !config.isUseSecureConnection());
        target.put(CONFIG_MAX_INBOUND_MESSAGE_BYTES_SIZE, config.getStreamingServerGrpcMaxInboundMessageBytes());
        if (config.isUseSecureConnection()) {
            setOrRemoveProperty(target, "tls.keystore.path", config.getGrpcTlsKeyStorePath());
            setOrRemoveProperty(target, "tls.keystore.password", config.getGrpcTlsKeyStorePassword());
            setOrRemoveProperty(target, "tls.keystore.type", config.getGrpcTlsKeyStoreType());
            setOrRemoveProperty(target, "tls.truststore.path", config.getGrpcTlsTrustStorePath());
            setOrRemoveProperty(target, "tls.truststore.password", config.getGrpcTlsTrustStorePassword());
            setOrRemoveProperty(target, "tls.truststore.type", config.getGrpcTlsTrustStoreType());
        }
        return new GrpcConfig(target);
    }
@Test
    public void testExtractTlsPropertyDefault()
    {
        PinotConfig config = new PinotConfig();
        GrpcConfig extracted = PinotPageSourceProvider.extractGrpcQueryClientConfig(config);
        assertEquals(extracted.getMaxInboundMessageSizeBytes(), DEFAULT_STREAMING_SERVER_GRPC_MAX_INBOUND_MESSAGE_BYTES);
        assertTrue(extracted.isUsePlainText());
        assertNotNull(extracted.getTlsConfig());
        assertNull(extracted.getTlsConfig().getKeyStorePath());
        assertNull(extracted.getTlsConfig().getKeyStorePassword());
        assertNull(extracted.getTlsConfig().getTrustStorePath());
        assertNull(extracted.getTlsConfig().getTrustStorePassword());
    }