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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected io.strimzi.test.container.StrimziKafkaContainerstatic final Stringstatic final org.jboss.logging.Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbeforeAll(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.StrimziKafkaContainerresolveParameter(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.voidstatic io.strimzi.test.container.StrimziKafkaContainerstartKafkaBroker(int port) voidbooleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
Field Details
-
LOGGER
public static final org.jboss.logging.Logger LOGGER -
KAFKA_VERSION
- See Also:
-
kafka
protected io.strimzi.test.container.StrimziKafkaContainer kafka
-
-
Constructor Details
-
KafkaBrokerExtension
public KafkaBrokerExtension()
-
-
Method Details
-
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
-
beforeEach
- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-