From 176fee51a3ff36374ec97993d333930f118e8bd1 Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Fri, 5 Feb 2021 14:23:09 -0500 Subject: [PATCH] tests debugging --- .../stream/app/mqtt/sink/MqttSinkTests.java | 218 +++++++++--------- .../app/sink/rabbit/OwnConnectionTest.java | 92 ++++---- .../SimpleRoutingKeyAndCustomHeaderTests.java | 96 ++++---- 3 files changed, 203 insertions(+), 203 deletions(-) diff --git a/applications/sink/mqtt-sink/src/test/java/org/springframework/cloud/stream/app/mqtt/sink/MqttSinkTests.java b/applications/sink/mqtt-sink/src/test/java/org/springframework/cloud/stream/app/mqtt/sink/MqttSinkTests.java index 2c950307..ade953d6 100644 --- a/applications/sink/mqtt-sink/src/test/java/org/springframework/cloud/stream/app/mqtt/sink/MqttSinkTests.java +++ b/applications/sink/mqtt-sink/src/test/java/org/springframework/cloud/stream/app/mqtt/sink/MqttSinkTests.java @@ -1,109 +1,109 @@ -///* -// * Copyright 2017-2020 the original author or authors. -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * https://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -//package org.springframework.cloud.stream.app.mqtt.sink; -// -//import org.junit.jupiter.api.AfterAll; -//import org.junit.jupiter.api.Disabled; -//import org.junit.jupiter.api.Test; -//import org.testcontainers.containers.GenericContainer; -// -//import org.springframework.beans.factory.BeanFactory; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.WebApplicationType; -//import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -//import org.springframework.boot.builder.SpringApplicationBuilder; -//import org.springframework.cloud.fn.consumer.mqtt.MqttConsumerConfiguration; -//import org.springframework.cloud.stream.binder.test.InputDestination; -//import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration; -//import org.springframework.context.ConfigurableApplicationContext; -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Import; -//import org.springframework.integration.channel.QueueChannel; -//import org.springframework.integration.mqtt.core.MqttPahoClientFactory; -//import org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter; -//import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter; -//import org.springframework.integration.support.MessageBuilder; -//import org.springframework.messaging.Message; -// -//import static org.assertj.core.api.Assertions.assertThat; -// -//public class MqttSinkTests { -// -// static { -// GenericContainer mosquitto = new GenericContainer("eclipse-mosquitto") -// .withExposedPorts(1883); -// mosquitto.start(); -// final Integer mappedPort = mosquitto.getMappedPort(1883); -// System.setProperty("mqtt.url", "tcp://localhost:" + mappedPort); -// } -// -// @AfterAll -// public static void cleanup() { -// System.clearProperty("mqtt.url"); -// } -// -// @Test -// @Disabled -// public void testMqttSink() { -// try (ConfigurableApplicationContext context = new SpringApplicationBuilder( -// TestChannelBinderConfiguration -// .getCompleteConfiguration(MqttSinkTestConfiguration.class)) -// .web(WebApplicationType.NONE) -// .run("--spring.cloud.function.definition=mqttConsumer", -// "--mqtt.consumer.topic=test")) { -// -// final Message message = MessageBuilder.withPayload("hello").build(); -// InputDestination source = context.getBean(InputDestination.class); -// source.send(message); -// -// QueueChannel queueChannel = context.getBean(QueueChannel.class); -// Message in = queueChannel.receive(10000); -// assertThat(in).isNotNull(); -// assertThat(in.getPayload()).isEqualTo("hello"); -// } -// } -// -// @EnableAutoConfiguration -// @Import(MqttConsumerConfiguration.class) -// public static class MqttSinkTestConfiguration { -// -// @Autowired -// private MqttPahoClientFactory mqttClientFactory; -// -// @Bean -// public MqttPahoMessageDrivenChannelAdapter mqttInbound(BeanFactory beanFactory) { -// MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter("test", -// mqttClientFactory, "test"); -// adapter.setQos(0); -// adapter.setConverter(pahoMessageConverter(beanFactory)); -// adapter.setOutputChannelName("queue"); -// return adapter; -// } -// -// public DefaultPahoMessageConverter pahoMessageConverter(BeanFactory beanFactory) { -// DefaultPahoMessageConverter converter = new DefaultPahoMessageConverter(1, true, "UTF-8"); -// converter.setPayloadAsBytes(false); -// converter.setBeanFactory(beanFactory); -// return converter; -// } -// -// @Bean -// public QueueChannel queue() { -// return new QueueChannel(); -// } -// } -//} +/* + * Copyright 2017-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.stream.app.mqtt.sink; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.testcontainers.containers.GenericContainer; + +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.WebApplicationType; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.fn.consumer.mqtt.MqttConsumerConfiguration; +import org.springframework.cloud.stream.binder.test.InputDestination; +import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; +import org.springframework.integration.channel.QueueChannel; +import org.springframework.integration.mqtt.core.MqttPahoClientFactory; +import org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter; +import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter; +import org.springframework.integration.support.MessageBuilder; +import org.springframework.messaging.Message; + +import static org.assertj.core.api.Assertions.assertThat; + +public class MqttSinkTests { + + static { + GenericContainer mosquitto = new GenericContainer("eclipse-mosquitto") + .withExposedPorts(1883); + mosquitto.start(); + final Integer mappedPort = mosquitto.getMappedPort(1883); + System.setProperty("mqtt.url", "tcp://localhost:" + mappedPort); + } + + @AfterAll + public static void cleanup() { + System.clearProperty("mqtt.url"); + } + + @Test + @Disabled + public void testMqttSink() { + try (ConfigurableApplicationContext context = new SpringApplicationBuilder( + TestChannelBinderConfiguration + .getCompleteConfiguration(MqttSinkTestConfiguration.class)) + .web(WebApplicationType.NONE) + .run("--spring.cloud.function.definition=mqttConsumer", + "--mqtt.consumer.topic=test")) { + + final Message message = MessageBuilder.withPayload("hello").build(); + InputDestination source = context.getBean(InputDestination.class); + source.send(message); + + QueueChannel queueChannel = context.getBean(QueueChannel.class); + Message in = queueChannel.receive(10000); + assertThat(in).isNotNull(); + assertThat(in.getPayload()).isEqualTo("hello"); + } + } + + @EnableAutoConfiguration + @Import(MqttConsumerConfiguration.class) + public static class MqttSinkTestConfiguration { + + @Autowired + private MqttPahoClientFactory mqttClientFactory; + + @Bean + public MqttPahoMessageDrivenChannelAdapter mqttInbound(BeanFactory beanFactory) { + MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter("test", + mqttClientFactory, "test"); + adapter.setQos(0); + adapter.setConverter(pahoMessageConverter(beanFactory)); + adapter.setOutputChannelName("queue"); + return adapter; + } + + public DefaultPahoMessageConverter pahoMessageConverter(BeanFactory beanFactory) { + DefaultPahoMessageConverter converter = new DefaultPahoMessageConverter(1, true, "UTF-8"); + converter.setPayloadAsBytes(false); + converter.setBeanFactory(beanFactory); + return converter; + } + + @Bean + public QueueChannel queue() { + return new QueueChannel(); + } + } +} diff --git a/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/OwnConnectionTest.java b/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/OwnConnectionTest.java index 8bb3e529..c2e3aef5 100644 --- a/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/OwnConnectionTest.java +++ b/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/OwnConnectionTest.java @@ -1,46 +1,46 @@ -///* -// * Copyright 2016-2019 the original author or authors. -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * https://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -//package org.springframework.cloud.stream.app.sink.rabbit; -// -//import org.junit.jupiter.api.Disabled; -//import org.junit.jupiter.api.Test; -// -//import org.springframework.amqp.core.Message; -//import org.springframework.amqp.core.Queue; -//import org.springframework.integration.support.MessageBuilder; -//import org.springframework.test.context.TestPropertySource; -// -//import static org.assertj.core.api.Assertions.assertThat; -// -//@TestPropertySource(properties = {"rabbit.routingKey=scsapp-testOwn", -// "rabbit.own-connection=true"}) -//public class OwnConnectionTest extends RabbitSinkIntegrationTests { -// -// @Test -// @Disabled -// public void test() { -// this.rabbitAdmin.declareQueue( -// new Queue("scsapp-testOwn", false, false, true)); -// this.bootFactory.resetConnection(); -// this.channels.send(MessageBuilder.withPayload("foo".getBytes()) -// .build()); -// this.rabbitTemplate.setReceiveTimeout(10000); -// Message received = this.rabbitTemplate.receive("scsapp-testOwn"); -// assertThat(new String(received.getBody())).isEqualTo("foo"); -// assertThat(this.bootFactory.getCacheProperties().getProperty("localPort")).isEqualTo("0"); -// } -//} +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.stream.app.sink.rabbit; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.Queue; +import org.springframework.integration.support.MessageBuilder; +import org.springframework.test.context.TestPropertySource; + +import static org.assertj.core.api.Assertions.assertThat; + +@TestPropertySource(properties = {"rabbit.routingKey=scsapp-testOwn", + "rabbit.own-connection=true"}) +public class OwnConnectionTest extends RabbitSinkIntegrationTests { + + @Test + @Disabled + public void test() { + this.rabbitAdmin.declareQueue( + new Queue("scsapp-testOwn", false, false, true)); + this.bootFactory.resetConnection(); + this.channels.send(MessageBuilder.withPayload("foo".getBytes()) + .build()); + this.rabbitTemplate.setReceiveTimeout(10000); + Message received = this.rabbitTemplate.receive("scsapp-testOwn"); + assertThat(new String(received.getBody())).isEqualTo("foo"); + assertThat(this.bootFactory.getCacheProperties().getProperty("localPort")).isEqualTo("0"); + } +} diff --git a/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/SimpleRoutingKeyAndCustomHeaderTests.java b/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/SimpleRoutingKeyAndCustomHeaderTests.java index 9fadf7a5..29df4a3f 100644 --- a/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/SimpleRoutingKeyAndCustomHeaderTests.java +++ b/applications/sink/rabbit-sink/src/test/java/org/springframework/cloud/stream/app/sink/rabbit/SimpleRoutingKeyAndCustomHeaderTests.java @@ -1,48 +1,48 @@ -///* -// * Copyright 2016-2019 the original author or authors. -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * https://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -//package org.springframework.cloud.stream.app.sink.rabbit; -// -//import org.junit.jupiter.api.Disabled; -//import org.junit.jupiter.api.Test; -// -//import org.springframework.amqp.core.Message; -//import org.springframework.amqp.core.MessageDeliveryMode; -//import org.springframework.integration.support.MessageBuilder; -//import org.springframework.test.context.TestPropertySource; -// -//import static org.assertj.core.api.Assertions.assertThat; -// -//@TestPropertySource(properties = {"rabbit.routingKey=scsapp-testq", -// "rabbit.persistentDeliveryMode=true", -// "rabbit.mappedRequestHeaders=STANDARD_REQUEST_HEADERS,bar"}) -//public class SimpleRoutingKeyAndCustomHeaderTests extends RabbitSinkIntegrationTests { -// -// @Test -// @Disabled -// public void test() { -// this.channels.send(MessageBuilder.withPayload("foo".getBytes()) -// .setHeader("bar", "baz") -// .setHeader("qux", "fiz") -// .build()); -// this.rabbitTemplate.setReceiveTimeout(10000); -// Message received = this.rabbitTemplate.receive("scsapp-testq"); -// assertThat(new String(received.getBody())).isEqualTo("foo"); -// assertThat(received.getMessageProperties().getHeaders().get("bar")).isEqualTo("baz"); -// assertThat(received.getMessageProperties().getHeaders().get("qux")).isNull(); -// assertThat(received.getMessageProperties().getReceivedDeliveryMode()).isEqualTo(MessageDeliveryMode.PERSISTENT); -// } -//} +/* + * Copyright 2016-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.stream.app.sink.rabbit; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessageDeliveryMode; +import org.springframework.integration.support.MessageBuilder; +import org.springframework.test.context.TestPropertySource; + +import static org.assertj.core.api.Assertions.assertThat; + +@TestPropertySource(properties = {"rabbit.routingKey=scsapp-testq", + "rabbit.persistentDeliveryMode=true", + "rabbit.mappedRequestHeaders=STANDARD_REQUEST_HEADERS,bar"}) +public class SimpleRoutingKeyAndCustomHeaderTests extends RabbitSinkIntegrationTests { + + @Test + @Disabled + public void test() { + this.channels.send(MessageBuilder.withPayload("foo".getBytes()) + .setHeader("bar", "baz") + .setHeader("qux", "fiz") + .build()); + this.rabbitTemplate.setReceiveTimeout(10000); + Message received = this.rabbitTemplate.receive("scsapp-testq"); + assertThat(new String(received.getBody())).isEqualTo("foo"); + assertThat(received.getMessageProperties().getHeaders().get("bar")).isEqualTo("baz"); + assertThat(received.getMessageProperties().getHeaders().get("qux")).isNull(); + assertThat(received.getMessageProperties().getReceivedDeliveryMode()).isEqualTo(MessageDeliveryMode.PERSISTENT); + } +}