Packages

t

net.manub.embeddedkafka.streams

EmbeddedKafkaStreamsAllInOne

trait EmbeddedKafkaStreamsAllInOne extends EmbeddedKafkaStreams with Consumers

Convenience trait for testing Kafka Streams with ScalaTest. It exposes EmbeddedKafkaStreams.runStreams as well as Consumers api for easily creating and querying consumers in tests.

e.g.

runStreams(Seq("inputTopic", "outputTopic", streamBuilder) {
 withConsumer[String, String, Unit] { consumer =>
   // here you can publish and consume messages and make assertions
   publishToKafka(in, Seq("one-string", "another-string"))
   consumeLazily(out).take(2).toList should be (
     Seq("one-string" -> "true", "another-string" -> "true")
   )
 }
}
Self Type
EmbeddedKafkaStreamsAllInOne with Suite
See also

EmbeddedKafkaStreams

Consumers

Linear Supertypes
Consumers, EmbeddedKafkaStreams, TestStreamsConfig, EmbeddedKafka, EmbeddedKafkaSupport, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EmbeddedKafkaStreamsAllInOne
  2. Consumers
  3. EmbeddedKafkaStreams
  4. TestStreamsConfig
  5. EmbeddedKafka
  6. EmbeddedKafkaSupport
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def consumeFirstMessageFrom[T](topic: String, autoCommit: Boolean)(implicit config: EmbeddedKafkaConfig, deserializer: Deserializer[T]): T
    Definition Classes
    EmbeddedKafkaSupport
    Annotations
    @throws( ... ) @throws( ... )
  7. def consumeFirstStringMessageFrom(topic: String, autoCommit: Boolean)(implicit config: EmbeddedKafkaConfig): String
    Definition Classes
    EmbeddedKafkaSupport
  8. def consumeNumberMessagesFrom[T](topic: String, number: Int, autoCommit: Boolean)(implicit config: EmbeddedKafkaConfig, deserializer: Deserializer[T]): List[T]
    Definition Classes
    EmbeddedKafkaSupport
  9. def consumeNumberMessagesFromTopics[T](topics: Set[String], number: Int, autoCommit: Boolean, timeout: Duration, resetTimeoutOnEachMessage: Boolean)(implicit config: EmbeddedKafkaConfig, deserializer: Deserializer[T]): Map[String, List[T]]
    Definition Classes
    EmbeddedKafkaSupport
  10. def consumeNumberStringMessagesFrom(topic: String, number: Int, autoCommit: Boolean)(implicit config: EmbeddedKafkaConfig): List[String]
    Definition Classes
    EmbeddedKafkaSupport
  11. def createCustomTopic(topic: String, topicConfig: Map[String, String], partitions: Int, replicationFactor: Int)(implicit config: EmbeddedKafkaConfig): Unit
    Definition Classes
    EmbeddedKafkaSupport
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. def kafkaConsumer[K, T](implicit config: EmbeddedKafkaConfig, keyDeserializer: Deserializer[K], deserializer: Deserializer[T]): KafkaConsumer[K, T]
    Definition Classes
    EmbeddedKafkaSupport
  19. def kafkaProducer[K, T](topic: String, key: K, message: T)(implicit config: EmbeddedKafkaConfig, keySerializer: Serializer[K], serializer: Serializer[T]): KafkaProducer[K, T]
    Definition Classes
    EmbeddedKafkaSupport
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def newConsumer[K, V]()(implicit arg0: Deserializer[K], arg1: Deserializer[V], config: EmbeddedKafkaConfig): KafkaConsumer[K, V]
    Definition Classes
    Consumers
  22. final def notify(): Unit
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  24. def publishStringMessageToKafka(topic: String, message: String)(implicit config: EmbeddedKafkaConfig): Unit
    Definition Classes
    EmbeddedKafkaSupport
  25. def publishToKafka[K, T](topic: String, key: K, message: T)(implicit config: EmbeddedKafkaConfig, keySerializer: Serializer[K], serializer: Serializer[T]): Unit
    Definition Classes
    EmbeddedKafkaSupport
    Annotations
    @throws( ... )
  26. def publishToKafka[T](topic: String, message: T)(implicit config: EmbeddedKafkaConfig, serializer: Serializer[T]): Unit
    Definition Classes
    EmbeddedKafkaSupport
    Annotations
    @throws( ... )
  27. def runStreams(topicsToCreate: Seq[String], builder: TopologyBuilder)(block: ⇒ Any)(implicit config: EmbeddedKafkaConfig): Any

    Execute Kafka streams and pass a block of code that can operate while the streams are active.

    Execute Kafka streams and pass a block of code that can operate while the streams are active. The code block can be used for publishing and consuming messages in Kafka. The block gets a pre-initialized kafka consumer that can be used implicitly for util methods such as consumeLazily(String).

    e.g.

    runStreams(Seq("inputTopic", "outputTopic", streamBuilder) {
     // here you can publish and consume messages and make assertions
     publishToKafka(in, Seq("one-string", "another-string"))
     consumeFirstStringMessageFrom(in) should be ("one-string")
    }
    topicsToCreate

    the topics that should be created in Kafka before launching the streams.

    builder

    the streams builder that will be used to instantiate the streams with a default configuration (all state directories are different and in temp folders)

    block

    the code block that will executed while the streams are active. Once the block has been executed the streams will be closed.

    Definition Classes
    EmbeddedKafkaStreams
  28. def runStreamsWithStringConsumer(topicsToCreate: Seq[String], builder: TopologyBuilder)(block: (KafkaConsumer[String, String]) ⇒ Any)(implicit config: EmbeddedKafkaConfig): Any

    Run Kafka Streams while offering a String-based consumer for easy testing of stream output.

    Run Kafka Streams while offering a String-based consumer for easy testing of stream output.

    topicsToCreate

    the topics that should be created. Usually these should be the topics that the Streams-under-test use for inputs and outputs. They need to be created before running the streams and this is automatically taken care of.

    builder

    the streams builder that contains the stream topology that will be instantiated

    block

    the block of testing code that will be executed by passing the simple String-based consumer.

    returns

    the result of the testing code

  29. def startKafka(config: EmbeddedKafkaConfig, kafkaLogDir: Directory): KafkaServer
    Definition Classes
    EmbeddedKafkaSupport
  30. def startZooKeeper(zooKeeperPort: Int, zkLogsDir: Directory): ServerCnxnFactory
    Definition Classes
    EmbeddedKafkaSupport
  31. def streamConfig(streamName: String, extraConfig: Map[String, AnyRef] = Map.empty)(implicit kafkaConfig: EmbeddedKafkaConfig): StreamsConfig

    Create a test stream config for a given stream.

    Create a test stream config for a given stream.

    streamName

    the name of the stream. It will be used as the Application ID

    extraConfig

    any additional configuration. If the keys are already defined in the default they will be overwritten with this

    kafkaConfig

    the Kafka test configuration

    returns

    the Streams configuration

    Definition Classes
    TestStreamsConfig
  32. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def withConsumer[K, V, T](block: (KafkaConsumer[K, V]) ⇒ T)(implicit arg0: Deserializer[K], arg1: Deserializer[V], config: EmbeddedKafkaConfig): T
    Definition Classes
    Consumers
  38. def withRunningKafka[T](body: ⇒ T)(implicit config: EmbeddedKafkaConfig): T
    Definition Classes
    EmbeddedKafkaSupport
  39. def withRunningKafkaOnFoundPort[T](config: EmbeddedKafkaConfig)(body: (EmbeddedKafkaConfig) ⇒ T): T
    Definition Classes
    EmbeddedKafkaSupport
  40. def withStringConsumer[T](block: (KafkaConsumer[String, String]) ⇒ T)(implicit config: EmbeddedKafkaConfig): T
    Definition Classes
    Consumers
  41. val zkConnectionTimeoutMs: Int
    Definition Classes
    EmbeddedKafkaSupport
  42. val zkSecurityEnabled: Boolean
    Definition Classes
    EmbeddedKafkaSupport
  43. val zkSessionTimeoutMs: Int
    Definition Classes
    EmbeddedKafkaSupport

Inherited from Consumers

Inherited from EmbeddedKafkaStreams

Inherited from TestStreamsConfig

Inherited from EmbeddedKafka

Inherited from EmbeddedKafkaSupport

Inherited from AnyRef

Inherited from Any

Ungrouped