From 8f4c2be0cb51f4936ce279f54ea13175f2006ebb Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Fri, 15 Nov 2024 13:40:29 -0500 Subject: [PATCH] More `@DirtiesContext` for tests in core module Additional code style cleanups in the affected classes **Auto-cherry-pick to `6.3.x` & `6.2.x`** --- .../AggregatorExpressionIntegrationTests.java | 15 ++--- .../AnnotationAggregatorTests.java | 4 +- ...vokingAggregatorReturningMessageTests.java | 13 ++-- .../ResequencerIntegrationTests.java | 11 ++-- ...PollerWithMixedAopConfigTests-context.xml} | 0 ...actionalPollerWithMixedAopConfigTests.java | 34 +++++----- ... => UnicastingDispatcherTests-context.xml} | 0 .../dispatcher/UnicastingDispatcherTests.java | 29 ++++---- .../dsl/LambdaMessageProcessorTests.java | 2 + ...ntegrationComponentSpecLifecycleTests.java | 9 ++- .../PublishSubscribeTests.java | 11 ++-- .../dsl/routers/NoFallbackAllowedTests.java | 4 +- .../endpoint/MessageProducerSupportTests.java | 21 +++--- .../ProducerAndConsumerAutoStartupTests.java | 7 +- .../expression/ForeignClassloaderTests.java | 13 ++-- ...namicExpressionFilterIntegrationTests.java | 2 + .../filter/FilterContextTests.java | 17 +++-- .../filter/SpelFilterIntegrationTests.java | 2 + .../GatewayInvokingMessageHandlerTests.java | 43 +++++------- .../gateway/GatewayRequiresReplyTests.java | 17 ++--- ...wayWithHeaderAnnotationsTests-context.xml} | 2 +- ...=> GatewayWithHeaderAnnotationsTests.java} | 17 ++--- .../GatewayWithPayloadExpressionTests.java | 2 + .../gateway/GatewayXmlAndAnnotationTests.java | 4 +- .../gateway/HeaderEnrichedGatewayTests.java | 17 ++--- .../gateway/InnerGatewayWithChainTests.java | 19 +++--- .../MultiMethodGatewayConfigTests.java | 11 ++-- .../gateway/MultipleEndpointGatewayTests.java | 23 +++---- .../handler/CGLibProxyHandlerTests.java | 13 ++-- ...CustomConverterMessageProcessingTests.java | 12 ++-- .../handler/LoggingHandlerTests-context.xml | 2 +- .../handler/LoggingHandlerTests.java | 66 ++++++++----------- .../integration/handler/MockHandlerTests.java | 11 ++-- .../SendTimeoutConfigurationTests.java | 24 +++---- ...eActivatorDefaultFrameworkMethodTests.java | 4 +- .../ServiceActivatorOnMockitoMockTests.java | 27 ++++---- ...onEvaluatingRequestHandlerAdviceTests.java | 2 + .../advice/IdempotentReceiverTests.java | 12 ++-- .../RateLimiterRequestHandlerAdviceTests.java | 4 +- ...pelExpressionRetryStateGeneratorTests.java | 13 ++-- .../json/ContentTypeConversionTests.java | 4 +- .../integration/json/JsonPathTests.java | 4 +- .../JsonToObjectTransformerParserTests.java | 4 +- .../ObjectToJsonTransformerParserTests.java | 2 + ...namicExpressionRouterIntegrationTests.java | 23 ++----- ...HeaderValueRouterConvertibleTypeTests.java | 11 ++-- .../config/HeaderValueRouterParserTests.java | 11 ++-- .../config/PayloadTypeRouterParserTests.java | 63 ++++++++---------- .../router/config/RouterParserTests.java | 2 + .../router/config/RouterWithMappingTests.java | 26 +++----- .../config/SpelRouterIntegrationTests.java | 11 ++-- .../config/ScatterGatherParserTests.java | 13 ++-- ...micExpressionSplitterIntegrationTests.java | 11 ++-- .../SpelSplitterIntegrationTests.java | 2 + .../support/MessageScenariosTests.java | 8 ++- .../support/SingleScenarioTests.java | 10 ++- .../MicrometerCustomMetricsTests.java | 4 +- .../MutableMessageBuilderFactoryTests.java | 13 ++-- .../TransactionInterceptorBuilderTests.java | 9 +-- .../integration/transformer/AvroTests.java | 4 +- ...ressionHeaderEnricherIntegrationTests.java | 11 ++-- ...ExpressionTransformerIntegrationTests.java | 11 ++-- .../MessageHistoryParameterTests.java | 15 +++-- .../integration/transformer/ProtoTests.java | 5 +- .../SpelHeaderEnricherIntegrationTests.java | 13 ++-- .../transformer/TransformerContextTests.java | 4 +- .../AbstractRequestResponseScenarioTests.java | 4 +- 67 files changed, 415 insertions(+), 422 deletions(-) rename spring-integration-core/src/test/java/org/springframework/integration/dispatcher/{TransactionalPollerWithMixedAopConfig-context.xml => TransactionalPollerWithMixedAopConfigTests-context.xml} (100%) rename spring-integration-core/src/test/java/org/springframework/integration/dispatcher/{unicasting-with-async.xml => UnicastingDispatcherTests-context.xml} (100%) rename spring-integration-core/src/test/java/org/springframework/integration/gateway/{GatewayWithHeaderAnnotations-context.xml => GatewayWithHeaderAnnotationsTests-context.xml} (93%) rename spring-integration-core/src/test/java/org/springframework/integration/gateway/{GatewayWithHeaderAnnotations.java => GatewayWithHeaderAnnotationsTests.java} (83%) diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AggregatorExpressionIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AggregatorExpressionIntegrationTests.java index cb304e7b2c..037ca81372 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AggregatorExpressionIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AggregatorExpressionIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -19,8 +19,7 @@ package org.springframework.integration.aggregator.integration; import java.util.HashMap; import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -28,8 +27,8 @@ import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -39,8 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky * @author Artem Bilan */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig +@DirtiesContext public class AggregatorExpressionIntegrationTests { @Autowired @@ -51,7 +50,7 @@ public class AggregatorExpressionIntegrationTests { @Qualifier("output") private PollableChannel output; - @Test//(timeout=5000) + @Test public void testVanillaAggregation() { for (int i = 0; i < 5; i++) { Map headers = stubHeaders(i, 5, 1); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AnnotationAggregatorTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AnnotationAggregatorTests.java index 9010b6f1b8..425b546684 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AnnotationAggregatorTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/AnnotationAggregatorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -38,6 +38,7 @@ import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -47,6 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan */ @SpringJUnitConfig(classes = AnnotationAggregatorTests.TestConfiguration.class) +@DirtiesContext public class AnnotationAggregatorTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/MethodInvokingAggregatorReturningMessageTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/MethodInvokingAggregatorReturningMessageTests.java index 8d23f207c3..2b122949f0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/MethodInvokingAggregatorReturningMessageTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/MethodInvokingAggregatorReturningMessageTests.java @@ -19,16 +19,15 @@ package org.springframework.integration.aggregator.integration; import java.util.Collections; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -36,8 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class MethodInvokingAggregatorReturningMessageTests { @Autowired @@ -52,7 +51,7 @@ public class MethodInvokingAggregatorReturningMessageTests { @Autowired PollableChannel defaultOutput; - @Test // INT-1107 + @Test public void messageReturningPojoAggregatorResultIsNotWrappedInAnotherMessage() { List payload = Collections.singletonList("test"); this.pojoInput.send(MessageBuilder.withPayload(payload).build()); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java index 5a486989ae..6935ada554 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.aggregator.integration; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; @@ -31,8 +30,7 @@ import org.springframework.integration.test.util.TestUtils; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -41,8 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author David Liu * @author Artem Bilan */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig @DirtiesContext public class ResequencerIntegrationTests { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfig-context.xml b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests-context.xml similarity index 100% rename from spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfig-context.xml rename to spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests-context.xml diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests.java index d0d6cffdca..e0cffc95f0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/TransactionalPollerWithMixedAopConfigTests.java @@ -16,32 +16,37 @@ package org.springframework.integration.dispatcher; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.aop.framework.Advised; -import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** + * This test was influenced by INT-1483 where via registering TX Advisor + * in the BeanFactory while having resent resulted in + * TX Advisor being applied on all beans in AC + * * @author Oleg Zhurakousky * @author Gunnar Hillert * @author Gary Russell - * - * This test was influenced by INT-1483 where by registering TX Advisor - * in the BeanFactory while having resent resulted in - * TX Advisor being applied on all beans in AC + * @author Artem Bilan */ +@SpringJUnitConfig +@DirtiesContext public class TransactionalPollerWithMixedAopConfigTests { + @Autowired + ApplicationContext applicationContext; + @Test public void validateTransactionalProxyIsolationToThePollerOnly() { - ClassPathXmlApplicationContext context = - new ClassPathXmlApplicationContext("TransactionalPollerWithMixedAopConfig-context.xml", this.getClass()); - - assertThat(!(context.getBean("foo") instanceof Advised)).isTrue(); - assertThat(!(context.getBean("inputChannel") instanceof Advised)).isTrue(); - context.close(); + assertThat(this.applicationContext.getBean("foo")).isNotInstanceOf(Advised.class); + assertThat(applicationContext.getBean("inputChannel")).isNotInstanceOf(Advised.class); } public static class SampleService { @@ -58,9 +63,4 @@ public class TransactionalPollerWithMixedAopConfigTests { } -// public static class SampleAdvice implements MethodInterceptor{ -// public Object invoke(MethodInvocation invocation) throws Throwable { -// return invocation.proceed(); -// } -// } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/unicasting-with-async.xml b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests-context.xml similarity index 100% rename from spring-integration-core/src/test/java/org/springframework/integration/dispatcher/unicasting-with-async.xml rename to spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests-context.xml diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests.java index 11fccac7e5..1b9a875048 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/UnicastingDispatcherTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -16,9 +16,10 @@ package org.springframework.integration.dispatcher; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.integration.gateway.RequestReplyExchanger; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; @@ -26,6 +27,8 @@ import org.springframework.messaging.MessageDeliveryException; import org.springframework.messaging.MessageHandler; import org.springframework.messaging.SubscribableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,26 +36,28 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky * @author Gunnar Hillert * @author Gary Russell - * + * @author Artem Bilan */ +@SpringJUnitConfig +@DirtiesContext public class UnicastingDispatcherTests { - @SuppressWarnings("unchecked") + @Autowired + ApplicationContext applicationContext; + @Test - public void withInboundGatewayAsyncRequestChannelAndExplicitErrorChannel() throws Exception { - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("unicasting-with-async.xml", this.getClass()); - SubscribableChannel errorChannel = context.getBean("errorChannel", SubscribableChannel.class); + public void withInboundGatewayAsyncRequestChannelAndExplicitErrorChannel() { + SubscribableChannel errorChannel = this.applicationContext.getBean("errorChannel", SubscribableChannel.class); MessageHandler errorHandler = message -> { MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); assertThat(message.getPayload() instanceof MessageDeliveryException).isTrue(); - replyChannel.send(new GenericMessage("reply")); + replyChannel.send(new GenericMessage<>("reply")); }; errorChannel.subscribe(errorHandler); - RequestReplyExchanger exchanger = context.getBean(RequestReplyExchanger.class); - Message reply = (Message) exchanger.exchange(new GenericMessage("Hello")); + RequestReplyExchanger exchanger = this.applicationContext.getBean(RequestReplyExchanger.class); + Message reply = exchanger.exchange(new GenericMessage<>("Hello")); assertThat(reply.getPayload()).isEqualTo("reply"); - context.close(); } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dsl/LambdaMessageProcessorTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dsl/LambdaMessageProcessorTests.java index df1027b244..150982d837 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dsl/LambdaMessageProcessorTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dsl/LambdaMessageProcessorTests.java @@ -35,6 +35,7 @@ import org.springframework.integration.core.GenericTransformer; import org.springframework.integration.handler.LambdaMessageProcessor; import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -47,6 +48,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; * @since 5.0 */ @SpringJUnitConfig +@DirtiesContext public class LambdaMessageProcessorTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dsl/lifecycle/IntegrationComponentSpecLifecycleTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dsl/lifecycle/IntegrationComponentSpecLifecycleTests.java index bbeb9e79c6..a83677bfeb 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dsl/lifecycle/IntegrationComponentSpecLifecycleTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dsl/lifecycle/IntegrationComponentSpecLifecycleTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2018-2022 the original author or authors. + * Copyright 2018-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.dsl.lifecycle; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanClassLoaderAware; @@ -42,7 +41,7 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.dsl.IntegrationComponentSpec; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.util.StringValueResolver; import static org.assertj.core.api.Assertions.assertThat; @@ -52,7 +51,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 5.0.7 */ -@RunWith(SpringRunner.class) +@SpringJUnitConfig @DirtiesContext public class IntegrationComponentSpecLifecycleTests { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dsl/publishsubscribe/PublishSubscribeTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dsl/publishsubscribe/PublishSubscribeTests.java index 579a558e54..d5b0e951b1 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dsl/publishsubscribe/PublishSubscribeTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dsl/publishsubscribe/PublishSubscribeTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2022 the original author or authors. + * Copyright 2017-2024 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. @@ -20,8 +20,7 @@ import java.util.LinkedList; import java.util.List; import java.util.function.Consumer; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -34,7 +33,8 @@ import org.springframework.integration.dsl.context.IntegrationFlowContext.Integr import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHandler; import org.springframework.messaging.support.GenericMessage; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -44,7 +44,8 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 5.0 */ -@RunWith(SpringRunner.class) +@SpringJUnitConfig +@DirtiesContext public class PublishSubscribeTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dsl/routers/NoFallbackAllowedTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dsl/routers/NoFallbackAllowedTests.java index 045a0db8ba..4c30e69271 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dsl/routers/NoFallbackAllowedTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dsl/routers/NoFallbackAllowedTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019-2022 the original author or authors. + * Copyright 2019-2024 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. @@ -27,6 +27,7 @@ import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.dsl.IntegrationFlow; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -39,6 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; * */ @SpringJUnitConfig +@DirtiesContext public class NoFallbackAllowedTests { @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/MessageProducerSupportTests.java b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/MessageProducerSupportTests.java index 7670af9351..c648f960da 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/MessageProducerSupportTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/MessageProducerSupportTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -19,8 +19,8 @@ package org.springframework.integration.endpoint; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.channel.PublishSubscribeChannel; @@ -33,6 +33,7 @@ import org.springframework.messaging.support.ErrorMessage; import org.springframework.messaging.support.GenericMessage; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Oleg Zhurakousky @@ -45,14 +46,14 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class MessageProducerSupportTests { - private TestApplicationContext context = TestUtils.createTestApplicationContext(); + private final TestApplicationContext context = TestUtils.createTestApplicationContext(); - @After + @AfterEach public void tearDown() { this.context.close(); } - @Test(expected = MessageDeliveryException.class) + @Test public void validateExceptionIfNoErrorChannel() { DirectChannel outChannel = new DirectChannel(); @@ -66,10 +67,11 @@ public class MessageProducerSupportTests { mps.setBeanFactory(this.context); mps.afterPropertiesSet(); mps.start(); - mps.sendMessage(new GenericMessage<>("hello")); + assertThatExceptionOfType(MessageDeliveryException.class) + .isThrownBy(() -> mps.sendMessage(new GenericMessage<>("hello"))); } - @Test(expected = MessageDeliveryException.class) + @Test public void validateExceptionIfSendToErrorChannelFails() { DirectChannel outChannel = new DirectChannel(); outChannel.subscribe(message -> { @@ -87,7 +89,8 @@ public class MessageProducerSupportTests { mps.setBeanFactory(this.context); mps.afterPropertiesSet(); mps.start(); - mps.sendMessage(new GenericMessage<>("hello")); + assertThatExceptionOfType(MessageDeliveryException.class) + .isThrownBy(() -> mps.sendMessage(new GenericMessage<>("hello"))); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ProducerAndConsumerAutoStartupTests.java b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ProducerAndConsumerAutoStartupTests.java index 054162439b..ab0efdf7ec 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ProducerAndConsumerAutoStartupTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ProducerAndConsumerAutoStartupTests.java @@ -23,13 +23,12 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -40,7 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 2.0 */ -@RunWith(SpringRunner.class) +@SpringJUnitConfig @DirtiesContext public class ProducerAndConsumerAutoStartupTests { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/expression/ForeignClassloaderTests.java b/spring-integration-core/src/test/java/org/springframework/integration/expression/ForeignClassloaderTests.java index 1c17d9e85a..e3e1667e77 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/expression/ForeignClassloaderTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/expression/ForeignClassloaderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2022 the original author or authors. + * Copyright 2014-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.expression; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -25,8 +24,7 @@ import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -35,8 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 3.0.2 * */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig @DirtiesContext public class ForeignClassloaderTests { @@ -54,7 +51,7 @@ public class ForeignClassloaderTests { public void testThreadHasWrongClassLoader() { Thread t = new Thread(() -> { try { - foo.send(new GenericMessage("foo")); + foo.send(new GenericMessage<>("foo")); } catch (Exception e) { e.printStackTrace(); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/filter/DynamicExpressionFilterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/filter/DynamicExpressionFilterIntegrationTests.java index 274e6b4b68..369795d75b 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/filter/DynamicExpressionFilterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/filter/DynamicExpressionFilterIntegrationTests.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -31,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan */ @SpringJUnitConfig +@DirtiesContext public class DynamicExpressionFilterIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/filter/FilterContextTests.java b/spring-integration-core/src/test/java/org/springframework/integration/filter/FilterContextTests.java index d4f6a9ef44..4e59a43149 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/filter/FilterContextTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/filter/FilterContextTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.filter; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.endpoint.AbstractEndpoint; @@ -25,8 +24,8 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -34,8 +33,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class FilterContextTests { @Autowired @@ -52,7 +51,7 @@ public class FilterContextTests { @Test public void methodInvokingFilterRejects() { - this.input.send(new GenericMessage("foo")); + this.input.send(new GenericMessage<>("foo")); Message reply = this.output.receive(0); assertThat(reply).isNull(); @@ -65,7 +64,7 @@ public class FilterContextTests { @Test public void methodInvokingFilterAccepts() { - this.input.send(new GenericMessage("foobar")); + this.input.send(new GenericMessage<>("foobar")); Message reply = this.output.receive(0); assertThat(reply.getPayload()).isEqualTo("foobar"); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/filter/SpelFilterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/filter/SpelFilterIntegrationTests.java index 3cc0a44913..a0cc882b55 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/filter/SpelFilterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/filter/SpelFilterIntegrationTests.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -31,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan */ @SpringJUnitConfig +@DirtiesContext public class SpelFilterIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInvokingMessageHandlerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInvokingMessageHandlerTests.java index b027786ee1..914e814664 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInvokingMessageHandlerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInvokingMessageHandlerTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -28,19 +27,19 @@ import org.springframework.messaging.SubscribableChannel; import org.springframework.messaging.support.GenericMessage; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Oleg Zhurakousky * @author Gunnar Hillert + * @author Artem Bilan + * * @since 2.0 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public class GatewayInvokingMessageHandlerTests { @@ -95,21 +94,14 @@ public class GatewayInvokingMessageHandlerTests { assertThat(result).isNotNull(); assertThat(result).isEqualTo("Error happened in message: echoWithRuntimeExceptionChannel"); - try { - gatewayWithError.process("echoWithRuntimeExceptionChannel"); - fail("SampleRuntimeException expected"); - } - catch (SampleRuntimeException e) { - assertThat(e.getMessage()).isEqualTo("echoWithRuntimeExceptionChannel"); - } + assertThatExceptionOfType(SampleRuntimeException.class) + .isThrownBy(() -> gatewayWithError.process("echoWithRuntimeExceptionChannel")) + .withMessage("echoWithRuntimeExceptionChannel"); - try { - gatewayWithError.process("echoWithMessagingExceptionChannel"); - fail("MessageHandlingException expected"); - } - catch (MessageHandlingException e) { - assertThat(e.getFailedMessage().getPayload()).isEqualTo("echoWithMessagingExceptionChannel"); - } + assertThatExceptionOfType(MessageHandlingException.class) + .isThrownBy(() -> gatewayWithError.process("echoWithMessagingExceptionChannel")) + .extracting("failedMessage.payload") + .isEqualTo("echoWithMessagingExceptionChannel"); result = gatewayWithErrorChannelAndTransformer.process("echoWithMessagingExceptionChannel"); assertThat(result).isNotNull(); @@ -118,13 +110,8 @@ public class GatewayInvokingMessageHandlerTests { @Test public void validateGatewayWithErrorAsync() { - try { - gatewayWithErrorAsync.process("echoWithErrorAsyncChannel"); - fail("SampleRuntimeException expected"); - } - catch (Exception e) { - assertThat(e.getClass()).isEqualTo(SampleRuntimeException.class); - } + assertThatExceptionOfType(SampleRuntimeException.class) + .isThrownBy(() -> gatewayWithErrorAsync.process("echoWithErrorAsyncChannel")); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayRequiresReplyTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayRequiresReplyTests.java index 55fc8020db..08e8dbe84c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayRequiresReplyTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayRequiresReplyTests.java @@ -16,16 +16,16 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.integration.handler.ReplyRequiredException; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Mark Fisher @@ -34,8 +34,8 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 2.0 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class GatewayRequiresReplyTests { @Autowired @@ -48,10 +48,11 @@ public class GatewayRequiresReplyTests { assertThat(result).isEqualTo("bar"); } - @Test(expected = ReplyRequiredException.class) + @Test public void noReplyReceived() { TestService gateway = this.applicationContext.getBean("gateway", TestService.class); - gateway.test("bad"); + assertThatExceptionOfType(ReplyRequiredException.class) + .isThrownBy(() -> gateway.test("bad")); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations-context.xml b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests-context.xml similarity index 93% rename from spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations-context.xml rename to spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests-context.xml index db4344cff1..b91730cb08 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations-context.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests-context.xml @@ -9,7 +9,7 @@ + service-interface="org.springframework.integration.gateway.GatewayWithHeaderAnnotationsTests$TestService" /> diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests.java similarity index 83% rename from spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations.java rename to spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests.java index 4a6b39911f..f7399e4048 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotations.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithHeaderAnnotationsTests.java @@ -16,31 +16,32 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.messaging.handler.annotation.Header; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Mark Fisher * @author Gary Russell + * @author Artem Bilan + * * @since 2.0 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) -public class GatewayWithHeaderAnnotations { +@SpringJUnitConfig +@DirtiesContext +public class GatewayWithHeaderAnnotationsTests { @Autowired private ApplicationContext applicationContext; - @Test // INT-1205 + @Test public void priorityAsArgument() { TestService gateway = (TestService) applicationContext.getBean("gateway"); String result = gateway.test("foo", 99, "bar", "qux"); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithPayloadExpressionTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithPayloadExpressionTests.java index 102398cea9..974476a3c9 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithPayloadExpressionTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayWithPayloadExpressionTests.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.handler.annotation.Payload; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -34,6 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 2.0 */ @SpringJUnitConfig +@DirtiesContext public class GatewayWithPayloadExpressionTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayXmlAndAnnotationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayXmlAndAnnotationTests.java index 527e51965d..8ee5204c4f 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayXmlAndAnnotationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayXmlAndAnnotationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 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. @@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.expression.Expression; import org.springframework.integration.annotation.Gateway; import org.springframework.integration.test.util.TestUtils; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -38,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; * */ @SpringJUnitConfig +@DirtiesContext public class GatewayXmlAndAnnotationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/HeaderEnrichedGatewayTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/HeaderEnrichedGatewayTests.java index fcf3cf96ec..beeeba1b56 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/HeaderEnrichedGatewayTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/HeaderEnrichedGatewayTests.java @@ -16,15 +16,14 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.handler.annotation.Header; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -32,10 +31,12 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky * @author Mark Fisher * @author Gunnar Hillert + * @author Artem Bilan + * * @since 2.0 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig +@DirtiesContext public class HeaderEnrichedGatewayTests { @Autowired @@ -50,7 +51,7 @@ public class HeaderEnrichedGatewayTests { private Object testPayload; @Test - public void validateHeaderValueMappings() throws Exception { + public void validateHeaderValueMappings() { testPayload = "hello"; gatewayWithHeaderValues.sendString((String) testPayload); Message message1 = channel.receive(0); @@ -77,7 +78,7 @@ public class HeaderEnrichedGatewayTests { } @Test - public void validateHeaderExpressionMappings() throws Exception { + public void validateHeaderExpressionMappings() { testPayload = "hello"; gatewayWithHeaderExpressions.sendString((String) testPayload); Message message1 = channel.receive(0); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/InnerGatewayWithChainTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/InnerGatewayWithChainTests.java index f46d6c3cac..1912c666ec 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/InnerGatewayWithChainTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/InnerGatewayWithChainTests.java @@ -19,16 +19,16 @@ package org.springframework.integration.gateway; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.endpoint.SourcePollingChannelAdapter; import org.springframework.messaging.SubscribableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Oleg Zhurakousky @@ -36,8 +36,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan * */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class InnerGatewayWithChainTests { @Autowired @@ -79,10 +79,11 @@ public class InnerGatewayWithChainTests { assertThat(reply).isEqualTo("ERROR from errorChannelB"); } - // if no error channels explicitly defined exception is rethrown - @Test(expected = ArithmeticException.class) + // If no error channels explicitly defined exception is rethrown + @Test public void testGatewaysNoErrorChannel() { - testGatewayWithNoErrorChannelAAA.echo(0); + assertThatExceptionOfType(ArithmeticException.class) + .isThrownBy(() -> testGatewayWithNoErrorChannelAAA.echo(0)); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultiMethodGatewayConfigTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultiMethodGatewayConfigTests.java index 563b20f0e7..ea775f9743 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultiMethodGatewayConfigTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultiMethodGatewayConfigTests.java @@ -16,13 +16,12 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 2.0 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class MultiMethodGatewayConfigTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultipleEndpointGatewayTests.java b/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultipleEndpointGatewayTests.java index 9633778028..ab1861b5dc 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultipleEndpointGatewayTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/gateway/MultipleEndpointGatewayTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2024 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. @@ -16,22 +16,22 @@ package org.springframework.integration.gateway; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; /** * @author Oleg Zhurakousky * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class MultipleEndpointGatewayTests { @Autowired @@ -44,20 +44,17 @@ public class MultipleEndpointGatewayTests { @Test public void gatewayNoDefaultReplyChannel() { - gatewayA.echo("echoAsMessageChannel"); - // there is nothing to assert. Successful execution of the above is all we care in this test + Assertions.assertThatNoException().isThrownBy(() -> gatewayA.echo("echoAsMessageChannel")); } @Test public void gatewayWithDefaultReplyChannel() { - gatewayB.echo("echoAsMessageChannelIgnoreDefOutChannel"); - // there is nothing to assert. Successful execution of the above is all we care in this test + Assertions.assertThatNoException().isThrownBy(() -> gatewayB.echo("echoAsMessageChannelIgnoreDefOutChannel")); } @Test public void gatewayWithReplySentBackToDefaultReplyChannel() { - gatewayB.echo("echoAsMessageChannelDefaultOutputChannel"); - // there is nothing to assert. Successful execution of the above is all we care in this test + Assertions.assertThatNoException().isThrownBy(() -> gatewayB.echo("echoAsMessageChannelDefaultOutputChannel")); } public interface SampleGateway { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/CGLibProxyHandlerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/CGLibProxyHandlerTests.java index 8685b4d7b8..79f3edd763 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/CGLibProxyHandlerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/CGLibProxyHandlerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2022 the original author or authors. + * Copyright 2017-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.handler; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.aop.framework.ProxyFactoryBean; import org.springframework.aop.support.AopUtils; @@ -30,16 +29,20 @@ import org.springframework.integration.history.MessageHistory; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHandler; import org.springframework.messaging.support.GenericMessage; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Gary Russell + * @author Artem Bilan + * * @since 4.3.10 * */ -@RunWith(SpringRunner.class) +@SpringJUnitConfig +@DirtiesContext public class CGLibProxyHandlerTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/CustomConverterMessageProcessingTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/CustomConverterMessageProcessingTests.java index 7ab87d237e..b91622d154 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/CustomConverterMessageProcessingTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/CustomConverterMessageProcessingTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.handler; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -27,18 +26,19 @@ import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Mark Fisher * @author Artem Bilan + * * @since 2.0 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class CustomConverterMessageProcessingTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests-context.xml b/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests-context.xml index a146c41371..fa2fd86fc0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests-context.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests-context.xml @@ -7,6 +7,6 @@ http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd"> - + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests.java index 1453a99d56..c433a8a84a 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/LoggingHandlerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -25,6 +25,7 @@ import org.mockito.ArgumentMatchers; import org.springframework.beans.DirectFieldAccessor; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.log.LogAccessor; import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; @@ -35,10 +36,10 @@ import org.springframework.integration.test.util.TestUtils; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -55,39 +56,45 @@ import static org.mockito.Mockito.when; * @since 2.0 */ @SpringJUnitConfig +@DirtiesContext @LogLevels(categories = "test.logging.handler") public class LoggingHandlerTests { + @Autowired + @Qualifier("input.handler") + LoggingHandler loggingHandler; + @Autowired MessageChannel input; @Test public void logWithExpression() { + DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler); + LogAccessor log = (LogAccessor) accessor.getPropertyValue("messageLogger"); + log = spy(log); + accessor.setPropertyValue("messageLogger", log); + TestBean bean = new TestBean("test", 55); input.send(MessageBuilder.withPayload(bean).setHeader("foo", "bar").build()); + + verify(log) + .info(ArgumentMatchers.>argThat(logMessage -> + logMessage.get().equals("test:55"))); } @Test public void assertMutuallyExclusive() { LoggingHandler loggingHandler = new LoggingHandler("INFO"); - loggingHandler.setLogExpressionString("'foo'"); - try { - loggingHandler.setShouldLogFullMessage(true); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { - assertThat(e.getMessage()).isEqualTo("Cannot set both 'expression' AND 'shouldLogFullMessage' properties"); - } + loggingHandler.setLogExpressionString("'test'"); + assertThatIllegalArgumentException() + .isThrownBy(() -> loggingHandler.setShouldLogFullMessage(true)) + .withMessage("Cannot set both 'expression' AND 'shouldLogFullMessage' properties"); - loggingHandler = new LoggingHandler("INFO"); - loggingHandler.setShouldLogFullMessage(true); - try { - loggingHandler.setLogExpressionString("'foo'"); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException e) { - assertThat(e.getMessage()).isEqualTo("Cannot set both 'expression' AND 'shouldLogFullMessage' properties"); - } + LoggingHandler loggingHandler2 = new LoggingHandler("INFO"); + loggingHandler2.setShouldLogFullMessage(true); + assertThatIllegalArgumentException() + .isThrownBy(() -> loggingHandler2.setLogExpressionString("'test'")) + .withMessage("Cannot set both 'expression' AND 'shouldLogFullMessage' properties"); } @Test @@ -149,24 +156,7 @@ public class LoggingHandlerTests { logMessage.get().equals(testPayload))); } - public static class TestBean { - - private final String name; - - private final int age; - - public TestBean(String name, int age) { - this.name = name; - this.age = age; - } - - public String getName() { - return this.name; - } - - public int getAge() { - return this.age; - } + public record TestBean(String name, int age) { } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/MockHandlerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/MockHandlerTests.java index 35699c5d00..4646cebc6c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/MockHandlerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/MockHandlerTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.handler; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; @@ -26,8 +25,8 @@ import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -36,8 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class MockHandlerTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/SendTimeoutConfigurationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/SendTimeoutConfigurationTests.java index 20636ad927..53b48ca8ec 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/SendTimeoutConfigurationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/SendTimeoutConfigurationTests.java @@ -16,22 +16,22 @@ package org.springframework.integration.handler; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.integration.test.util.TestUtils; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Mark Fisher + * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class SendTimeoutConfigurationTests { @Autowired @@ -39,31 +39,31 @@ public class SendTimeoutConfigurationTests { @Test public void serviceActivator() { - assertThat(this.getTimeout("serviceActivator")).isEqualTo(123); + assertThat(getTimeout("serviceActivator")).isEqualTo(123); } @Test public void filter() { - assertThat(this.getTimeout("filter")).isEqualTo(123); + assertThat(getTimeout("filter")).isEqualTo(123); } @Test public void transformer() { - assertThat(this.getTimeout("transformer")).isEqualTo(123); + assertThat(getTimeout("transformer")).isEqualTo(123); } @Test public void splitter() { - assertThat(this.getTimeout("splitter")).isEqualTo(123); + assertThat(getTimeout("splitter")).isEqualTo(123); } @Test public void router() { - assertThat(this.getTimeout("router")).isEqualTo(123); + assertThat(getTimeout("router")).isEqualTo(123); } private long getTimeout(String endpointName) { - return TestUtils.getPropertyValue(context.getBean(endpointName), + return TestUtils.getPropertyValue(this.context.getBean(endpointName), "handler.messagingTemplate.sendTimeout", Long.class); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorDefaultFrameworkMethodTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorDefaultFrameworkMethodTests.java index 0e458da846..6946282df4 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorDefaultFrameworkMethodTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorDefaultFrameworkMethodTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -40,6 +40,7 @@ import org.springframework.messaging.MessageHandlingException; import org.springframework.messaging.MessagingException; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.ErrorMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -55,6 +56,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; * @since 2.0.1 */ @SpringJUnitConfig +@DirtiesContext public class ServiceActivatorDefaultFrameworkMethodTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorOnMockitoMockTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorOnMockitoMockTests.java index e2b6e4bb54..d6b4e3511c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorOnMockitoMockTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorOnMockitoMockTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.handler; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -26,8 +25,8 @@ import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.handler.annotation.Header; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.mockito.Mockito.verify; @@ -36,8 +35,8 @@ import static org.mockito.Mockito.verify; * @author Gunnar Hillert * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class ServiceActivatorOnMockitoMockTests { @Autowired @@ -83,14 +82,6 @@ public class ServiceActivatorOnMockitoMockTests { verify(singleMethodOnClass).move("SingleMethodOnClass"); } - public static class SingleMethodAcceptingHeaderOnClass { - - public String move(@Header("s") String s) { - return s; - } - - } - @Autowired SingleMethodAcceptingHeaderOnClass singleMethodAcceptingHeaderOnClass; @@ -102,4 +93,12 @@ public class ServiceActivatorOnMockitoMockTests { verify(singleMethodAcceptingHeaderOnClass).move("SingleMethodAcceptingHeaderOnClass"); } + public static class SingleMethodAcceptingHeaderOnClass { + + public String move(@Header("s") String s) { + return s; + } + + } + } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/ExpressionEvaluatingRequestHandlerAdviceTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/ExpressionEvaluatingRequestHandlerAdviceTests.java index babbace5a3..c6f181faff 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/ExpressionEvaluatingRequestHandlerAdviceTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/ExpressionEvaluatingRequestHandlerAdviceTests.java @@ -33,6 +33,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.support.ErrorMessage; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -45,6 +46,7 @@ import static org.assertj.core.api.Assertions.assertThat; * */ @SpringJUnitConfig +@DirtiesContext public class ExpressionEvaluatingRequestHandlerAdviceTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/IdempotentReceiverTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/IdempotentReceiverTests.java index 7f9bf77123..50e493a393 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/IdempotentReceiverTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/IdempotentReceiverTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2022 the original author or authors. + * Copyright 2014-2024 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. @@ -19,8 +19,7 @@ package org.springframework.integration.handler.advice; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.aop.framework.ProxyFactory; @@ -41,18 +40,17 @@ import org.springframework.messaging.MessageHandler; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; /** * @author Artem Bilan + * * @since 4.1 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig @DirtiesContext public class IdempotentReceiverTests { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/RateLimiterRequestHandlerAdviceTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/RateLimiterRequestHandlerAdviceTests.java index fad27d8c03..ee460e161a 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/RateLimiterRequestHandlerAdviceTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/RateLimiterRequestHandlerAdviceTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019-2022 the original author or authors. + * Copyright 2019-2024 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. @@ -35,6 +35,7 @@ import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessagingException; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -46,6 +47,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; * @since 5.2 */ @SpringJUnitConfig +@DirtiesContext public class RateLimiterRequestHandlerAdviceTests { private static final Duration REFRESH_PERIOD = Duration.ofMillis(500); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/SpelExpressionRetryStateGeneratorTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/SpelExpressionRetryStateGeneratorTests.java index ad33fda3fe..e83c43eb70 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/SpelExpressionRetryStateGeneratorTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/advice/SpelExpressionRetryStateGeneratorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -16,16 +16,15 @@ package org.springframework.integration.handler.advice; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.classify.ClassifierSupport; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.retry.RetryState; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -36,8 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 2.2 * */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class SpelExpressionRetryStateGeneratorTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/ContentTypeConversionTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/ContentTypeConversionTests.java index 9f9afd651d..3c133ab3cc 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/ContentTypeConversionTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/ContentTypeConversionTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 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. @@ -39,6 +39,7 @@ import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.handler.annotation.Payload; import org.springframework.messaging.support.ChannelInterceptor; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -49,6 +50,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 5.0 */ @SpringJUnitConfig +@DirtiesContext public class ContentTypeConversionTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonPathTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonPathTests.java index 51a09c3a2e..ca53cb5c9d 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonPathTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonPathTests.java @@ -45,6 +45,7 @@ import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.handler.annotation.Payload; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -57,6 +58,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; * @since 3.0 */ @SpringJUnitConfig(classes = JsonPathTests.JsonPathTestsContextConfiguration.class) +@DirtiesContext public class JsonPathTests { private static File JSON_FILE; @@ -72,7 +74,7 @@ public class JsonPathTests { Scanner scanner = new Scanner(JSON_FILE); JSON = scanner.useDelimiter("\\Z").next(); scanner.close(); - testMessage = new GenericMessage(JSON); + testMessage = new GenericMessage<>(JSON); } @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerParserTests.java index 93c8c218ef..b52aca572e 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -34,6 +34,7 @@ import org.springframework.integration.test.util.TestUtils; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHandler; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -48,6 +49,7 @@ import static org.mockito.Mockito.verify; * @since 2.0 */ @SpringJUnitConfig +@DirtiesContext public class JsonToObjectTransformerParserTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java index c324ac552f..135aa770e9 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java @@ -37,6 +37,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -50,6 +51,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @since 2.0 */ @SpringJUnitConfig +@DirtiesContext public class ObjectToJsonTransformerParserTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/DynamicExpressionRouterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/DynamicExpressionRouterIntegrationTests.java index d3de1a2fe3..1ed3434b3f 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/DynamicExpressionRouterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/DynamicExpressionRouterIntegrationTests.java @@ -16,16 +16,15 @@ package org.springframework.integration.router.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class DynamicExpressionRouterIntegrationTests { @Autowired @@ -68,17 +67,7 @@ public class DynamicExpressionRouterIntegrationTests { assertThat(even.receive(0)).isNull(); } - static class TestBean { - - private final int number; - - TestBean(int number) { - this.number = number; - } - - public int getNumber() { - return this.number; - } + record TestBean(int number) { } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterConvertibleTypeTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterConvertibleTypeTests.java index 24ad20315b..99d012419e 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterConvertibleTypeTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterConvertibleTypeTests.java @@ -16,16 +16,15 @@ package org.springframework.integration.router.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class HeaderValueRouterConvertibleTypeTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterParserTests.java index bbb231c5e4..16fb568e49 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/HeaderValueRouterParserTests.java @@ -16,16 +16,15 @@ package org.springframework.integration.router.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Oleg Zhurakousky * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class HeaderValueRouterParserTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/PayloadTypeRouterParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/PayloadTypeRouterParserTests.java index 4c2de95150..9b1c46621c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/PayloadTypeRouterParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/PayloadTypeRouterParserTests.java @@ -18,8 +18,7 @@ package org.springframework.integration.router.config; import java.io.ByteArrayInputStream; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanDefinitionStoreException; import org.springframework.beans.factory.annotation.Autowired; @@ -30,16 +29,18 @@ import org.springframework.core.io.InputStreamResource; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Oleg Zhurakousky + * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class PayloadTypeRouterParserTests { @Autowired @@ -63,47 +64,37 @@ public class PayloadTypeRouterParserTests { PollableChannel chanel2 = (PollableChannel) context.getBean("channel2"); PollableChannel chanel3 = (PollableChannel) context.getBean("channel3"); PollableChannel chanel4 = (PollableChannel) context.getBean("channel4"); - assertThat(chanel1.receive(100).getPayload() instanceof String).isTrue(); - assertThat(chanel2.receive(100).getPayload() instanceof Integer).isTrue(); + assertThat(chanel1.receive(100).getPayload()).isInstanceOf(String.class); + assertThat(chanel2.receive(100).getPayload()).isInstanceOf(Integer.class); assertThat(chanel3.receive(100).getPayload().getClass().isArray()).isTrue(); assertThat(chanel4.receive(100).getPayload().getClass().isArray()).isTrue(); } - @Test(expected = BeanDefinitionStoreException.class) + @Test public void testNoMappingElement() { - ByteArrayInputStream stream = new ByteArrayInputStream(routerConfigNoMaping.getBytes()); + ByteArrayInputStream stream = new ByteArrayInputStream(routerConfigNoMapping.getBytes()); GenericApplicationContext ac = new GenericApplicationContext(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(ac); reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD); - reader.loadBeanDefinitions(new InputStreamResource(stream)); + assertThatExceptionOfType(BeanDefinitionStoreException.class) + .isThrownBy(() -> reader.loadBeanDefinitions(new InputStreamResource(stream))); } - @SuppressWarnings("unused") - private final String routerConfigFakeType = - "" + - "" + - " " + - " " + - " " + - " " + - ""; + private static final String routerConfigNoMapping = + """ + + - private final String routerConfigNoMaping = - "" + - "" + - " " + - " " + - ""; + + + + """; public interface TestService { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java index 5187f9495e..50b8b615ad 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java @@ -40,6 +40,7 @@ import org.springframework.messaging.SubscribableChannel; import org.springframework.messaging.core.DestinationResolutionException; import org.springframework.messaging.core.DestinationResolver; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -55,6 +56,7 @@ import static org.mockito.Mockito.verify; * @author Artem Bilan */ @SpringJUnitConfig +@DirtiesContext public class RouterParserTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterWithMappingTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterWithMappingTests.java index 2b8b818976..47f2a2b271 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterWithMappingTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterWithMappingTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.router.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -28,17 +27,18 @@ import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Mark Fisher * @author Gary Russell + * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class RouterWithMappingTests { @Autowired @@ -125,17 +125,7 @@ public class RouterWithMappingTests { assertThat(this.testBean.isRunning()).isTrue(); } - private static class TestBean { - - private final String name; - - TestBean(String name) { - this.name = name; - } - - public String getName() { - return this.name; - } + private record TestBean(String name) { } @@ -145,7 +135,7 @@ public class RouterWithMappingTests { @SuppressWarnings("unused") public String route(TestBean bean) { - return bean.getName(); + return bean.name(); } @Override diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/SpelRouterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/SpelRouterIntegrationTests.java index 015ef90788..359a7e9714 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/SpelRouterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/SpelRouterIntegrationTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.router.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.channel.QueueChannel; @@ -25,8 +24,8 @@ import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -34,8 +33,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artme Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class SpelRouterIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/scattergather/config/ScatterGatherParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/scattergather/config/ScatterGatherParserTests.java index 4232a5ce98..e8d885e34b 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/scattergather/config/ScatterGatherParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/scattergather/config/ScatterGatherParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2022 the original author or authors. + * Copyright 2014-2024 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. @@ -18,8 +18,7 @@ package org.springframework.integration.scattergather.config; import java.util.Collection; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,8 +30,8 @@ import org.springframework.integration.router.RecipientListRouter; import org.springframework.integration.scattergather.ScatterGatherHandler; import org.springframework.integration.test.util.TestUtils; import org.springframework.messaging.MessageHandler; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -42,8 +41,8 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 4.1 */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class ScatterGatherParserTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/splitter/DynamicExpressionSplitterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/splitter/DynamicExpressionSplitterIntegrationTests.java index 1456afc32c..7e25b2f55d 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/splitter/DynamicExpressionSplitterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/splitter/DynamicExpressionSplitterIntegrationTests.java @@ -19,16 +19,15 @@ package org.springframework.integration.splitter; import java.util.ArrayList; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -36,8 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class DynamicExpressionSplitterIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java index 948f734467..c0f4d93a41 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java @@ -30,6 +30,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -40,6 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Gary Russell */ @SpringJUnitConfig +@DirtiesContext public class SpelSplitterIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/support/MessageScenariosTests.java b/spring-integration-core/src/test/java/org/springframework/integration/support/MessageScenariosTests.java index 7efb158ae0..d5120e4960 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/support/MessageScenariosTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/support/MessageScenariosTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -26,11 +26,17 @@ import org.springframework.integration.test.support.PayloadValidator; import org.springframework.integration.test.support.RequestResponseScenario; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; +/** + * @author Gary Russell + * @author Artem Bilan + */ @ContextConfiguration +@DirtiesContext public class MessageScenariosTests extends AbstractRequestResponseScenarioTests { @Override diff --git a/spring-integration-core/src/test/java/org/springframework/integration/support/SingleScenarioTests.java b/spring-integration-core/src/test/java/org/springframework/integration/support/SingleScenarioTests.java index c7478fa527..840e66dfcd 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/support/SingleScenarioTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/support/SingleScenarioTests.java @@ -19,16 +19,23 @@ package org.springframework.integration.support; import org.springframework.integration.test.support.PayloadValidator; import org.springframework.integration.test.support.RequestResponseScenario; import org.springframework.integration.test.support.SingleRequestResponseScenarioTests; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import static org.assertj.core.api.Assertions.assertThat; +/** + * @author David Turanski + * @author Mark Fisher + * @author Artem Bilan + */ @ContextConfiguration("MessageScenariosTests-context.xml") +@DirtiesContext public class SingleScenarioTests extends SingleRequestResponseScenarioTests { @Override protected RequestResponseScenario defineRequestResponseScenario() { - RequestResponseScenario scenario = new RequestResponseScenario( + return new RequestResponseScenario( "inputChannel", "outputChannel") .setPayload("hello") .setResponseValidator(new PayloadValidator() { @@ -38,7 +45,6 @@ public class SingleScenarioTests extends SingleRequestResponseScenarioTests { assertThat(response).isEqualTo("HELLO"); } }); - return scenario; } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java b/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java index 9292885e78..5f42efc7eb 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2018-2022 the original author or authors. + * Copyright 2018-2024 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. @@ -30,6 +30,7 @@ import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.config.EnableIntegrationManagement; import org.springframework.integration.support.management.metrics.MetricsCaptor; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; @@ -46,6 +47,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; */ @SpringJUnitConfig @TestExecutionListeners(DependencyInjectionTestExecutionListener.class) +@DirtiesContext public class MicrometerCustomMetricsTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/support/mutable/MutableMessageBuilderFactoryTests.java b/spring-integration-core/src/test/java/org/springframework/integration/support/mutable/MutableMessageBuilderFactoryTests.java index 86ac208291..8cc4032ed3 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/support/mutable/MutableMessageBuilderFactoryTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/support/mutable/MutableMessageBuilderFactoryTests.java @@ -19,8 +19,7 @@ package org.springframework.integration.support.mutable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -36,17 +35,19 @@ import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.support.MutableMessageBuilderFactory; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.handler.annotation.Payload; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Stuart Williams + * @author Artem Bilan + * * @since 4.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig +@DirtiesContext public class MutableMessageBuilderFactoryTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transaction/TransactionInterceptorBuilderTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transaction/TransactionInterceptorBuilderTests.java index c52ab7b754..017c81a314 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transaction/TransactionInterceptorBuilderTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transaction/TransactionInterceptorBuilderTests.java @@ -16,13 +16,13 @@ package org.springframework.integration.transaction; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionManager; import org.springframework.transaction.annotation.Isolation; @@ -38,7 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat; * * @since 5.0 */ -@RunWith(SpringRunner.class) +@SpringJUnitConfig +@DirtiesContext public class TransactionInterceptorBuilderTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/AvroTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/AvroTests.java index b2778d1fc6..a4b9f21846 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/AvroTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/AvroTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2019-2022 the original author or authors. + * Copyright 2019-2024 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. @@ -34,6 +34,7 @@ import org.springframework.integration.transformer.support.AvroHeaders; import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -47,6 +48,7 @@ import static org.mockito.Mockito.verify; * */ @SpringJUnitConfig +@DirtiesContext @LogLevels(categories = "foo", level = "DEBUG") public class AvroTests { diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionHeaderEnricherIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionHeaderEnricherIntegrationTests.java index fcead3b75e..8b333ccb4d 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionHeaderEnricherIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionHeaderEnricherIntegrationTests.java @@ -16,16 +16,15 @@ package org.springframework.integration.transformer; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class DynamicExpressionHeaderEnricherIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionTransformerIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionTransformerIntegrationTests.java index c352f1b8b9..81f846e2cf 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionTransformerIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/DynamicExpressionTransformerIntegrationTests.java @@ -16,16 +16,15 @@ package org.springframework.integration.transformer; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -33,8 +32,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Fisher * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class DynamicExpressionTransformerIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/MessageHistoryParameterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/MessageHistoryParameterTests.java index fc262ba2af..37c2d74790 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/MessageHistoryParameterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/MessageHistoryParameterTests.java @@ -16,8 +16,7 @@ package org.springframework.integration.transformer; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.annotation.Transformer; @@ -29,18 +28,20 @@ import org.springframework.messaging.handler.annotation.Header; import org.springframework.messaging.handler.annotation.Headers; import org.springframework.messaging.handler.annotation.Payload; import org.springframework.messaging.support.GenericMessage; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; /** * @author Gary Russell + * @author Artem Bilan + * * @since 2.2 * */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class MessageHistoryParameterTests { @Autowired @@ -51,7 +52,7 @@ public class MessageHistoryParameterTests { @Test public void test() { - input.send(new GenericMessage("foo")); + input.send(new GenericMessage<>("foo")); assertThat(output.receive(10000)).isNotNull(); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/ProtoTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/ProtoTests.java index 2ade213c76..c5fdac0092 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/ProtoTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/ProtoTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 the original author or authors. + * Copyright 2023-2024 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. @@ -34,6 +34,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -41,10 +42,12 @@ import static org.assertj.core.api.Assertions.assertThat; /** * * @author Christian Tzolov + * @author Artem Bilan * * @since 6.1 */ @SpringJUnitConfig +@DirtiesContext public class ProtoTests { @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/SpelHeaderEnricherIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/SpelHeaderEnricherIntegrationTests.java index 1689e7c283..60c09c5879 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/SpelHeaderEnricherIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/SpelHeaderEnricherIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -16,8 +16,7 @@ package org.springframework.integration.transformer; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -25,8 +24,8 @@ import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -35,8 +34,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author David Turanski * @author Artem Bilan */ -@ContextConfiguration -@RunWith(SpringJUnit4ClassRunner.class) +@SpringJUnitConfig +@DirtiesContext public class SpelHeaderEnricherIntegrationTests { @Autowired diff --git a/spring-integration-core/src/test/java/org/springframework/integration/transformer/TransformerContextTests.java b/spring-integration-core/src/test/java/org/springframework/integration/transformer/TransformerContextTests.java index 6201bd24ff..d64480ae94 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/transformer/TransformerContextTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/transformer/TransformerContextTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -27,6 +27,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.GenericMessage; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; @@ -39,6 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan */ @SpringJUnitConfig +@DirtiesContext public class TransformerContextTests { private static volatile int adviceCalled; diff --git a/spring-integration-test-support/src/main/java/org/springframework/integration/test/support/AbstractRequestResponseScenarioTests.java b/spring-integration-test-support/src/main/java/org/springframework/integration/test/support/AbstractRequestResponseScenarioTests.java index efceadd475..c777d4c976 100644 --- a/spring-integration-test-support/src/main/java/org/springframework/integration/test/support/AbstractRequestResponseScenarioTests.java +++ b/spring-integration-test-support/src/main/java/org/springframework/integration/test/support/AbstractRequestResponseScenarioTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 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. @@ -28,6 +28,7 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.SubscribableChannel; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.assertj.core.api.Assertions.assertThat; @@ -48,6 +49,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Artem Bilan */ @RunWith(SpringJUnit4ClassRunner.class) +@DirtiesContext public abstract class AbstractRequestResponseScenarioTests { private List scenarios = null;