From 4caf0c9f1c325ce336be9344a1f98b525b88ead8 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 3 Feb 2020 16:34:44 +0100 Subject: [PATCH] Unignored messaging tests --- .../fraud/{MessagePoller.java => MessageSender.java} | 10 ++++------ .../com/example/fraud/MessagingConfiguration.java | 7 ++++--- .../{MyProcessorListener.java => MyProcessor.java} | 11 ++++------- .../src/main/resources/application.properties | 4 ++-- .../test/java/com/example/fraud/MessagingBase.java | 4 ++-- .../messaging/shouldProduceValidSensorData.groovy | 3 +-- .../messaging/shouldWorkWithInputOutputBinary.groovy | 1 - 7 files changed, 17 insertions(+), 23 deletions(-) rename samples/standalone/dsl/http-server/src/main/java/com/example/fraud/{MessagePoller.java => MessageSender.java} (82%) rename samples/standalone/dsl/http-server/src/main/java/com/example/fraud/{MyProcessorListener.java => MyProcessor.java} (83%) diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagePoller.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessageSender.java similarity index 82% rename from samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagePoller.java rename to samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessageSender.java index 676ea7d0a7..a7ea79467e 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagePoller.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessageSender.java @@ -20,22 +20,20 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.core.publisher.EmitterProcessor; -import org.springframework.cloud.stream.messaging.Source; -import org.springframework.integration.support.MessageBuilder; import org.springframework.stereotype.Component; @Component -class MessagePoller { +class MessageSender { - private static final Logger log = LoggerFactory.getLogger(MessagePoller.class); + private static final Logger log = LoggerFactory.getLogger(MessageSender.class); private final EmitterProcessor emitterProcessor; - MessagePoller(EmitterProcessor emitterProcessor) { + MessageSender(EmitterProcessor emitterProcessor) { this.emitterProcessor = emitterProcessor; } - public void poll() { + public void emit() { log.info("Emitting the message"); this.emitterProcessor.onNext("{\"id\":\"99\",\"temperature\":\"123.45\"}"); } diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagingConfiguration.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagingConfiguration.java index 25b87065b8..bfcc6f6e83 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagingConfiguration.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MessagingConfiguration.java @@ -19,6 +19,7 @@ package com.example.fraud; import java.util.function.Supplier; import reactor.core.publisher.EmitterProcessor; +import reactor.core.publisher.Flux; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -31,8 +32,8 @@ class MessagingConfiguration { return EmitterProcessor.create(); } - @Bean(name = "sensor-data") - Supplier sensorData() { - return () -> "{\"id\":\"99\",\"temperature\":\"123.45\"}"; + @Bean(name = "sensor_data") + Supplier> sensorData(EmitterProcessor processor) { + return () -> processor; } } diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessorListener.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessor.java similarity index 83% rename from samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessorListener.java rename to samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessor.java index f8417b76f9..0fc7ea79c7 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessorListener.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/MyProcessor.java @@ -27,27 +27,24 @@ import java.util.function.Function; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.cloud.stream.annotation.StreamListener; -import org.springframework.cloud.stream.messaging.Sink; -import org.springframework.integration.support.MessageBuilder; import org.springframework.stereotype.Component; @Component("my_output") -class MyProcessorListener implements Function { +class MyProcessor implements Function { - private static final Logger log = LoggerFactory.getLogger(MyProcessorListener.class); + private static final Logger log = LoggerFactory.getLogger(MyProcessor.class); private final byte[] expectedInput; private final byte[] expectedOutput; - MyProcessorListener() { + MyProcessor() { this.expectedInput = forFile("/contracts/messaging/input.pdf"); this.expectedOutput = forFile("/contracts/messaging/output.pdf"); } private byte[] forFile(String relative) { - URL resource = MyProcessorListener.class.getResource(relative); + URL resource = MyProcessor.class.getResource(relative); try { return Files.readAllBytes(new File(resource.toURI()).toPath()); } diff --git a/samples/standalone/dsl/http-server/src/main/resources/application.properties b/samples/standalone/dsl/http-server/src/main/resources/application.properties index 9f5532b835..bc53bf87c4 100644 --- a/samples/standalone/dsl/http-server/src/main/resources/application.properties +++ b/samples/standalone/dsl/http-server/src/main/resources/application.properties @@ -1,5 +1,5 @@ -spring.cloud.function.definition=my_output;sensor-data -spring.cloud.stream.bindings.sensor-data-out-0.contentType=application/json +spring.cloud.function.definition=my_output;sensor_data +spring.cloud.stream.bindings.sensor_data-out-0.destination=sensor_data spring.cloud.stream.bindings.my_output-in-0.contentType=application/octet-stream spring.cloud.stream.bindings.my_output-in-0.destination=bytes_input spring.cloud.stream.bindings.my_output-out-0.contentType=application/octet-stream diff --git a/samples/standalone/dsl/http-server/src/test/java/com/example/fraud/MessagingBase.java b/samples/standalone/dsl/http-server/src/test/java/com/example/fraud/MessagingBase.java index e701120aee..7f22bd035c 100644 --- a/samples/standalone/dsl/http-server/src/test/java/com/example/fraud/MessagingBase.java +++ b/samples/standalone/dsl/http-server/src/test/java/com/example/fraud/MessagingBase.java @@ -42,7 +42,7 @@ import org.springframework.web.context.WebApplicationContext; public abstract class MessagingBase { @Autowired - MessagePoller poller; + MessageSender poller; @Autowired WebApplicationContext context; @@ -53,7 +53,7 @@ public abstract class MessagingBase { } public void createSensorData() { - poller.poll(); + poller.emit(); } @Configuration diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldProduceValidSensorData.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldProduceValidSensorData.groovy index 26b3ff4aea..c9eb219453 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldProduceValidSensorData.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldProduceValidSensorData.groovy @@ -19,7 +19,6 @@ package contracts org.springframework.cloud.contract.spec.Contract.make { // Human readable description description 'Should produce valid sensor data' - ignored() // Label by means of which the output message can be triggered label 'sensor1' // input to the contract @@ -30,7 +29,7 @@ org.springframework.cloud.contract.spec.Contract.make { // output message of the contract outputMessage { // destination to which the output message will be sent - sentTo 'sensor-data' + sentTo 'sensor_data' headers { header('contentType': 'application/json') } diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldWorkWithInputOutputBinary.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldWorkWithInputOutputBinary.groovy index aa2d10d07e..df911e8517 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldWorkWithInputOutputBinary.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldWorkWithInputOutputBinary.groovy @@ -20,7 +20,6 @@ import org.springframework.cloud.contract.spec.Contract Contract.make { label("positive") - ignored() input { messageFrom("bytes_input") messageBody(fileAsBytes("input.pdf"))