use of org.apache.kafka.connect.rest.ConnectRestExtensionContext in project kafka by apache.
the class BasicAuthSecurityRestExtensionTest method testJaasConfigurationNotOverwritten.
@SuppressWarnings("unchecked")
@Test
public void testJaasConfigurationNotOverwritten() {
ArgumentCaptor<JaasBasicAuthFilter> jaasFilter = ArgumentCaptor.forClass(JaasBasicAuthFilter.class);
Configurable<? extends Configurable<?>> configurable = mock(Configurable.class);
when(configurable.register(jaasFilter.capture())).thenReturn(null);
ConnectRestExtensionContext context = mock(ConnectRestExtensionContext.class);
when(context.configurable()).thenReturn((Configurable) configurable);
BasicAuthSecurityRestExtension extension = new BasicAuthSecurityRestExtension();
Configuration overwrittenConfiguration = mock(Configuration.class);
Configuration.setConfiguration(overwrittenConfiguration);
extension.register(context);
assertNotEquals(overwrittenConfiguration, jaasFilter.getValue().configuration, "Overwritten JAAS configuration should not be used by basic auth REST extension");
}
use of org.apache.kafka.connect.rest.ConnectRestExtensionContext in project kafka by apache.
the class RestServer method registerRestExtensions.
void registerRestExtensions(Herder herder, ResourceConfig resourceConfig) {
connectRestExtensions = herder.plugins().newPlugins(config.getList(WorkerConfig.REST_EXTENSION_CLASSES_CONFIG), config, ConnectRestExtension.class);
long herderRequestTimeoutMs = ConnectorsResource.REQUEST_TIMEOUT_MS;
Integer rebalanceTimeoutMs = config.getRebalanceTimeout();
if (rebalanceTimeoutMs != null) {
herderRequestTimeoutMs = Math.min(herderRequestTimeoutMs, rebalanceTimeoutMs.longValue());
}
ConnectClusterDetails connectClusterDetails = new ConnectClusterDetailsImpl(herder.kafkaClusterId());
ConnectRestExtensionContext connectRestExtensionContext = new ConnectRestExtensionContextImpl(new ConnectRestConfigurable(resourceConfig), new ConnectClusterStateImpl(herderRequestTimeoutMs, connectClusterDetails, herder));
for (ConnectRestExtension connectRestExtension : connectRestExtensions) {
connectRestExtension.register(connectRestExtensionContext);
}
}
Aggregations