Files
spring-cloud-stream-samples/test-embedded-kafka
Soby Chacko 29d69a5e5f Update to use spring-kafka for EmbeddedKafka
Ignore a few tests temporarily
2018-01-08 15:57:58 -05:00
..
2017-08-17 13:33:20 -04:00
2017-08-17 13:33:20 -04:00
2017-08-17 13:33:20 -04:00

Spring Cloud Stream Testing with Embedded Kafka Broker Sample

In this Spring Cloud Stream sample, an embedded kafka broker is used for testing.

Requirements

To run this sample, you will need to have installed:

  • Java 8 or Above

Code Tour

This sample is a Spring Boot application that uses Spring Cloud Stream to receive a String message and forward an upper case version of that String; it uses the Kafka binder.

  • EmbeddedKafkaApplication - the Spring Boot Main Application
  • EmbeddedKafkaApplicationTests - the test case

The spring-kafka-test dependency added to the pom.xml puts the KafkaEmbedded JUnit @Rule on the class path. Refer to the Spring for Apache Kafka Reference Manual for more information about this. Notice how the @BeforeClass method sets up the Boot and binder properties to locate the servers.

The test method starts by using the Spring Boot auto-configured KafkaTemplate to send a message to the input destination. It then creates a consumer to consume from the output destination; gets the output message and asserts that it's an upper case version of the sent message.

See the application.properties file for the properties that are required for this test case and application. In particular, raw header mode is used.

Building with Maven

Build the sample and run the test by executing:

source>$ mvn clean package

or run the test in your favorite IDE.