Files
spring-cloud-stream-samples/test-embedded-kafka
Gary Russell b29fc5491a Add test-embedded-kafka Sample
Also some general README and pom cleanup.

README Polishing

Resolves #37

Polishing - Use Boot Config for Test Consumer

Possible now that https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/pull/137 is merged.
2017-08-17 13:33:20 -04: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
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.