Class KafkaBrokerExtension
- java.lang.Object
-
- io.smallrye.reactive.messaging.kafka.companion.test.KafkaBrokerExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource,org.junit.jupiter.api.extension.ParameterResolver
- Direct Known Subclasses:
KafkaToxiproxyExtension
public class KafkaBrokerExtension extends Object implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.ParameterResolver, org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource
Junit extension for creating Strimzi Kafka broker
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceKafkaBrokerExtension.KafkaBootstrapServers
-
Field Summary
Fields Modifier and Type Field Description protected io.strimzi.test.container.StrimziKafkaContainerkafkastatic StringKAFKA_VERSIONstatic org.jboss.logging.LoggerLOGGER
-
Constructor Summary
Constructors Constructor Description KafkaBrokerExtension()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)voidclose()static <T extends io.strimzi.test.container.StrimziKafkaContainer>
TconfigureKafkaContainer(T container)static io.strimzi.test.container.StrimziKafkaContainercreateKafkaContainer()ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)static io.strimzi.test.container.StrimziKafkaContainerrestart(io.strimzi.test.container.StrimziKafkaContainer kafka, int gracePeriodInSecond)We need to restart the broker on the same exposed port.voidstartKafkaBroker()static io.strimzi.test.container.StrimziKafkaContainerstartKafkaBroker(int port)voidstopKafkaBroker()booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Field Detail
-
LOGGER
public static final org.jboss.logging.Logger LOGGER
-
KAFKA_VERSION
public static final String KAFKA_VERSION
- See Also:
- Constant Field Values
-
kafka
protected io.strimzi.test.container.StrimziKafkaContainer kafka
-
-
Method Detail
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
close
public void close()
- Specified by:
closein interfaceorg.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource
-
createKafkaContainer
public static io.strimzi.test.container.StrimziKafkaContainer createKafkaContainer()
-
configureKafkaContainer
public static <T extends io.strimzi.test.container.StrimziKafkaContainer> T configureKafkaContainer(T container)
-
startKafkaBroker
public void startKafkaBroker()
-
restart
public static io.strimzi.test.container.StrimziKafkaContainer restart(io.strimzi.test.container.StrimziKafkaContainer kafka, int gracePeriodInSecond)We need to restart the broker on the same exposed port. Test Containers makes this unnecessarily complicated, but well, let's go for a hack. See https://github.com/testcontainers/testcontainers-java/issues/256.- Parameters:
kafka- the broker that will be closedgracePeriodInSecond- number of seconds to wait before restarting- Returns:
- the new broker
-
startKafkaBroker
public static io.strimzi.test.container.StrimziKafkaContainer startKafkaBroker(int port)
-
stopKafkaBroker
public void stopKafkaBroker()
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
-