diff --git a/spring-cloud-stream-binder-kafka-streams/pom.xml b/spring-cloud-stream-binder-kafka-streams/pom.xml
index eb90b24fa..d474fd99c 100644
--- a/spring-cloud-stream-binder-kafka-streams/pom.xml
+++ b/spring-cloud-stream-binder-kafka-streams/pom.xml
@@ -86,39 +86,39 @@
test
-
-
-
-
-
-
-
-
-
-
-
+
+ org.springframework.cloud
+ spring-cloud-schema-registry-client
+ test
+
+
+ org.apache.avro
+ avro
+ ${avro.version}
+ provided
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ org.apache.avro
+ avro-maven-plugin
+ ${avro.version}
+
+
+ generate-test-sources
+
+ schema
+
+
+ ${project.basedir}/target/generated-test-sources
+ ${project.basedir}/target/generated-test-sources
+ ${project.basedir}/src/test/resources/avro
+
+
+
+
\ No newline at end of file
diff --git a/spring-cloud-stream-binder-kafka-streams/src/test/java/org/springframework/cloud/stream/binder/kafka/streams/integration/PerRecordAvroContentTypeTests.java b/spring-cloud-stream-binder-kafka-streams/src/test/java/org/springframework/cloud/stream/binder/kafka/streams/integration/PerRecordAvroContentTypeTests.java
index 1617d8302..f87eaf1dc 100644
--- a/spring-cloud-stream-binder-kafka-streams/src/test/java/org/springframework/cloud/stream/binder/kafka/streams/integration/PerRecordAvroContentTypeTests.java
+++ b/spring-cloud-stream-binder-kafka-streams/src/test/java/org/springframework/cloud/stream/binder/kafka/streams/integration/PerRecordAvroContentTypeTests.java
@@ -14,173 +14,173 @@
* limitations under the License.
*/
-//package org.springframework.cloud.stream.binder.kafka.streams.integration;
-//
-//import java.io.IOException;
-//import java.util.Map;
-//import java.util.Random;
-//import java.util.UUID;
-//
-//import com.example.Sensor;
-//import org.apache.kafka.clients.consumer.Consumer;
-//import org.apache.kafka.clients.consumer.ConsumerConfig;
-//import org.apache.kafka.clients.consumer.ConsumerRecord;
-//import org.apache.kafka.clients.producer.ProducerConfig;
-//import org.apache.kafka.common.serialization.ByteArrayDeserializer;
-//import org.apache.kafka.streams.KeyValue;
-//import org.apache.kafka.streams.kstream.KStream;
-//import org.junit.AfterClass;
-//import org.junit.BeforeClass;
-//import org.junit.ClassRule;
-//import org.junit.Ignore;
-//import org.junit.Test;
-//
-//import org.springframework.boot.SpringApplication;
-//import org.springframework.boot.WebApplicationType;
-//import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-//import org.springframework.cloud.schema.registry.avro.AvroSchemaMessageConverter;
-//import org.springframework.cloud.schema.registry.avro.AvroSchemaServiceManagerImpl;
-//import org.springframework.cloud.stream.annotation.EnableBinding;
-//import org.springframework.cloud.stream.annotation.Input;
-//import org.springframework.cloud.stream.annotation.StreamListener;
-//import org.springframework.cloud.stream.binder.kafka.streams.annotations.KafkaStreamsProcessor;
-//import org.springframework.cloud.stream.binder.kafka.streams.integration.utils.TestAvroSerializer;
-//import org.springframework.context.ConfigurableApplicationContext;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
-//import org.springframework.kafka.core.DefaultKafkaProducerFactory;
-//import org.springframework.kafka.core.KafkaTemplate;
-//import org.springframework.kafka.test.EmbeddedKafkaBroker;
-//import org.springframework.kafka.test.rule.EmbeddedKafkaRule;
-//import org.springframework.kafka.test.utils.KafkaTestUtils;
-//import org.springframework.messaging.Message;
-//import org.springframework.messaging.converter.MessageConverter;
-//import org.springframework.messaging.handler.annotation.SendTo;
-//import org.springframework.messaging.support.MessageBuilder;
-//import org.springframework.util.MimeTypeUtils;
-//
-//import static org.assertj.core.api.Assertions.assertThat;
-//
-//
-///**
-// * @author Soby Chacko
-// */
-//public class PerRecordAvroContentTypeTests {
-//
-// @ClassRule
-// public static EmbeddedKafkaRule embeddedKafkaRule = new EmbeddedKafkaRule(1, true,
-// "received-sensors");
-//
-// private static EmbeddedKafkaBroker embeddedKafka = embeddedKafkaRule
-// .getEmbeddedKafka();
-//
-// private static Consumer consumer;
-//
-// @BeforeClass
-// public static void setUp() throws Exception {
-// Map consumerProps = KafkaTestUtils.consumerProps("avro-ct-test",
-// "false", embeddedKafka);
-//
-// // Receive the data as byte[]
-// consumerProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
-// ByteArrayDeserializer.class);
-//
-// consumerProps.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
-// DefaultKafkaConsumerFactory cf = new DefaultKafkaConsumerFactory<>(
-// consumerProps);
-// consumer = cf.createConsumer();
-// embeddedKafka.consumeFromAnEmbeddedTopic(consumer, "received-sensors");
-// }
-//
-// @AfterClass
-// public static void tearDown() {
-// consumer.close();
-// }
-//
-// @Test
-// @Ignore
-// public void testPerRecordAvroConentTypeAndVerifySerialization() throws Exception {
-// SpringApplication app = new SpringApplication(SensorCountAvroApplication.class);
-// app.setWebApplicationType(WebApplicationType.NONE);
-//
-// try (ConfigurableApplicationContext ignored = app.run("--server.port=0",
-// "--spring.jmx.enabled=false",
-// "--spring.cloud.stream.bindings.input.consumer.useNativeDecoding=false",
-// "--spring.cloud.stream.bindings.output.producer.useNativeEncoding=false",
-// "--spring.cloud.stream.bindings.input.destination=sensors",
-// "--spring.cloud.stream.bindings.output.destination=received-sensors",
-// "--spring.cloud.stream.bindings.output.contentType=application/avro",
-// "--spring.cloud.stream.kafka.streams.bindings.input.consumer.application-id=per-record-avro-contentType-test",
-// "--spring.cloud.stream.kafka.streams.binder.configuration.commit.interval.ms=1000",
-// "--spring.cloud.stream.kafka.streams.binder.brokers="
-// + embeddedKafka.getBrokersAsString())) {
-//
-// Map senderProps = KafkaTestUtils.producerProps(embeddedKafka);
-// // Use a custom avro test serializer
-// senderProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
-// TestAvroSerializer.class);
-// DefaultKafkaProducerFactory pf = new DefaultKafkaProducerFactory<>(
-// senderProps);
-// try {
-// KafkaTemplate template = new KafkaTemplate<>(pf, true);
-//
-// Random random = new Random();
-// Sensor sensor = new Sensor();
-// sensor.setId(UUID.randomUUID().toString() + "-v1");
-// sensor.setAcceleration(random.nextFloat() * 10);
-// sensor.setVelocity(random.nextFloat() * 100);
-// sensor.setTemperature(random.nextFloat() * 50);
-// // Send with avro content type set.
-// Message> message = MessageBuilder.withPayload(sensor)
-// .setHeader("contentType", "application/avro").build();
-// template.setDefaultTopic("sensors");
-// template.send(message);
-//
-// // Serialized byte[] ^^ is received by the binding process and deserialzed
-// // it using avro converter.
-// // Then finally, the data will be output to a return topic as byte[]
-// // (using the same avro converter).
-//
-// // Receive the byte[] from return topic
-// ConsumerRecord cr = KafkaTestUtils
-// .getSingleRecord(consumer, "received-sensors");
-// final byte[] value = cr.value();
-//
-// // Convert the byte[] received back to avro object and verify that it is
-// // the same as the one we sent ^^.
-// AvroSchemaMessageConverter avroSchemaMessageConverter = new AvroSchemaMessageConverter();
-//
-// Message> receivedMessage = MessageBuilder.withPayload(value)
-// .setHeader("contentType",
-// MimeTypeUtils.parseMimeType("application/avro"))
-// .build();
-// Sensor messageConverted = (Sensor) avroSchemaMessageConverter
-// .fromMessage(receivedMessage, Sensor.class);
-// assertThat(messageConverted).isEqualTo(sensor);
-// }
-// finally {
-// pf.destroy();
-// }
-// }
-// }
-//
-// @EnableBinding(KafkaStreamsProcessor.class)
-// @EnableAutoConfiguration
-// static class SensorCountAvroApplication {
-//
-// @StreamListener
-// @SendTo("output")
-// public KStream, Sensor> process(@Input("input") KStream