From cb105ab0ec38153ab0aa959d53f0007705ab1ef1 Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Fri, 3 Aug 2018 21:30:36 -0400 Subject: [PATCH] Upgrade Spring Cloud Build to 2.1.0 This upgrades to Spring Boot 2.1.0 Fix tests where the beans need to get overridden Minor cleaning up Polishing Resolves #1426 --- pom.xml | 2 +- .../ContentTypeOutboundSourceTests.java | 3 ++- .../config/CustomHeaderPropagationTests.java | 3 ++- .../config/CustomMessageConverterTests.java | 3 ++- .../config/DefaultHeaderPropagationTests.java | 3 ++- ...ionWithApplicationProvidedHeaderTests.java | 3 ++- .../DeserializeJSONToJavaTypeTests.java | 3 ++- .../InboundJsonToTupleConversionTest.java | 3 ++- .../stream/config/LegacyContentTypeTests.java | 3 ++- .../config/MessageChannelConfigurerTests.java | 3 ++- ...MessageChannelWithNativeDecodingTests.java | 3 ++- ...MessageChannelWithNativeEncodingTests.java | 3 ++- ...ListenerAnnotatedMethodArgumentsTests.java | 6 ++++++ ...notationBeanPostProcessorOverrideTest.java | 6 ++++++ .../StreamListenerAsMetaAnnotationTests.java | 6 ++++++ ...eamListenerContentTypeConversionTests.java | 6 ++++++ .../StreamListenerDuplicateMappingTests.java | 6 ++++++ .../StreamListenerHandlerBeanTests.java | 6 ++++++ .../StreamListenerHandlerMethodTests.java | 6 ++++++ .../StreamListenerMessageArgumentTests.java | 6 ++++++ ...mListenerMethodRegisteredOnlyOnceTest.java | 2 +- ...stenerMethodReturnWithConversionTests.java | 6 ++++++ ...mListenerMethodSetupOrchestratorTests.java | 2 +- ...mListenerMethodWithReturnMessageTests.java | 6 ++++++ ...eamListenerMethodWithReturnValueTests.java | 6 ++++++ ...enerWithAnnotatedInputOutputArgsTests.java | 6 ++++++ .../StreamListenerWithConditionsTest.java | 6 ++++++ .../config/TextPlainConversionTest.java | 4 +++- .../config/TextPlainToJsonConversionTest.java | 5 ++++- .../aggregate/AggregateApplicationTests.java | 1 + .../config/contentType/ContentTypeTests.java | 6 ++++++ ...mListenerReactiveInputOutputArgsTests.java | 6 ++++++ .../StreamListenerReactiveMethodTests.java | 6 ++++++ ...enerReactiveMethodWithReturnTypeTests.java | 6 ++++++ ...istenerReactiveReturnWithFailureTests.java | 6 ++++++ ...istenerReactiveReturnWithMessageTests.java | 6 ++++++ .../server/SchemaRegistryServerAvroTests.java | 3 ++- ...vroMessageConverterSerializationTests.java | 1 + .../avro/AvroSchemaMessageConverterTests.java | 6 ++++++ ...maRegistryClientMessageConverterTests.java | 14 +++++++++++++ ...maRegistryClientMessageConverterTests.java | 6 ++++++ .../avro/SubjectNamingStrategyTest.java | 6 ++++++ .../aggregate/bean/AggregateWithBeanTest.java | 4 +++- .../aggregate/main/AggregateWithMainTest.java | 1 + .../stream/test/example/ExampleTest.java | 3 ++- .../binder/DefaultPollableMessageSource.java | 6 +++--- .../binding/BinderAwareChannelResolver.java | 4 +++- .../config/BindingServiceConfiguration.java | 2 +- ...ultDestinationPublishingMeterRegistry.java | 4 ++-- .../stream/aggregation/AggregationTest.java | 1 + .../BinderAwareChannelResolverTests.java | 2 ++ .../HealthIndicatorsConfigurationTests.java | 20 ++++++++++--------- 52 files changed, 211 insertions(+), 35 deletions(-) diff --git a/pom.xml b/pom.xml index 72bafe401..6f009c904 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-build - 2.0.2.RELEASE + 2.1.0.BUILD-SNAPSHOT diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ContentTypeOutboundSourceTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ContentTypeOutboundSourceTests.java index 2be956abd..ffa9152d5 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ContentTypeOutboundSourceTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ContentTypeOutboundSourceTests.java @@ -41,7 +41,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = { ContentTypeOutboundSourceTests.TestSource.class }) +@SpringBootTest(classes = { ContentTypeOutboundSourceTests.TestSource.class }, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class ContentTypeOutboundSourceTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomHeaderPropagationTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomHeaderPropagationTests.java index 77d91ff20..525d2301f 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomHeaderPropagationTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomHeaderPropagationTests.java @@ -44,7 +44,8 @@ import static org.assertj.core.api.Assertions.assertThat; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = CustomHeaderPropagationTests.HeaderPropagationProcessor.class, webEnvironment = SpringBootTest.WebEnvironment.NONE, - properties = "spring.cloud.stream.integration.messageHandlerNotPropagatedHeaders=bar,contentType") + properties = {"spring.cloud.stream.integration.messageHandlerNotPropagatedHeaders=bar,contentType", + "--spring.main.allow-bean-definition-overriding=true"}) public class CustomHeaderPropagationTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java index bd0bc4f33..d49ed064b 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java @@ -51,7 +51,8 @@ import static org.hamcrest.Matchers.notNullValue; * @author Janne Valkealahti */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = CustomMessageConverterTests.TestSource.class) +@SpringBootTest(classes = CustomMessageConverterTests.TestSource.class, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class CustomMessageConverterTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationTests.java index 32657c4ff..becc503b1 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationTests.java @@ -43,7 +43,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = DefaultHeaderPropagationTests.HeaderPropagationProcessor.class, - webEnvironment = SpringBootTest.WebEnvironment.NONE) + webEnvironment = SpringBootTest.WebEnvironment.NONE, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class DefaultHeaderPropagationTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java index 4004c86cf..0d0d517b7 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java @@ -44,7 +44,8 @@ import static org.junit.Assert.assertEquals; */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = DefaultHeaderPropagationWithApplicationProvidedHeaderTests.HeaderPropagationProcessor.class, - webEnvironment = SpringBootTest.WebEnvironment.NONE) + webEnvironment = SpringBootTest.WebEnvironment.NONE, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class DefaultHeaderPropagationWithApplicationProvidedHeaderTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DeserializeJSONToJavaTypeTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DeserializeJSONToJavaTypeTests.java index 4ca9e380a..f21918ae5 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DeserializeJSONToJavaTypeTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/DeserializeJSONToJavaTypeTests.java @@ -43,7 +43,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = DeserializeJSONToJavaTypeTests.FooProcessor.class) +@SpringBootTest(classes = DeserializeJSONToJavaTypeTests.FooProcessor.class, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class DeserializeJSONToJavaTypeTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/InboundJsonToTupleConversionTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/InboundJsonToTupleConversionTest.java index 111e4c358..772d3cc58 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/InboundJsonToTupleConversionTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/InboundJsonToTupleConversionTest.java @@ -45,7 +45,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = InboundJsonToTupleConversionTest.FooProcessor.class) +@SpringBootTest(classes = InboundJsonToTupleConversionTest.FooProcessor.class, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class InboundJsonToTupleConversionTest { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/LegacyContentTypeTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/LegacyContentTypeTests.java index 9b59403c1..715f858b7 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/LegacyContentTypeTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/LegacyContentTypeTests.java @@ -43,7 +43,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = { LegacyContentTypeTests.LegacyTestSink.class}) +@SpringBootTest(classes = { LegacyContentTypeTests.LegacyTestSink.class}, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class LegacyContentTypeTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java index 050122da3..5d6b807ee 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java @@ -53,7 +53,8 @@ import static org.junit.Assert.assertNull; */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = { MessageChannelConfigurerTests.TestSink.class, - MessageChannelConfigurerTests.TestSource.class, SpelExpressionConverterConfiguration.class}) + MessageChannelConfigurerTests.TestSource.class, SpelExpressionConverterConfiguration.class}, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class MessageChannelConfigurerTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeDecodingTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeDecodingTests.java index 55d30e651..65b824b4d 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeDecodingTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeDecodingTests.java @@ -41,7 +41,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Soby Chacko */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = { MessageChannelWithNativeDecodingTests.NativeDecodingSink.class}) +@SpringBootTest(classes = { MessageChannelWithNativeDecodingTests.NativeDecodingSink.class}, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class MessageChannelWithNativeDecodingTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeEncodingTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeEncodingTests.java index 9aa43a3bb..6bf9420d8 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeEncodingTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelWithNativeEncodingTests.java @@ -39,7 +39,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Soby Chacko */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = { MessageChannelWithNativeEncodingTests.NativeEncodingSource.class}) +@SpringBootTest(classes = { MessageChannelWithNativeEncodingTests.NativeEncodingSource.class}, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class MessageChannelWithNativeEncodingTests { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotatedMethodArgumentsTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotatedMethodArgumentsTests.java index d8b53c62a..6b54cd680 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotatedMethodArgumentsTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotatedMethodArgumentsTests.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -49,6 +50,11 @@ import static org.springframework.cloud.stream.binding.StreamListenerErrorMessag */ public class StreamListenerAnnotatedMethodArgumentsTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test @SuppressWarnings("unchecked") public void testAnnotatedArguments() throws Exception { diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotationBeanPostProcessorOverrideTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotationBeanPostProcessorOverrideTest.java index fd09a1ca5..67357adf4 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotationBeanPostProcessorOverrideTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAnnotationBeanPostProcessorOverrideTest.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -46,6 +47,11 @@ import static org.springframework.cloud.stream.config.BindingServiceConfiguratio */ public class StreamListenerAnnotationBeanPostProcessorOverrideTest { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test @SuppressWarnings("unchecked") public void testOverrideStreamListenerAnnotationBeanPostProcessor() throws Exception { diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAsMetaAnnotationTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAsMetaAnnotationTests.java index d19e7c684..b5fa57acb 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAsMetaAnnotationTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerAsMetaAnnotationTests.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -74,6 +75,11 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class StreamListenerAsMetaAnnotationTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testCustomAnnotation() { ConfigurableApplicationContext context = SpringApplication.run(TestPojoWithCustomAnnotatedArguments.class, diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerContentTypeConversionTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerContentTypeConversionTests.java index fc83b9fb0..bac7f1dc0 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerContentTypeConversionTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerContentTypeConversionTests.java @@ -22,6 +22,7 @@ import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -40,6 +41,11 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class StreamListenerContentTypeConversionTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testContentTypeConversion() throws Exception { ConfigurableApplicationContext context = SpringApplication.run(TestSinkWithContentTypeConversion.class, diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerDuplicateMappingTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerDuplicateMappingTests.java index dafa2c693..113350452 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerDuplicateMappingTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerDuplicateMappingTests.java @@ -16,6 +16,7 @@ package org.springframework.cloud.stream.config; +import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.BeanCreationException; @@ -39,6 +40,11 @@ import static org.junit.Assert.fail; */ public class StreamListenerDuplicateMappingTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test @SuppressWarnings("unchecked") public void testMultipleMappingsWithReturnValue() { diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerBeanTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerBeanTests.java index 1db407b56..34de552b2 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerBeanTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerBeanTests.java @@ -24,6 +24,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import org.assertj.core.api.Assertions; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -57,6 +58,11 @@ public class StreamListenerHandlerBeanTests { private Class configClass; + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + public StreamListenerHandlerBeanTests(Class configClass) { this.configClass = configClass; } diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerMethodTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerMethodTests.java index c34f86d47..ba22f2694 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerMethodTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerHandlerMethodTests.java @@ -19,6 +19,7 @@ package org.springframework.cloud.stream.config; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.NoSuchBeanDefinitionException; @@ -67,6 +68,11 @@ import static org.springframework.cloud.stream.binding.StreamListenerErrorMessag */ public class StreamListenerHandlerMethodTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testInvalidInputOnMethod() throws Exception { try { diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMessageArgumentTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMessageArgumentTests.java index 6c1a2b9ff..62d1935f7 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMessageArgumentTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMessageArgumentTests.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -56,6 +57,11 @@ public class StreamListenerMessageArgumentTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Arrays.asList(new Class[] { TestPojoWithMessageArgument1.class, TestPojoWithMessageArgument2.class }); diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodRegisteredOnlyOnceTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodRegisteredOnlyOnceTest.java index 457b077e5..5c64db2db 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodRegisteredOnlyOnceTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodRegisteredOnlyOnceTest.java @@ -41,7 +41,7 @@ import static org.mockito.Mockito.verify; * @author Soby Chacko */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest +@SpringBootTest(properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class StreamListenerMethodRegisteredOnlyOnceTest { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodReturnWithConversionTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodReturnWithConversionTests.java index b40dfe943..254eb7b28 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodReturnWithConversionTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodReturnWithConversionTests.java @@ -25,6 +25,7 @@ import java.util.concurrent.TimeUnit; import com.fasterxml.jackson.databind.ObjectMapper; import org.assertj.core.api.Assertions; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -66,6 +67,11 @@ public class StreamListenerMethodReturnWithConversionTests extends Suite { super(klass, builder); } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @RunWith(Parameterized.class) public static class TestReturnConversion { diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodSetupOrchestratorTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodSetupOrchestratorTests.java index 9e9198282..e0e2d4b4f 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodSetupOrchestratorTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodSetupOrchestratorTests.java @@ -55,7 +55,7 @@ import static org.mockito.Mockito.verify; * @author Soby Chacko */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest +@SpringBootTest(properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class StreamListenerMethodSetupOrchestratorTests { @SpyBean diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnMessageTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnMessageTests.java index 74e33c764..16556a281 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnMessageTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnMessageTests.java @@ -24,6 +24,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import org.assertj.core.api.Assertions; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -57,6 +58,11 @@ public class StreamListenerMethodWithReturnMessageTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Arrays.asList(new Class[] { TestPojoWithMessageReturn1.class, TestPojoWithMessageReturn2.class }); diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnValueTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnValueTests.java index 0c622f363..208e3a6e6 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnValueTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerMethodWithReturnValueTests.java @@ -24,6 +24,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import org.assertj.core.api.Assertions; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -56,6 +57,11 @@ public class StreamListenerMethodWithReturnValueTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Arrays.asList(new Class[] { TestStringProcessor1.class, TestStringProcessor2.class }); diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithAnnotatedInputOutputArgsTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithAnnotatedInputOutputArgsTests.java index 88bcca9cc..5875fffb9 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithAnnotatedInputOutputArgsTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithAnnotatedInputOutputArgsTests.java @@ -18,6 +18,7 @@ package org.springframework.cloud.stream.config; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -49,6 +50,11 @@ import static org.springframework.cloud.stream.binding.StreamListenerErrorMessag */ public class StreamListenerWithAnnotatedInputOutputArgsTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testInputOutputArgs() throws Exception { ConfigurableApplicationContext context = SpringApplication.run(TestInputOutputArgs.class, "--server.port=0", "--spring.cloud.stream.bindings.output.contentType=text/plain", "--spring.jmx.enabled=false"); diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithConditionsTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithConditionsTest.java index d47efd038..b3c27b151 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithConditionsTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/StreamListenerWithConditionsTest.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -42,6 +43,11 @@ import static org.assertj.core.api.Assertions.fail; */ public class StreamListenerWithConditionsTest { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testAnnotatedArgumentsWithConditionalClass() throws Exception { ConfigurableApplicationContext context = SpringApplication.run(TestPojoWithAnnotatedArguments.class, diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainConversionTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainConversionTest.java index c2411e9d1..4ca955259 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainConversionTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainConversionTest.java @@ -44,7 +44,9 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 1.2 */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = TextPlainConversionTest.FooProcessor.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) +@SpringBootTest(classes = TextPlainConversionTest.FooProcessor.class, + webEnvironment = SpringBootTest.WebEnvironment.NONE, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) public class TextPlainConversionTest { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java index 9a261a95e..643fb17b9 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java @@ -47,7 +47,10 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 1.2 */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = TextPlainToJsonConversionTest.FooProcessor.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) +@SpringBootTest(classes = TextPlainToJsonConversionTest.FooProcessor.class, + webEnvironment = SpringBootTest.WebEnvironment.NONE, + properties = {"--spring.main.allow-bean-definition-overriding=true"} +) public class TextPlainToJsonConversionTest { @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/aggregate/AggregateApplicationTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/aggregate/AggregateApplicationTests.java index 9750b267b..29422edea 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/aggregate/AggregateApplicationTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/aggregate/AggregateApplicationTests.java @@ -46,6 +46,7 @@ public class AggregateApplicationTests { @Before public void before() { System.setProperty("server.port", "0"); + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); } @Test diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java index bfb519fcc..f5b8e49c2 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java @@ -26,6 +26,7 @@ import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Output; import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -59,6 +60,11 @@ public class ContentTypeTests { private ObjectMapper mapper = new ObjectMapper(); + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testSendWithDefaultContentType() throws Exception { try (ConfigurableApplicationContext context = SpringApplication.run( diff --git a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveInputOutputArgsTests.java b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveInputOutputArgsTests.java index 9e9a4456f..1bda17bbc 100644 --- a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveInputOutputArgsTests.java +++ b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveInputOutputArgsTests.java @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -54,6 +55,11 @@ public class StreamListenerReactiveInputOutputArgsTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Collections.singletonList(ReactorTestInputOutputArgs.class); diff --git a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodTests.java b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodTests.java index 956517b95..280924c08 100644 --- a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodTests.java +++ b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodTests.java @@ -16,6 +16,7 @@ package org.springframework.cloud.stream.reactive; +import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; @@ -37,6 +38,11 @@ import static org.springframework.cloud.stream.binding.StreamListenerErrorMessag */ public class StreamListenerReactiveMethodTests { + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testReactiveInvalidInputValueWithOutputMethodParameters() { try { diff --git a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodWithReturnTypeTests.java b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodWithReturnTypeTests.java index 79e744b3c..d59bd53b5 100644 --- a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodWithReturnTypeTests.java +++ b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveMethodWithReturnTypeTests.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -55,6 +56,11 @@ public class StreamListenerReactiveMethodWithReturnTypeTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Arrays.asList(ReactorTestReturn1.class, ReactorTestReturn2.class, ReactorTestReturn3.class, diff --git a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithFailureTests.java b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithFailureTests.java index 073bd525c..5418c3d7e 100644 --- a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithFailureTests.java +++ b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithFailureTests.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -55,6 +56,11 @@ public class StreamListenerReactiveReturnWithFailureTests { this.configClass = configClass; } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @Parameterized.Parameters public static Collection InputConfigs() { return Arrays.asList(ReactorTestReturnWithFailure1.class, ReactorTestReturnWithFailure2.class, diff --git a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithMessageTests.java b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithMessageTests.java index cf5bb5a20..0a72dd938 100644 --- a/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithMessageTests.java +++ b/spring-cloud-stream-reactive/src/test/java/org/springframework/cloud/stream/reactive/StreamListenerReactiveReturnWithMessageTests.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -61,6 +62,11 @@ public class StreamListenerReactiveReturnWithMessageTests { ReactorTestReturnWithMessage3.class, ReactorTestReturnWithMessage4.class); } + @Before + public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + } + @SuppressWarnings("unchecked") private static void sendMessageAndValidate(ConfigurableApplicationContext context) throws InterruptedException { Processor processor = context.getBean(Processor.class); diff --git a/spring-cloud-stream-schema-server/src/test/java/org/springframework/cloud/stream/schema/server/SchemaRegistryServerAvroTests.java b/spring-cloud-stream-schema-server/src/test/java/org/springframework/cloud/stream/schema/server/SchemaRegistryServerAvroTests.java index c91826c53..3cbafcc60 100644 --- a/spring-cloud-stream-schema-server/src/test/java/org/springframework/cloud/stream/schema/server/SchemaRegistryServerAvroTests.java +++ b/spring-cloud-stream-schema-server/src/test/java/org/springframework/cloud/stream/schema/server/SchemaRegistryServerAvroTests.java @@ -44,7 +44,8 @@ import static org.springframework.test.annotation.DirtiesContext.ClassMode.AFTER * @author Ilayaperumal Gopinathan */ @RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, + properties = {"--spring.main.allow-bean-definition-overriding=true"}) @DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) public class SchemaRegistryServerAvroTests { diff --git a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroMessageConverterSerializationTests.java b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroMessageConverterSerializationTests.java index a75814b21..d668b10a9 100644 --- a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroMessageConverterSerializationTests.java +++ b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroMessageConverterSerializationTests.java @@ -67,6 +67,7 @@ public class AvroMessageConverterSerializationTests { @Before public void setup() { + System.setProperty("--spring.main.allow-bean-definition-overriding", "true"); schemaRegistryServerContext = SpringApplication .run(SchemaRegistryServerApplication.class); } diff --git a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaMessageConverterTests.java b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaMessageConverterTests.java index d04aac0c0..40ff1a495 100644 --- a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaMessageConverterTests.java +++ b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaMessageConverterTests.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -52,6 +53,11 @@ public class AvroSchemaMessageConverterTests { static StubSchemaRegistryClient stubSchemaRegistryClient = new StubSchemaRegistryClient(); + @Before + public void setup() { + System.setProperty("--spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testSendMessageWithLocation() throws Exception { ConfigurableApplicationContext sourceContext = SpringApplication.run(AvroSourceApplication.class, diff --git a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaRegistryClientMessageConverterTests.java b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaRegistryClientMessageConverterTests.java index d89b7767e..3fb8de15c 100644 --- a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaRegistryClientMessageConverterTests.java +++ b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroSchemaRegistryClientMessageConverterTests.java @@ -21,11 +21,14 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.beans.DirectFieldAccessor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.cache.support.NoOpCacheManager; import org.springframework.cloud.stream.annotation.EnableBinding; import org.springframework.cloud.stream.annotation.StreamListener; @@ -54,6 +57,11 @@ public class AvroSchemaRegistryClientMessageConverterTests { static SchemaRegistryClient stubSchemaRegistryClient = new StubSchemaRegistryClient(); + @Before + public void setup() { + System.setProperty("--spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testSendMessage() throws Exception { @@ -159,10 +167,16 @@ public class AvroSchemaRegistryClientMessageConverterTests { @Configuration public static class NoCacheConfiguration { + @Bean @StreamMessageConverter AvroSchemaRegistryClientMessageConverter avroSchemaRegistryClientMessageConverter() { return new AvroSchemaRegistryClientMessageConverter(new DefaultSchemaRegistryClient(), new NoOpCacheManager()); } + + @Bean + ServletWebServerFactory servletWebServerFactory(){ + return new TomcatServletWebServerFactory(); + } } } diff --git a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroStubSchemaRegistryClientMessageConverterTests.java b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroStubSchemaRegistryClientMessageConverterTests.java index ee809a5ff..cbf96a83e 100644 --- a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroStubSchemaRegistryClientMessageConverterTests.java +++ b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/AvroStubSchemaRegistryClientMessageConverterTests.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -45,6 +46,11 @@ public class AvroStubSchemaRegistryClientMessageConverterTests { static SchemaRegistryClient stubSchemaRegistryClient = new StubSchemaRegistryClient(); + @Before + public void setup() { + System.setProperty("--spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testSendMessage() throws Exception { ConfigurableApplicationContext sourceContext = SpringApplication.run(AvroSourceApplication.class, diff --git a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/SubjectNamingStrategyTest.java b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/SubjectNamingStrategyTest.java index 467d23ce6..d7e56911d 100644 --- a/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/SubjectNamingStrategyTest.java +++ b/spring-cloud-stream-schema/src/test/java/org/springframework/cloud/schema/avro/SubjectNamingStrategyTest.java @@ -19,6 +19,7 @@ package org.springframework.cloud.schema.avro; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.junit.Before; import org.junit.Test; import org.springframework.boot.SpringApplication; @@ -42,6 +43,11 @@ public class SubjectNamingStrategyTest { static StubSchemaRegistryClient stubSchemaRegistryClient = new StubSchemaRegistryClient(); + @Before + public void setup() { + System.setProperty("--spring.main.allow-bean-definition-overriding", "true"); + } + @Test public void testCustomNamingStrategy() throws Exception { ConfigurableApplicationContext sourceContext = SpringApplication.run(AvroSourceApplication.class, diff --git a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/bean/AggregateWithBeanTest.java b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/bean/AggregateWithBeanTest.java index ee3097654..89c57a624 100644 --- a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/bean/AggregateWithBeanTest.java +++ b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/bean/AggregateWithBeanTest.java @@ -42,7 +42,9 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Marius Bogoevici */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = AggregateWithBeanTest.ChainedProcessors.class, properties = { "server.port=-1","--spring.cloud.stream.bindings.input.contentType=text/plain","--spring.cloud.stream.bindings.output.contentType=text/plain" }) +@SpringBootTest(classes = AggregateWithBeanTest.ChainedProcessors.class, properties = { "server.port=-1","--spring.cloud.stream.bindings.input.contentType=text/plain", + "--spring.cloud.stream.bindings.output.contentType=text/plain", + "--spring.main.allow-bean-definition-overriding=true"}) public class AggregateWithBeanTest { @Autowired diff --git a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/main/AggregateWithMainTest.java b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/main/AggregateWithMainTest.java index 26d882802..9dc34e0d3 100644 --- a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/main/AggregateWithMainTest.java +++ b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/aggregate/main/AggregateWithMainTest.java @@ -46,6 +46,7 @@ public class AggregateWithMainTest { @Before public void before() { System.setProperty("server.port", "0"); + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); } @SuppressWarnings("unchecked") diff --git a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/example/ExampleTest.java b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/example/ExampleTest.java index 08444b8de..e4c6cf3c7 100644 --- a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/example/ExampleTest.java +++ b/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/example/ExampleTest.java @@ -39,7 +39,8 @@ import static org.assertj.core.api.Assertions.assertThat; * correctly. */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = ExampleTest.MyProcessor.class, properties = { "server.port=-1", "--spring.cloud.stream.bindings.input.contentType=text/plain", "--spring.cloud.stream.bindings.output.contentType=text/plain" }) +@SpringBootTest(classes = ExampleTest.MyProcessor.class, properties = { "server.port=-1", "--spring.cloud.stream.bindings.input.contentType=text/plain", "--spring.cloud.stream.bindings.output.contentType=text/plain", + "--spring.main.allow-bean-definition-overriding=true"}) @DirtiesContext public class ExampleTest { diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java index 8eafef39c..eb4543277 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java @@ -28,14 +28,14 @@ import org.springframework.aop.support.NameMatchMethodPointcutAdvisor; import org.springframework.context.Lifecycle; import org.springframework.core.AttributeAccessor; import org.springframework.core.ParameterizedTypeReference; +import org.springframework.integration.StaticMessageHeaderAccessor; +import org.springframework.integration.acks.AckUtils; +import org.springframework.integration.acks.AcknowledgmentCallback; import org.springframework.integration.core.MessageSource; import org.springframework.integration.core.MessagingTemplate; -import org.springframework.integration.support.AckUtils; -import org.springframework.integration.support.AcknowledgmentCallback; import org.springframework.integration.support.DefaultErrorMessageStrategy; import org.springframework.integration.support.ErrorMessageStrategy; import org.springframework.integration.support.ErrorMessageUtils; -import org.springframework.integration.support.StaticMessageHeaderAccessor; import org.springframework.lang.Nullable; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareChannelResolver.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareChannelResolver.java index 5ec8afee5..e83aba00b 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareChannelResolver.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareChannelResolver.java @@ -118,7 +118,9 @@ public class BinderAwareChannelResolver extends BeanFactoryMessageChannelDestina MessageChannel channel = this.bindingTargetFactory.createOutput(channelName); this.beanFactory.registerSingleton(channelName, channel); - this.instrumentChannelWithGlobalInterceptors(channel, channelName); + //TODO: Investigate if the following call is necessary. + //initializeBean call on the next line also calling the addMatchingInterceptors method in GlobalChannelInterceptorProcessor + //this.instrumentChannelWithGlobalInterceptors(channel, channelName); channel = (MessageChannel) this.beanFactory.initializeBean(channel, channelName); if (this.newBindingCallback != null) { diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java index 9c2404236..4a279a554 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java @@ -51,9 +51,9 @@ import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Role; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.integration.config.GlobalChannelInterceptorProcessor; -import org.springframework.integration.config.HandlerMethodArgumentResolversHolder; import org.springframework.integration.context.IntegrationContextUtils; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler; +import org.springframework.integration.handler.support.HandlerMethodArgumentResolversHolder; import org.springframework.integration.router.AbstractMappingMessageRouter; import org.springframework.lang.Nullable; import org.springframework.messaging.MessageChannel; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java index 3e3e9a0dc..d672cc391 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java @@ -169,7 +169,7 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements @Override protected Timer newTimer(Id id, DistributionStatisticConfig distributionStatisticConfig, PauseDetector pauseDetector) { - return new StepTimer(id, clock, distributionStatisticConfig, pauseDetector, getBaseTimeUnit()); + return new StepTimer(id, clock, distributionStatisticConfig, pauseDetector, getBaseTimeUnit(), metricsPublisherConfig.step().toMillis(), false); } @Override @@ -191,7 +191,7 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements @Override protected DistributionSummary newDistributionSummary(Id id, DistributionStatisticConfig distributionStatisticConfig, double scale) { - return new StepDistributionSummary(id, clock, distributionStatisticConfig, scale); + return new StepDistributionSummary(id, clock, distributionStatisticConfig, scale, metricsPublisherConfig.step().toMillis(), false); } @Override diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/aggregation/AggregationTest.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/aggregation/AggregationTest.java index cc839c967..65cfc1b9d 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/aggregation/AggregationTest.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/aggregation/AggregationTest.java @@ -64,6 +64,7 @@ public class AggregationTest { @Before public void before() { + System.setProperty("spring.main.allow-bean-definition-overriding", "true"); System.setProperty("server.port", "0"); } diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java index 05d019b13..2005bc387 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java @@ -94,6 +94,8 @@ public class BinderAwareChannelResolverTests { @SuppressWarnings("unchecked") @Before public void setupContext() throws Exception { + //System.setProperty("spring.main.allow-bean-definition-overriding", "true"); + this.context = new SpringApplicationBuilder(TestChannelBinderConfiguration.getCompleteConfiguration(BinderAwareChannelResolverTests.InterceptorConfiguration.class)) .web(WebApplicationType.NONE).run(); diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/HealthIndicatorsConfigurationTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/HealthIndicatorsConfigurationTests.java index c4418c6e9..6b29800be 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/HealthIndicatorsConfigurationTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/HealthIndicatorsConfigurationTests.java @@ -28,6 +28,7 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.boot.WebApplicationType; import org.springframework.boot.actuate.health.CompositeHealthIndicator; import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.actuate.health.HealthIndicatorRegistry; import org.springframework.boot.actuate.health.OrderedHealthAggregator; import org.springframework.boot.actuate.health.Status; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -83,11 +84,12 @@ public class HealthIndicatorsConfigurationTests { CompositeHealthIndicator.class); DirectFieldAccessor directFieldAccessor = new DirectFieldAccessor(bindersHealthIndicator); assertThat(bindersHealthIndicator).isNotNull(); - assertThat(context.getBean("testHealthIndicator1", CompositeHealthIndicator.class)).isNotNull(); - assertThat(context.getBean("testHealthIndicator2", CompositeHealthIndicator.class)).isNotNull(); - @SuppressWarnings("unchecked") - Map healthIndicators = (Map) directFieldAccessor - .getPropertyValue("indicators"); + assertThat(context.getBean("test1HealthIndicator1", CompositeHealthIndicator.class)).isNotNull(); + assertThat(context.getBean("test2HealthIndicator2", CompositeHealthIndicator.class)).isNotNull(); + + HealthIndicatorRegistry registry = (HealthIndicatorRegistry)directFieldAccessor.getPropertyValue("registry"); + + Map healthIndicators = registry.getAll(); assertThat(healthIndicators).containsKey("binder1"); assertThat(healthIndicators.get("binder1").health().getStatus()).isEqualTo(Status.UP); assertThat(healthIndicators).containsKey("binder2"); @@ -113,8 +115,8 @@ public class HealthIndicatorsConfigurationTests { } catch (NoSuchBeanDefinitionException e) { } - assertThat(context.getBean("testHealthIndicator1", CompositeHealthIndicator.class)).isNotNull(); - assertThat(context.getBean("testHealthIndicator2", CompositeHealthIndicator.class)).isNotNull(); + assertThat(context.getBean("test1HealthIndicator1", CompositeHealthIndicator.class)).isNotNull(); + assertThat(context.getBean("test2HealthIndicator2", CompositeHealthIndicator.class)).isNotNull(); context.close(); } @@ -126,12 +128,12 @@ public class HealthIndicatorsConfigurationTests { static class TestConfig { @Bean - public CompositeHealthIndicator testHealthIndicator1() { + public CompositeHealthIndicator test1HealthIndicator1() { return new CompositeHealthIndicator(new OrderedHealthAggregator()); } @Bean - public CompositeHealthIndicator testHealthIndicator2() { + public CompositeHealthIndicator test2HealthIndicator2() { return new CompositeHealthIndicator(new OrderedHealthAggregator()); } }