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 @interface 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected io.strimzi.test.container.StrimziKafkaContainer
     
    static final String
     
    static final org.jboss.logging.Logger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
     
    void
    beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
     
    void
     
    static <T extends io.strimzi.test.container.StrimziKafkaContainer>
    T
     
    static io.strimzi.test.container.StrimziKafkaContainer
     
    resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    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.
    void
     
    static io.strimzi.test.container.StrimziKafkaContainer
    startKafkaBroker(int port)
     
    void
     
    boolean
    supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      public static final org.jboss.logging.Logger LOGGER
    • KAFKA_VERSION

      public static final String 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:
      beforeAll in interface org.junit.jupiter.api.extension.BeforeAllCallback
    • close

      public void close()
      Specified by:
      close in interface org.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 closed
      gracePeriodInSecond - 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:
      supportsParameter in interface org.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:
      resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolver
      Throws:
      org.junit.jupiter.api.extension.ParameterResolutionException
    • beforeEach

      public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception
      Specified by:
      beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallback
      Throws:
      Exception