Search in sources :

Example 96 with ConfigException

use of org.apache.kafka.common.config.ConfigException in project kafka by apache.

the class ConnectorConfigTest method danglingTransformAlias.

@Test
public void danglingTransformAlias() {
    Map<String, String> props = new HashMap<>();
    props.put("name", "test");
    props.put("connector.class", TestConnector.class.getName());
    props.put("transforms", "dangler");
    ConfigException e = assertThrows(ConfigException.class, () -> new ConnectorConfig(MOCK_PLUGINS, props));
    assertTrue(e.getMessage().contains("Not a Transformation"));
}
Also used : HashMap(java.util.HashMap) ConfigException(org.apache.kafka.common.config.ConfigException) Test(org.junit.Test)

Example 97 with ConfigException

use of org.apache.kafka.common.config.ConfigException in project kafka by apache.

the class ConnectorConfigTest method missingPredicateConfig.

@Test
public void missingPredicateConfig() {
    Map<String, String> props = new HashMap<>();
    props.put("name", "test");
    props.put("connector.class", TestConnector.class.getName());
    props.put("transforms", "a");
    props.put("transforms.a.type", SimpleTransformation.class.getName());
    props.put("transforms.a.magic.number", "42");
    props.put("transforms.a.predicate", "my-pred");
    props.put("predicates", "my-pred");
    // props.put("predicates.my-pred.type", TestPredicate.class.getName());
    // props.put("predicates.my-pred.int", "84");
    ConfigException e = assertThrows(ConfigException.class, () -> new ConnectorConfig(MOCK_PLUGINS, props));
    assertTrue(e.getMessage().contains("Not a Predicate"));
}
Also used : HashMap(java.util.HashMap) ConfigException(org.apache.kafka.common.config.ConfigException) Test(org.junit.Test)

Example 98 with ConfigException

use of org.apache.kafka.common.config.ConfigException in project kafka by apache.

the class ConnectorConfigTest method wrongTransformationType.

@Test
public void wrongTransformationType() {
    Map<String, String> props = new HashMap<>();
    props.put("name", "test");
    props.put("connector.class", TestConnector.class.getName());
    props.put("transforms", "a");
    props.put("transforms.a.type", "uninstantiable");
    ConfigException e = assertThrows(ConfigException.class, () -> new ConnectorConfig(MOCK_PLUGINS, props));
    assertTrue(e.getMessage().contains("Class uninstantiable could not be found"));
}
Also used : HashMap(java.util.HashMap) ConfigException(org.apache.kafka.common.config.ConfigException) Test(org.junit.Test)

Example 99 with ConfigException

use of org.apache.kafka.common.config.ConfigException in project kafka by apache.

the class OAuthBearerUnsecuredLoginCallbackHandler method handleExtensionsCallback.

/**
 *  Add and validate all the configured extensions.
 *  Token keys, apart from passing regex validation, must not be equal to the reserved key {@link OAuthBearerClientInitialResponse#AUTH_KEY}
 */
private void handleExtensionsCallback(SaslExtensionsCallback callback) {
    Map<String, String> extensions = new HashMap<>();
    for (Map.Entry<String, String> configEntry : this.moduleOptions.entrySet()) {
        String key = configEntry.getKey();
        if (!key.startsWith(EXTENSION_PREFIX))
            continue;
        extensions.put(key.substring(EXTENSION_PREFIX.length()), configEntry.getValue());
    }
    SaslExtensions saslExtensions = new SaslExtensions(extensions);
    try {
        OAuthBearerClientInitialResponse.validateExtensions(saslExtensions);
    } catch (SaslException e) {
        throw new ConfigException(e.getMessage());
    }
    callback.extensions(saslExtensions);
}
Also used : HashMap(java.util.HashMap) SaslExtensions(org.apache.kafka.common.security.auth.SaslExtensions) ConfigException(org.apache.kafka.common.config.ConfigException) SaslException(javax.security.sasl.SaslException) HashMap(java.util.HashMap) Map(java.util.Map)

Example 100 with ConfigException

use of org.apache.kafka.common.config.ConfigException in project kafka by apache.

the class SslFactory method createNewSslEngineFactory.

private SslEngineFactory createNewSslEngineFactory(Map<String, ?> newConfigs) {
    if (sslEngineFactory == null) {
        throw new IllegalStateException("SslFactory has not been configured.");
    }
    Map<String, Object> nextConfigs = new HashMap<>(sslEngineFactoryConfig);
    copyMapEntries(nextConfigs, newConfigs, reconfigurableConfigs());
    if (clientAuthConfigOverride != null) {
        nextConfigs.put(BrokerSecurityConfigs.SSL_CLIENT_AUTH_CONFIG, clientAuthConfigOverride);
    }
    if (!sslEngineFactory.shouldBeRebuilt(nextConfigs)) {
        return sslEngineFactory;
    }
    try {
        SslEngineFactory newSslEngineFactory = instantiateSslEngineFactory(nextConfigs);
        if (sslEngineFactory.keystore() == null) {
            if (newSslEngineFactory.keystore() != null) {
                throw new ConfigException("Cannot add SSL keystore to an existing listener for " + "which no keystore was configured.");
            }
        } else {
            if (newSslEngineFactory.keystore() == null) {
                throw new ConfigException("Cannot remove the SSL keystore from an existing listener for " + "which a keystore was configured.");
            }
            CertificateEntries.ensureCompatible(newSslEngineFactory.keystore(), sslEngineFactory.keystore());
        }
        if (sslEngineFactory.truststore() == null && newSslEngineFactory.truststore() != null) {
            throw new ConfigException("Cannot add SSL truststore to an existing listener for which no " + "truststore was configured.");
        }
        if (keystoreVerifiableUsingTruststore) {
            if (sslEngineFactory.truststore() != null || sslEngineFactory.keystore() != null) {
                SslEngineValidator.validate(sslEngineFactory, newSslEngineFactory);
            }
        }
        return newSslEngineFactory;
    } catch (Exception e) {
        log.debug("Validation of dynamic config update of SSLFactory failed.", e);
        throw new ConfigException("Validation of dynamic config update of SSLFactory failed: " + e);
    }
}
Also used : SslEngineFactory(org.apache.kafka.common.security.auth.SslEngineFactory) HashMap(java.util.HashMap) ConfigException(org.apache.kafka.common.config.ConfigException) KafkaException(org.apache.kafka.common.KafkaException) GeneralSecurityException(java.security.GeneralSecurityException) ConfigException(org.apache.kafka.common.config.ConfigException) SSLException(javax.net.ssl.SSLException)

Aggregations

ConfigException (org.apache.kafka.common.config.ConfigException)136 HashMap (java.util.HashMap)29 Test (org.junit.jupiter.api.Test)28 Test (org.junit.Test)20 Properties (java.util.Properties)10 KafkaException (org.apache.kafka.common.KafkaException)10 ArrayList (java.util.ArrayList)9 List (java.util.List)9 Pattern (java.util.regex.Pattern)9 Serde (org.apache.kafka.common.serialization.Serde)8 SimpleConfig (org.apache.kafka.connect.transforms.util.SimpleConfig)8 File (java.io.File)7 SSLContext (javax.net.ssl.SSLContext)7 Map (java.util.Map)6 ByteArraySerializer (org.apache.kafka.common.serialization.ByteArraySerializer)6 KeyStore (java.security.KeyStore)5 KeyManagerFactory (javax.net.ssl.KeyManagerFactory)5 TrustManagerFactory (javax.net.ssl.TrustManagerFactory)5 ConfigDef (org.apache.kafka.common.config.ConfigDef)5 IOException (java.io.IOException)4