Migrate few modules to Junit Jupiter

including: `spring-integration-amqp`, `spring-integration-file`, 'spring-integration-groovy'

Signed-off-by: Jiandong Ma <jiandong.ma.cn@gmail.com>
This commit is contained in:
Jiandong
2025-05-20 22:40:20 +08:00
committed by GitHub
parent 0a40073305
commit 5bdf35a7d9
72 changed files with 433 additions and 496 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2023 the original author or authors.
* Copyright 2014-2025 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.
@@ -22,10 +22,8 @@ import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import org.junit.After;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.core.MessageListener;
@@ -33,7 +31,8 @@ import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.junit.BrokerRunning;
import org.springframework.amqp.rabbit.junit.RabbitAvailable;
import org.springframework.amqp.rabbit.junit.RabbitAvailableCondition;
import org.springframework.amqp.rabbit.listener.BlockingQueueConsumer;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.support.converter.MessageConversionException;
@@ -49,8 +48,7 @@ import org.springframework.messaging.PollableChannel;
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.assertThatExceptionOfType;
@@ -65,15 +63,11 @@ import static org.mockito.Mockito.mock;
* @since 4.0
*
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@RabbitAvailable(queues = {"pollableWithEP", "withEP", "testConvertFail"})
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public class ChannelTests {
@ClassRule
public static final BrokerRunning brokerIsRunning =
BrokerRunning.isRunningWithEmptyQueues("pollableWithEP", "withEP", "testConvertFail");
@Autowired
private PublishSubscribeAmqpChannel channel;
@@ -98,10 +92,10 @@ public class ChannelTests {
@Autowired
private AmqpHeaderMapper mapperOut;
@After
@AfterEach
public void tearDown() {
brokerIsRunning.deleteExchanges("si.fanout.foo", "si.fanout.channel", "si.fanout.pubSubWithEP");
brokerIsRunning.removeTestQueues();
RabbitAvailableCondition.getBrokerRunning().deleteExchanges("si.fanout.foo", "si.fanout.channel", "si.fanout.pubSubWithEP");
RabbitAvailableCondition.getBrokerRunning().removeTestQueues();
}
@Test

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.amqp.config;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer;
@@ -35,8 +34,7 @@ import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.ChannelInterceptor;
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;
@@ -45,8 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gary Russell
* @since 2.1
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class AmqpChannelParserTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.lang.reflect.Field;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.amqp.core.MessageDeliveryMode;
@@ -42,7 +41,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.junit4.SpringRunner;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.util.ReflectionUtils;
import static org.assertj.core.api.Assertions.assertThat;
@@ -57,7 +56,7 @@ import static org.mockito.ArgumentMatchers.isNull;
* @since 2.1
*
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class AmqpOutboundGatewayParserTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,19 +16,16 @@
package org.springframework.integration.amqp.config;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.junit.BrokerRunning;
import org.springframework.amqp.rabbit.junit.RabbitAvailable;
import org.springframework.beans.factory.annotation.Autowired;
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.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,14 +35,11 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gary Russell
* @since 2.1
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@RabbitAvailable
@DirtiesContext
public class OutboundGatewayIntegrationTests {
@ClassRule
public static final BrokerRunning brokerIsRunning = BrokerRunning.isRunning();
@Autowired
private MessageChannel toRabbit;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2018-2022 the original author or authors.
* Copyright 2018-2025 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,7 +25,7 @@ import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Envelope;
import com.rabbitmq.client.GetResponse;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.batch.MessageBatch;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2022 the original author or authors.
* Copyright 2014-2025 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.
@@ -17,9 +17,7 @@
package org.springframework.integration.amqp.inbound;
import com.rabbitmq.client.Channel;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.AcknowledgeMode;
import org.springframework.amqp.core.AnonymousQueue;
@@ -27,7 +25,7 @@ import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.junit.BrokerRunning;
import org.springframework.amqp.rabbit.junit.RabbitAvailable;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.BeanFactory;
@@ -35,7 +33,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.amqp.inbound.ManualAckTests.ManualAckConfig;
import org.springframework.integration.annotation.MessageEndpoint;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.integration.channel.QueueChannel;
@@ -46,8 +43,7 @@ import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.handler.annotation.Header;
import org.springframework.messaging.handler.annotation.Payload;
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.mockito.Mockito.mock;
@@ -57,14 +53,11 @@ import static org.mockito.Mockito.mock;
* @since 4.0
*
*/
@ContextConfiguration(classes = ManualAckConfig.class)
@RunWith(SpringJUnit4ClassRunner.class)
@RabbitAvailable
@SpringJUnitConfig
@DirtiesContext
public class ManualAckTests {
@Rule
public BrokerRunning brokerRunning = BrokerRunning.isRunning();
@Autowired
private MessageChannel foo;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2022 the original author or authors.
* Copyright 2016-2025 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.
@@ -17,15 +17,15 @@
package org.springframework.integration.amqp.support;
import com.rabbitmq.client.AMQP.BasicProperties;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.junit.BrokerRunning;
import org.springframework.amqp.rabbit.junit.RabbitAvailable;
import org.springframework.amqp.rabbit.junit.RabbitAvailableCondition;
import org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverter;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.integration.json.ObjectToJsonTransformer;
@@ -39,24 +39,22 @@ import static org.assertj.core.api.Assertions.assertThat;
* @since 4.3
*
*/
@RabbitAvailable(queues = {JsonConverterCompatibilityTests.JSON_TESTQ})
public class JsonConverterCompatibilityTests {
private static final String JSON_TESTQ = "si.json.tests";
@Rule
public BrokerRunning brokerRunning = BrokerRunning.isRunningWithEmptyQueues(JSON_TESTQ);
public static final String JSON_TESTQ = "si.json.tests";
private RabbitTemplate rabbitTemplate;
@Before
@BeforeEach
public void setUp() {
this.rabbitTemplate = new RabbitTemplate(new CachingConnectionFactory("localhost"));
this.rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
}
@After
@AfterEach
public void tearDown() {
this.brokerRunning.removeTestQueues();
RabbitAvailableCondition.getBrokerRunning().removeTestQueues();
((CachingConnectionFactory) this.rabbitTemplate.getConnectionFactory()).destroy();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017-2022 the original author or authors.
* Copyright 2017-2025 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,7 +16,7 @@
package org.springframework.integration.amqp.support;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.support.AmqpHeaders;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,9 +18,9 @@ package org.springframework.integration.file;
import java.io.File;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
@@ -44,8 +44,8 @@ public class AutoCreateDirectoryTests {
private static final String OUTBOUND_PATH = BASE_PATH + File.separator + "outbound";
@Before
@After
@BeforeEach
@AfterEach
public void clearDirectories() {
File baseDir = new File(BASE_PATH);
File inboundDir = new File(INBOUND_PATH);
@@ -92,13 +92,14 @@ public class AutoCreateDirectoryTests {
assertThat(new File(OUTBOUND_PATH).exists()).isTrue();
}
@Test(expected = IllegalArgumentException.class)
@Test
public void autoCreateForOutboundDisabled() {
FileWritingMessageHandler handler = new FileWritingMessageHandler(
new File(OUTBOUND_PATH));
handler.setBeanFactory(mock(BeanFactory.class));
handler.setAutoCreateDirectory(false);
handler.afterPropertiesSet();
assertThatIllegalArgumentException()
.isThrownBy(handler::afterPropertiesSet);
}
}

View File

@@ -13,7 +13,7 @@
<int-file:inbound-channel-adapter id="pseudoTx"
channel="input" auto-startup="false"
directory="#{T (org.springframework.integration.file.FileInboundTransactionTests).tmpDir.root}/si-test1"
directory="#{T (org.springframework.integration.file.FileInboundTransactionTests).tmpDir}/si-test1"
use-watch-service="true"
watch-events="CREATE,DELETE">
<int:poller fixed-rate="500">
@@ -34,7 +34,7 @@
<int:channel id="txInput" />
<int-file:inbound-channel-adapter id="realTx" channel="txInput" auto-startup="false"
directory="#{T (org.springframework.integration.file.FileInboundTransactionTests).tmpDir.root}/si-test2">
directory="#{T (org.springframework.integration.file.FileInboundTransactionTests).tmpDir}/si-test2">
<int:poller fixed-rate="500">
<int:transactional transaction-manager="txManager" synchronization-factory="syncFactoryB"/>
</int:poller>

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,10 +20,8 @@ import java.io.File;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,8 +33,7 @@ import org.springframework.messaging.MessagingException;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.SubscribableChannel;
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 org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionException;
import org.springframework.transaction.support.AbstractPlatformTransactionManager;
@@ -52,13 +49,12 @@ import static org.mockito.Mockito.verify;
* @since 2.2
*
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class FileInboundTransactionTests {
@ClassRule
public static TemporaryFolder tmpDir = new TemporaryFolder();
@TempDir
public static File tmpDir;
@Autowired
private SourcePollingChannelAdapter pseudoTx;
@@ -102,14 +98,14 @@ public class FileInboundTransactionTests {
latch.countDown();
});
pseudoTx.start();
File file = new File(tmpDir.getRoot(), "si-test1/foo");
File file = new File(tmpDir, "si-test1/foo");
file.createNewFile();
Message<?> result = successChannel.receive(60000);
assertThat(result).isNotNull();
assertThat(result.getPayload()).isEqualTo(Boolean.TRUE);
assertThat(file.delete()).isFalse();
crash.set(true);
file = new File(tmpDir.getRoot(), "si-test1/bar");
file = new File(tmpDir, "si-test1/bar");
file.createNewFile();
result = failureChannel.receive(60000);
assertThat(result).isNotNull();
@@ -119,7 +115,7 @@ public class FileInboundTransactionTests {
assertThat(transactionManager.getCommitted()).isFalse();
assertThat(transactionManager.getRolledBack()).isFalse();
verify(fileListFilter).remove(new File(tmpDir.getRoot(), "si-test1/foo"));
verify(fileListFilter).remove(new File(tmpDir, "si-test1/foo"));
}
@Test
@@ -133,7 +129,7 @@ public class FileInboundTransactionTests {
latch.countDown();
});
realTx.start();
File file = new File(tmpDir.getRoot(), "si-test2/baz");
File file = new File(tmpDir, "si-test2/baz");
file.createNewFile();
Message<?> result = successChannel.receive(60000);
assertThat(result).isNotNull();
@@ -141,7 +137,7 @@ public class FileInboundTransactionTests {
assertThat(file.delete()).isTrue();
assertThat(transactionManager.getCommitted()).isTrue();
crash.set(true);
file = new File(tmpDir.getRoot(), "si-test2/qux");
file = new File(tmpDir, "si-test2/qux");
file.createNewFile();
result = failureChannel.receive(60000);
assertThat(result).isNotNull();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,16 +18,14 @@ package org.springframework.integration.file;
import java.io.File;
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.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;
@@ -35,8 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Iwein Fuld
* @author Artem Bilan
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public class FileToChannelIntegrationTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +20,7 @@ import java.io.File;
import java.util.List;
import java.util.regex.Pattern;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -28,6 +28,7 @@ import org.springframework.integration.file.filters.FileListFilter;
import org.springframework.integration.file.filters.RegexPatternFileListFilter;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/**
* @author Mark Fisher
@@ -80,9 +81,10 @@ public class PatternMatchingFileListFilterTests {
context.close();
}
@Test(expected = BeanCreationException.class)
@Test
public void invalidPatternSyntax() throws Throwable {
new ClassPathXmlApplicationContext("invalidPatternMatchingFileListFilterTests.xml", this.getClass()).close();
assertThatExceptionOfType(BeanCreationException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext("invalidPatternMatchingFileListFilterTests.xml", this.getClass()));
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017-2022 the original author or authors.
* Copyright 2017-2025 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,10 +20,9 @@ import java.io.File;
import java.io.IOException;
import java.util.List;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import org.springframework.integration.file.filters.AcceptOnceFileListFilter;
@@ -49,15 +48,16 @@ public class RecursiveDirectoryScannerTests {
private File subSubLevelFile;
@Rule
public TemporaryFolder recursivePath = new TemporaryFolder();
@TempDir
public File recursivePath;
@Before
@BeforeEach
public void setup() throws IOException {
this.subFolder = this.recursivePath.newFolder("subFolder");
this.subFolder = new File(this.recursivePath, "subFolder");
this.subSubFolder = new File(this.subFolder, "subSubFolder");
this.subSubFolder.mkdir();
this.topLevelFile = this.recursivePath.newFile("file1");
this.subSubFolder.mkdirs();
this.topLevelFile = new File(this.recursivePath, "file1");
this.topLevelFile.createNewFile();
this.subLevelFile = new File(this.subFolder, "file2");
this.subLevelFile.createNewFile();
this.subSubLevelFile = new File(this.subSubFolder, "file3");
@@ -68,7 +68,7 @@ public class RecursiveDirectoryScannerTests {
public void shouldReturnAllFilesIncludingDirs() throws IOException {
RecursiveDirectoryScanner scanner = new RecursiveDirectoryScanner();
scanner.setFilter(new AcceptOnceFileListFilter<>());
List<File> files = scanner.listFiles(this.recursivePath.getRoot());
List<File> files = scanner.listFiles(this.recursivePath);
assertThat(files.size()).isEqualTo(5);
assertThat(files).contains(this.topLevelFile);
assertThat(files).contains(this.subLevelFile);
@@ -77,7 +77,7 @@ public class RecursiveDirectoryScannerTests {
assertThat(files).contains(this.subSubFolder);
File file = new File(this.subSubFolder, "file4");
file.createNewFile();
files = scanner.listFiles(this.recursivePath.getRoot());
files = scanner.listFiles(this.recursivePath);
assertThat(files.size()).isEqualTo(1);
assertThat(files).contains(file);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,10 +18,9 @@ package org.springframework.integration.file.config;
import java.io.File;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +28,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.integration.file.FileReadingMessageSource;
import org.springframework.integration.file.FileWritingMessageHandler;
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;
@@ -37,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Mark Fisher
* @author Artem Bilan
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class AutoCreateDirectoryIntegrationTests {
@@ -48,7 +47,7 @@ public class AutoCreateDirectoryIntegrationTests {
@Autowired
private ApplicationContext context;
@BeforeClass
@BeforeAll
public static void setupNonAutoCreatedDirectories() {
new File(BASE_PATH).delete();
new File(BASE_PATH + File.separator + "customInbound").mkdirs();
@@ -56,7 +55,7 @@ public class AutoCreateDirectoryIntegrationTests {
new File(BASE_PATH + File.separator + "customOutboundGateway").mkdirs();
}
@AfterClass
@AfterAll
public static void deleteBaseDirectory() {
new File(BASE_PATH).delete();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,9 +20,9 @@ import java.io.ByteArrayInputStream;
import java.util.Locale;
import java.util.Properties;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
@@ -46,13 +46,13 @@ public class ChainElementsTests {
private Locale localeBeforeTest;
@Before
@BeforeEach
public void setUp() {
localeBeforeTest = Locale.getDefault();
Locale.setDefault(new Locale("en", "US"));
}
@After
@AfterEach
public void tearDown() {
Locale.setDefault(localeBeforeTest);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +20,7 @@ import java.io.File;
import java.util.Collection;
import java.util.Iterator;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.integration.file.filters.AbstractFileListFilter;
@@ -31,6 +31,7 @@ import org.springframework.integration.file.filters.SimplePatternFileListFilter;
import org.springframework.integration.test.util.TestUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
/**
* @author Mark Fisher
@@ -39,13 +40,13 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class FileListFilterFactoryBeanTests {
@Test(expected = IllegalArgumentException.class)
@Test
public void customFilterAndFilenamePatternAreMutuallyExclusive() throws Exception {
FileListFilterFactoryBean factory = new FileListFilterFactoryBean();
factory.setIgnoreHidden(false);
factory.setFilter(new TestFilter());
factory.setFilenamePattern("foo");
factory.getObject();
assertThatIllegalArgumentException().isThrownBy(factory::getObject);
}
@Test

View File

@@ -10,9 +10,7 @@
<int:message-history/>
<bean id="input" class="org.junit.rules.TemporaryFolder" init-method="create" destroy-method="delete"/>
<int-file:inbound-channel-adapter id="fileAdapter" directory="#{input.root}"
<int-file:inbound-channel-adapter id="fileAdapter" directory="#{T (org.springframework.integration.file.config.FileMessageHistoryTests).tempFolder}"
auto-startup="true"
channel="outChannel"
auto-create-directory="true">

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,14 +21,15 @@ import java.io.File;
import java.io.FileWriter;
import java.util.Properties;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.Message;
import org.springframework.messaging.PollableChannel;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,20 +39,22 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gunnar Hillert
* @author Artem Bilan
*/
@SpringJUnitConfig
public class FileMessageHistoryTests {
@TempDir
public static File tempFolder;
@Autowired
PollableChannel outChannel;
@Test
public void testMessageHistory() throws Exception {
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("file-message-history-context.xml", getClass());
TemporaryFolder input = context.getBean(TemporaryFolder.class);
File file = input.newFile("FileMessageHistoryTest.txt");
File file = new File(tempFolder, "FileMessageHistoryTest.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("hello");
out.close();
PollableChannel outChannel = context.getBean("outChannel", PollableChannel.class);
Message<?> message = outChannel.receive(10000);
assertThat(message).isNotNull();
MessageHistory history = MessageHistory.read(message);
@@ -60,7 +63,6 @@ public class FileMessageHistoryTests {
assertThat(componentHistoryRecord).isNotNull();
assertThat(componentHistoryRecord.get("type")).isEqualTo("file:inbound-channel-adapter");
context.close();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -23,8 +23,7 @@ import java.util.Set;
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.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,8 +41,7 @@ import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessagingException;
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 org.springframework.util.FileCopyUtils;
import org.springframework.util.ReflectionUtils;
@@ -61,8 +59,7 @@ import static org.assertj.core.api.Assertions.fail;
* @author Artem Bilan
*
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class FileOutboundChannelAdapterParserTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.file.config;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

View File

@@ -18,11 +18,11 @@
static-field="org.springframework.integration.file.config.FileOutboundGatewayParserTests.tempFolder"/>
<int-file:outbound-gateway id="ordered"
request-channel="someChannel" reply-timeout="777" directory="#{temporaryFolder.root}"
request-channel="someChannel" reply-timeout="777" directory="#{temporaryFolder}"
auto-startup="false" order="777" filename-generator-expression="'foo.txt'"/>
<int-file:outbound-gateway id="gatewayWithDirectoryExpression"
request-channel="someChannel" directory-expression="temporaryFolder.root"
request-channel="someChannel" directory-expression="temporaryFolder"
auto-startup="false" order="777" filename-generator-expression="'foo.txt'"
requires-reply="false">
<int-file:request-handler-advice-chain>
@@ -33,32 +33,32 @@
<int-file:outbound-gateway id="gatewayWithReplaceMode"
request-channel="gatewayWithReplaceModeChannel"
filename-generator-expression="'fileToAppend.txt'" mode="REPLACE"
directory="#{temporaryFolder.root}" requires-reply="false"/>
directory="#{temporaryFolder}" requires-reply="false"/>
<int-file:outbound-gateway id="gatewayWithAppendMode"
request-channel="gatewayWithAppendModeChannel"
filename-generator-expression="'fileToAppend.txt'" mode="APPEND"
directory="#{temporaryFolder.root}"/>
directory="#{temporaryFolder}"/>
<int-file:outbound-gateway id="gatewayWithFailMode"
request-channel="gatewayWithFailModeChannel"
filename-generator-expression="'fileToAppend.txt'" mode="FAIL"
directory="#{temporaryFolder.root}"/>
directory="#{temporaryFolder}"/>
<int-file:outbound-gateway id="gatewayWithIgnoreMode"
request-channel="gatewayWithIgnoreModeChannel"
filename-generator-expression="'fileToAppend.txt'" mode="IGNORE"
directory="#{temporaryFolder.root}"/>
directory="#{temporaryFolder}"/>
<int-file:outbound-gateway id="gatewayWithFailModeLowercase"
request-channel="gatewayWithFailModeLowercaseChannel"
filename-generator-expression="'fileToAppend.txt'" mode="fail"
directory="#{temporaryFolder.root}"/>
directory="#{temporaryFolder}"/>
<int-file:outbound-gateway id="gatewayWithAppendNewLine"
request-channel="gatewayWithAppendNewLineChannel"
filename-generator-expression="'fileToAppend.txt'"
append-new-line="true"
directory="#{temporaryFolder.root}"/>
directory="#{temporaryFolder}"/>
</beans:beans>

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,11 +18,9 @@ package org.springframework.integration.file.config;
import java.io.File;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +38,7 @@ import org.springframework.messaging.MessageHandler;
import org.springframework.messaging.MessageHandlingException;
import org.springframework.messaging.support.GenericMessage;
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.FileCopyUtils;
import static org.assertj.core.api.Assertions.assertThat;
@@ -52,12 +50,12 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
* @author Artem Bilan
* @author Tony Falabella
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class FileOutboundGatewayParserTests {
@ClassRule
public static final TemporaryFolder tempFolder = new TemporaryFolder();
@TempDir
public static File tempFolder;
@Autowired
private EventDrivenConsumer ordered;
@@ -89,9 +87,12 @@ public class FileOutboundGatewayParserTests {
private static volatile int adviceCalled;
@Before
@BeforeEach
public void setup() {
tempFolder.delete();
File[] files = tempFolder.listFiles();
for (File file : files) {
file.delete();
}
}
@Test
@@ -120,7 +121,7 @@ public class FileOutboundGatewayParserTests {
FileWritingMessageHandler handler =
TestUtils.getPropertyValue(gatewayWithDirectoryExpression, "handler", FileWritingMessageHandler.class);
assertThat(TestUtils.getPropertyValue(handler, "destinationDirectoryExpression", Expression.class)
.getExpressionString()).isEqualTo("temporaryFolder.root");
.getExpressionString()).isEqualTo("temporaryFolder");
handler.handleMessage(new GenericMessage<>("foo"));
assertThat(adviceCalled).isEqualTo(1);
}
@@ -140,7 +141,7 @@ public class FileOutboundGatewayParserTests {
messagingTemplate.setDefaultDestination(this.gatewayWithIgnoreModeChannel);
final String expectedFileContent = "Initial File Content:";
final File testFile = new File(tempFolder.getRoot(), "fileToAppend.txt");
final File testFile = new File(tempFolder, "fileToAppend.txt");
messagingTemplate.sendAndReceive(new GenericMessage<>("Initial File Content:"));
@@ -172,7 +173,7 @@ public class FileOutboundGatewayParserTests {
String expectedFileContent = "Initial File Content:";
File testFile = new File(tempFolder.getRoot(), "fileToAppend.txt");
File testFile = new File(tempFolder, "fileToAppend.txt");
messagingTemplate.sendAndReceive(new GenericMessage<>("Initial File Content:"));
@@ -199,7 +200,7 @@ public class FileOutboundGatewayParserTests {
String expectedFileContent = "Initial File Content:";
File testFile = new File(tempFolder.getRoot(), "fileToAppend.txt");
File testFile = new File(tempFolder, "fileToAppend.txt");
messagingTemplate.sendAndReceive(new GenericMessage<>("Initial File Content:"));
@@ -228,7 +229,7 @@ public class FileOutboundGatewayParserTests {
String expectedFileContent = "Initial File Content:String content:";
File testFile = new File(tempFolder.getRoot(), "fileToAppend.txt");
File testFile = new File(tempFolder, "fileToAppend.txt");
messagingTemplate.sendAndReceive(new GenericMessage<>("Initial File Content:"));
Message<?> m = messagingTemplate.sendAndReceive(new GenericMessage<>("String content:"));
@@ -263,7 +264,7 @@ public class FileOutboundGatewayParserTests {
String expectedFileContent = "String content:";
File testFile = new File(tempFolder.getRoot(), "fileToAppend.txt");
File testFile = new File(tempFolder, "fileToAppend.txt");
messagingTemplate.sendAndReceive(new GenericMessage<>("Initial File Content:"));
Message<?> m = messagingTemplate.sendAndReceive(new GenericMessage<>("String content:"));

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017-2022 the original author or authors.
* Copyright 2017-2025 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.
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import java.util.function.Function;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2022 the original author or authors.
* Copyright 2014-2025 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.
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.Queue;
import java.util.Set;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.util.StopWatch;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017-2022 the original author or authors.
* Copyright 2017-2025 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.
@@ -21,7 +21,7 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017-2022 the original author or authors.
* Copyright 2017-2025 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,9 +19,8 @@ package org.springframework.integration.file.filters;
import java.io.File;
import java.util.List;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,17 +31,17 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class FileSystemMarkerFilePresentFileListFilterTests {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@TempDir
public File folder;
@Test
public void test() throws Exception {
FileSystemMarkerFilePresentFileListFilter filter = new FileSystemMarkerFilePresentFileListFilter(
new SimplePatternFileListFilter("*.txt"));
File foo = this.folder.newFile("foo.txt");
File foo = new File(folder, "foo.txt");
foo.createNewFile();
assertThat(filter.filterFiles(new File[] {foo}).size()).isEqualTo(0);
File complete = this.folder.newFile("foo.txt.complete");
File complete = new File(folder, "foo.txt.complete");
complete.createNewFile();
List<File> filtered = filter.filterFiles(new File[] {foo, complete});
assertThat(filtered.size()).isEqualTo(1);

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +18,7 @@ package org.springframework.integration.file.filters;
import java.io.File;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2019-2022 the original author or authors.
* Copyright 2019-2025 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,9 +19,8 @@ package org.springframework.integration.file.locking;
import java.io.File;
import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import static org.assertj.core.api.Assertions.assertThat;
@@ -31,12 +30,12 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class FileChannelCacheTests {
@Rule
public TemporaryFolder temp = new TemporaryFolder();
@TempDir
public File temp;
@Test
public void throwsExceptionWhenFileNotExists() throws IOException {
File testFile = new File(temp.getRoot(), "test0");
File testFile = new File(temp, "test0");
assertThat(testFile.exists()).isFalse();
assertThat(FileChannelCache.tryLockFor(testFile)).isNull();
assertThat(testFile.exists()).isFalse();
@@ -44,7 +43,7 @@ public class FileChannelCacheTests {
@Test
public void fileLocked() throws IOException {
File testFile = temp.newFile("test1");
File testFile = new File(temp, "test1");
testFile.createNewFile();
assertThat(testFile.exists()).isTrue();
assertThat(FileChannelCache.tryLockFor(testFile)).isNotNull();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,9 +18,8 @@ package org.springframework.integration.file.locking;
import java.io.File;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +28,7 @@ import org.springframework.integration.endpoint.SourcePollingChannelAdapter;
import org.springframework.integration.file.FileReadingMessageSource;
import org.springframework.integration.file.filters.CompositeFileListFilter;
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;
@@ -38,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gunnar Hillert
* @author Artme Bilan
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class FileLockingNamespaceTests {
@@ -54,7 +53,7 @@ public class FileLockingNamespaceTests {
FileReadingMessageSource customLockingSource;
@Before
@BeforeEach
public void extractSources() {
nioLockingSource = (FileReadingMessageSource) new DirectFieldAccessor(nioAdapter).getPropertyValue("source");
customLockingSource =

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,17 +19,16 @@ package org.springframework.integration.file.locking;
import java.io.File;
import java.io.IOException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.integration.file.FileReadingMessageSource;
import org.springframework.messaging.Message;
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;
@@ -37,13 +36,13 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Iwein Fuld
* @author Artem Bilan
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class FileLockingWithMultipleSourcesIntegrationTests {
private static File workdir;
@BeforeClass
@BeforeAll
public static void setupWorkDirectory() {
workdir = new File(new File(System.getProperty("java.io.tmpdir")),
FileLockingWithMultipleSourcesIntegrationTests.class.getSimpleName());
@@ -62,7 +61,7 @@ public class FileLockingWithMultipleSourcesIntegrationTests {
@Qualifier("fileSource2")
private FileReadingMessageSource fileSource3;
@Before
@BeforeEach
public void cleanoutWorkDir() {
for (File file : workdir.listFiles()) {
file.delete();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -22,9 +22,8 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Map;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import org.springframework.integration.file.filters.FileListFilter;
import org.springframework.integration.test.util.TestUtils;
@@ -38,18 +37,9 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class NioFileLockerTests {
@TempDir
private File workdir;
@Rule
public TemporaryFolder temp = new TemporaryFolder() {
@Override
public void create() throws IOException {
super.create();
workdir = temp.newFolder(NioFileLockerTests.class.getSimpleName());
}
};
@Test
public void fileListedByFirstFilter() throws Exception {
NioFileLocker filter = new NioFileLocker();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,7 +21,7 @@ import java.io.InputStream;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.beans.factory.BeanFactory;
@@ -38,6 +38,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.support.GenericMessage;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doAnswer;
@@ -124,7 +125,7 @@ public class FileTransferringMessageHandlerTests {
}
@SuppressWarnings("unchecked")
@Test(expected = IllegalArgumentException.class)
@Test
public <F> void testEmptyTemporaryFileSuffixCannotBeNull() throws Exception {
SessionFactory<F> sf = mock(SessionFactory.class);
Session<F> session = mock(Session.class);
@@ -132,8 +133,8 @@ public class FileTransferringMessageHandlerTests {
FileTransferringMessageHandler<F> handler = new FileTransferringMessageHandler<F>(sf);
handler.setBeanFactory(mock(BeanFactory.class));
handler.setRemoteDirectoryExpressionString("headers['path']");
handler.setTemporaryFileSuffix(null);
handler.onInit();
assertThatIllegalArgumentException()
.isThrownBy(() -> handler.setTemporaryFileSuffix(null));
}
@SuppressWarnings("unchecked")

View File

@@ -25,10 +25,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.BeanFactory;
@@ -57,9 +56,6 @@ public class FileTailingMessageProducerTests {
private static final String TAIL_OPTIONS_FOLLOW_NAME_ALL_LINES = "-F -n +0";
@Rule
public TailRule tailRule = new TailRule(TAIL_OPTIONS_FOLLOW_NAME_ALL_LINES);
private final Log logger = LogFactory.getLog(this.getClass());
private final String tmpDir = System.getProperty("java.io.tmpdir");
@@ -68,14 +64,14 @@ public class FileTailingMessageProducerTests {
private FileTailingMessageProducerSupport adapter;
@Before
@BeforeEach
public void setup() {
File f = new File(tmpDir, "FileTailingMessageProducerTests");
f.mkdir();
this.testDir = f;
}
@After
@AfterEach
public void tearDown() {
if (this.adapter != null) {
adapter.stop();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,13 +21,23 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.jupiter.api.extension.ExtendWith;
/**
* @author Gary Russell
* @since 3.0
*
*/
@ExtendWith(TailCondition.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface TailAvailable {
/**
* The options for the 'tail' command.
* @return the options.
* @author Jiandong Ma
* @since 6.5
*/
String options() default "";
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,6 +20,8 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.AnnotatedElement;
import java.util.Optional;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
@@ -30,12 +32,11 @@ import java.util.concurrent.atomic.AtomicReference;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.junit.jupiter.api.extension.ConditionEvaluationResult;
import org.junit.jupiter.api.extension.ExecutionCondition;
import org.junit.jupiter.api.extension.ExtensionContext;
import static org.assertj.core.api.Assertions.assertThat;
import org.springframework.core.annotation.MergedAnnotations;
/**
* Ignores tests annotated with {@link TailAvailable} if 'tail' with the requested options
@@ -43,36 +44,40 @@ import static org.assertj.core.api.Assertions.assertThat;
*
* @author Gary Russell
* @author Artem Bilan
* @author Jiandong Ma
*
* @since 3.0
* @since 6.5
*
*/
public class TailRule extends TestWatcher {
public class TailCondition implements ExecutionCondition {
private static final Log logger = LogFactory.getLog(TailRule.class);
private static final Log logger = LogFactory.getLog(TailCondition.class);
private static final String tmpDir = System.getProperty("java.io.tmpdir");
private final String commandToTest;
private String commandToTest;
public TailRule(String optionsToTest) {
private static final ConditionEvaluationResult ENABLED = ConditionEvaluationResult.enabled(
"@TailAvailable is not present");
public void setOptionsToTest(String optionsToTest) {
this.commandToTest = "tail " + optionsToTest + " ";
}
@Override
public Statement apply(Statement base, Description description) {
if (description.getAnnotation(TailAvailable.class) != null) {
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
Optional<AnnotatedElement> element = context.getElement();
MergedAnnotations annotations = MergedAnnotations.from(element.get(),
MergedAnnotations.SearchStrategy.TYPE_HIERARCHY);
if (annotations.get(TailAvailable.class).isPresent()) {
TailAvailable tail = annotations.get(TailAvailable.class).synthesize();
setOptionsToTest(tail.options());
if (!tailWorksOnThisMachine()) {
return new Statement() {
@Override
public void evaluate() {
// skip
}
};
return ConditionEvaluationResult.disabled(
"Tests Ignored: 'Tail' command does not work on this platform");
}
}
return super.apply(base, description);
return ENABLED;
}
private boolean tailWorksOnThisMachine() {
@@ -127,15 +132,4 @@ public class TailRule extends TestWatcher {
}
return result == 0;
}
public static class TestRule {
@Test
public void test1() {
TailRule rule = new TailRule("-BLAH");
assertThat(rule.tailWorksOnThisMachine()).isFalse();
}
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,9 +19,9 @@ package org.springframework.integration.file.transformer;
import java.io.File;
import java.io.FileOutputStream;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.integration.file.FileHeaders;
import org.springframework.integration.support.MessageBuilder;
@@ -46,7 +46,7 @@ public abstract class AbstractFilePayloadTransformerTests<T extends AbstractFile
File sourceFile;
@Before
@BeforeEach
public void setUpCommonTestData() throws Exception {
sourceFile = File.createTempFile("anyFile", ".txt");
sourceFile.deleteOnExit();
@@ -55,7 +55,7 @@ public abstract class AbstractFilePayloadTransformerTests<T extends AbstractFile
message = MessageBuilder.withPayload(sourceFile).build();
}
@After
@AfterEach
public void tearDownCommonTestData() {
if (sourceFile.exists()) {
sourceFile.delete();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,8 @@
package org.springframework.integration.file.transformer;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.messaging.Message;
@@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class FileToByteArrayTransformerTests extends
AbstractFilePayloadTransformerTests<FileToByteArrayTransformer> {
@Before
@BeforeEach
public void setUp() {
transformer = new FileToByteArrayTransformer();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,8 @@
package org.springframework.integration.file.transformer;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.messaging.Message;
@@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class FileToStringTransformerTests extends
AbstractFilePayloadTransformerTests<FileToStringTransformer> {
@Before
@BeforeEach
public void setUp() {
transformer = new FileToStringTransformer();
transformer.setCharset(DEFAULT_ENCODING);

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2024 the original author or authors.
* Copyright 2016-2025 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.groovy;
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;
@@ -36,7 +35,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
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;
@@ -44,7 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Artem Bilan
* @since 5.0
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class ScriptsFactoryTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.groovy.config;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.integration.scripting.RefreshableResourceScriptSource;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.groovy.config;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +19,7 @@ package org.springframework.integration.http.config;
import java.io.ByteArrayInputStream;
import java.util.Properties;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,8 @@
package org.springframework.integration.http.config;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
@@ -30,12 +29,12 @@ 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 org.springframework.test.web.client.MockRestServiceServer;
import org.springframework.web.client.RestTemplate;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.method;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
@@ -44,8 +43,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
* @author Oleg Zhurakousky
* @author Artem Bilan
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@SpringJUnitConfig
@DirtiesContext
public class HttpOutboundGatewayWithMethodExpressionTests {
@@ -63,7 +61,7 @@ public class HttpOutboundGatewayWithMethodExpressionTests {
private MockRestServiceServer mockServer;
@Before
@BeforeEach
public void setup() {
this.mockServer = MockRestServiceServer.createServer(this.restTemplate);
}
@@ -96,11 +94,11 @@ public class HttpOutboundGatewayWithMethodExpressionTests {
this.mockServer.verify();
}
@Test(expected = BeanDefinitionParsingException.class)
@Test
public void testMutuallyExclusivityInMethodAndMethodExpression() {
new ClassPathXmlApplicationContext(
"http-outbound-gateway-with-httpmethod-expression-fail.xml", getClass())
.close();
assertThatExceptionOfType(BeanDefinitionParsingException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext(
"http-outbound-gateway-with-httpmethod-expression-fail.xml", getClass()));
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -22,7 +22,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -29,8 +29,8 @@ import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -42,6 +42,8 @@ import org.springframework.util.MimeType;
import org.springframework.util.StopWatch;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
/**
* @author Oleg Zhurakousky
@@ -55,14 +57,16 @@ import static org.assertj.core.api.Assertions.assertThat;
public class DefaultHttpHeaderMapperFromMessageOutboundTests {
// ACCEPT tests
@Test(expected = IllegalArgumentException.class)
@Test
public void validateAcceptHeaderWithNoSlash() {
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();
Map<String, Object> messageHeaders = new HashMap<>();
messageHeaders.put("Accept", "bar");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
MessageHeaders messageHeadersObj = new MessageHeaders(messageHeaders);
assertThatIllegalArgumentException()
.isThrownBy(() -> mapper.fromHeaders(messageHeadersObj, headers));
}
@Test
@@ -158,13 +162,15 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
// ACCEPT_CHARSET tests
@Test(expected = UnsupportedCharsetException.class)
@Test
public void validateAcceptCharsetHeaderWithWrongCharset() {
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();
Map<String, Object> messageHeaders = new HashMap<>();
messageHeaders.put("Accept-Charset", "foo");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
MessageHeaders messageHeadersObj = new MessageHeaders(messageHeaders);
assertThatExceptionOfType(UnsupportedCharsetException.class)
.isThrownBy(() -> mapper.fromHeaders(messageHeadersObj, headers));
}
@Test
@@ -298,26 +304,30 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
assertThat(headers.getContentLength()).isEqualTo(1);
}
@Test(expected = NumberFormatException.class)
@Test
public void validateContentLengthAsNonNumericString() {
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();
Map<String, Object> messageHeaders = new HashMap<>();
messageHeaders.put("Content-Length", "foo");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
MessageHeaders messageHeadersObj = new MessageHeaders(messageHeaders);
assertThatExceptionOfType(NumberFormatException.class)
.isThrownBy(() -> mapper.fromHeaders(messageHeadersObj, headers));
}
// Content-Type test
@Test(expected = IllegalArgumentException.class)
@Test
public void validateContentTypeWrongValue() {
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();
Map<String, Object> messageHeaders = new HashMap<>();
messageHeaders.put(MessageHeaders.CONTENT_TYPE, "foo");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
MessageHeaders messageHeadersObj = new MessageHeaders(messageHeaders);
assertThatIllegalArgumentException()
.isThrownBy(() -> mapper.fromHeaders(messageHeadersObj, headers));
}
@Test
@@ -542,7 +552,7 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
}
@Test
@Ignore
@Disabled
public void perf() {
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,9 @@
package org.springframework.integration.jdbc;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.jdbc.core.JdbcOperations;
@@ -42,12 +42,12 @@ public class JdbcOutboundGatewayTests {
private static EmbeddedDatabase dataSource;
@BeforeClass
@BeforeAll
public static void setup() {
dataSource = new EmbeddedDatabaseBuilder().build();
}
@AfterClass
@AfterAll
public static void teardown() {
dataSource.shutdown();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -22,10 +22,10 @@ import java.sql.Types;
import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -50,7 +50,7 @@ public class JdbcPollingChannelAdapterIntegrationTests {
private static JdbcTemplate jdbcTemplate;
@BeforeClass
@BeforeAll
public static void setUp() {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
builder.setType(EmbeddedDatabaseType.DERBY)
@@ -59,12 +59,12 @@ public class JdbcPollingChannelAdapterIntegrationTests {
jdbcTemplate = new JdbcTemplate(embeddedDatabase);
}
@AfterClass
@AfterAll
public static void tearDown() {
embeddedDatabase.shutdown();
}
@After
@AfterEach
public void cleanup() {
jdbcTemplate.execute("DELETE FROM item");
jdbcTemplate.execute("DELETE FROM copy");

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,15 +20,14 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.commons.logging.LogFactory;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.integration.store.MessageGroup;
import org.springframework.integration.store.MessageGroupQueue;
import org.springframework.integration.store.MessageGroupStore;
import org.springframework.integration.store.SimpleMessageStore;
import org.springframework.integration.test.support.LongRunningIntegrationTest;
import org.springframework.integration.test.condition.LongRunningTest;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.GenericMessage;
@@ -38,11 +37,9 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Oleg Zhurakousky
* @author Artem Bilan
*/
@LongRunningTest
public class MessageGroupQueueTests {
@ClassRule
public static LongRunningIntegrationTest longTests = new LongRunningIntegrationTest();
@Test
public void validateMgqInterruption() throws Exception {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -23,7 +23,7 @@ import java.util.Map;
import javax.sql.DataSource;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.BeanFactory;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.jdbc;
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.integration.jdbc.storedproc.User;
@@ -28,7 +27,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
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;
@@ -37,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
*
* @since 2.2
*/
@RunWith(SpringRunner.class)
@SpringJUnitConfig
@DirtiesContext // close at the end after class
public class StoredProcOutboundChannelAdapterWithinChainTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -23,16 +23,14 @@ 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.integration.annotation.ServiceActivator;
import org.springframework.messaging.Message;
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;
@@ -40,8 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gunnar Hillert
* @author Gary Russell
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext // close at the end after class
public class StoredProcPollingChannelAdapterWithNamespace2IntegrationTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.jdbc.config;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2024 the original author or authors.
* Copyright 2016-2025 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,7 +18,7 @@ package org.springframework.integration.jdbc.config;
import java.sql.Types;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +19,7 @@ package org.springframework.integration.jdbc.config;
import java.io.ByteArrayInputStream;
import java.util.Properties;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,8 +21,8 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.junit.After;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.ConfigurableApplicationContext;
@@ -282,7 +282,7 @@ public class StoredProcOutboundGatewayParserTests {
assertThat(adviceCalled).isEqualTo(1);
}
@After
@AfterEach
public void tearDown() {
if (context != null) {
context.close();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -22,8 +22,8 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.junit.After;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.ConfigurableApplicationContext;
@@ -271,7 +271,7 @@ public class StoredProcPollingChannelAdapterParserTests {
autoChannelAdapter.stop();
}
@After
@AfterEach
public void tearDown() {
this.pollingAdapter.stop();
ThreadPoolTaskScheduler taskScheduler = context.getBean(ThreadPoolTaskScheduler.class);

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,10 @@ import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -42,8 +41,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
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 org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionTemplate;
@@ -55,10 +53,9 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gunnar Hillert
*
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
@Ignore
@Disabled
public class MySqlJdbcMessageStoreMultipleChannelTests {
private static final Log LOG = LogFactory.getLog(MySqlJdbcMessageStoreMultipleChannelTests.class);
@@ -85,12 +82,12 @@ public class MySqlJdbcMessageStoreMultipleChannelTests {
@Autowired
private DataSource dataSource;
@Before
@BeforeEach
public void beforeTest() {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@After
@AfterEach
public void afterTest() {
new TransactionTemplate(this.transactionManager).execute(status -> {
this.jdbcTemplate.update("delete from INT_GROUP_TO_MESSAGE");

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,10 +21,9 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -33,8 +32,7 @@ import org.springframework.integration.endpoint.AbstractEndpoint;
import org.springframework.integration.store.MessageGroup;
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 org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.StopWatch;
@@ -47,8 +45,7 @@ import static org.assertj.core.api.Assertions.fail;
* @author Gary Russell
* @author Artem Bilan
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext // close at the end after class
public class JdbcMessageStoreChannelOnePollerIntegrationTests {
@@ -72,14 +69,14 @@ public class JdbcMessageStoreChannelOnePollerIntegrationTests {
@Qualifier("service-relay")
private AbstractEndpoint serviceRelay;
@Before
@BeforeEach
public void clear() {
for (MessageGroup group : this.messageStore) {
this.messageStore.removeMessageGroup(group.getGroupId());
}
}
@After
@AfterEach
public void tearDown() {
this.serviceRelay.stop();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -21,10 +21,9 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -34,8 +33,7 @@ import org.springframework.messaging.MessageChannel;
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 org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
@@ -50,8 +48,7 @@ import static org.assertj.core.api.Assertions.fail;
* @author Artem Bilan
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public class JdbcMessageStoreChannelTests {
@@ -68,13 +65,13 @@ public class JdbcMessageStoreChannelTests {
@Qualifier("service-activator")
private AbstractEndpoint serviceActivator;
@Before
@BeforeEach
public void init() {
Service.reset(1);
this.serviceActivator.start();
}
@After
@AfterEach
public void tearDown() {
this.serviceActivator.stop();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,11 +18,11 @@ package org.springframework.integration.jdbc.store;
import java.util.List;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -47,7 +47,7 @@ public class JdbcMessageStoreRegionTests {
private JdbcMessageStore messageStore2;
@BeforeClass
@BeforeAll
public static void setupDatabase() {
dataSource = new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
@@ -56,12 +56,12 @@ public class JdbcMessageStoreRegionTests {
.build();
}
@AfterClass
@AfterAll
public static void shutDownDatabase() {
dataSource.shutdown();
}
@Before
@BeforeEach
public void beforeTest() {
this.jdbcTemplate = new JdbcTemplate(dataSource);
this.messageStore1 = new JdbcMessageStore(dataSource);
@@ -71,7 +71,7 @@ public class JdbcMessageStoreRegionTests {
this.messageStore2.setRegion("region2");
}
@After
@AfterEach
public void afterTest() {
this.jdbcTemplate.execute("delete from INT_GROUP_TO_MESSAGE");
this.jdbcTemplate.execute("delete from INT_MESSAGE");

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -31,8 +31,7 @@ import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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;
@@ -46,7 +45,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.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
@@ -60,7 +59,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gunnar Hillert
* @author Artem Bilan
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext // close at the end after class
public abstract class AbstractTxTimeoutMessageStoreTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.jdbc.store.channel;
import org.junit.Ignore;
import org.junit.jupiter.api.Disabled;
import org.springframework.test.context.ContextConfiguration;
@@ -26,7 +26,7 @@ import org.springframework.test.context.ContextConfiguration;
* @author Artem Bilan
*
*/
@Ignore
@Disabled
@ContextConfiguration
public class DerbyTxTimeoutMessageStoreTests extends AbstractTxTimeoutMessageStoreTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2025 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,8 @@
package org.springframework.integration.jdbc.store.channel;
import org.junit.Rule;
import org.springframework.integration.test.support.LongRunningIntegrationTest;
import org.springframework.integration.test.condition.LongRunningTest;
import org.springframework.test.context.ContextConfiguration;
/**
*
@@ -27,9 +26,8 @@ import org.springframework.integration.test.support.LongRunningIntegrationTest;
* @author Manuel Jordan
* @since 4.3
*/
@LongRunningTest
@ContextConfiguration
public class H2TxTimeoutMessageStoreTests extends AbstractTxTimeoutMessageStoreTests {
@Rule
public LongRunningIntegrationTest longTests = new LongRunningIntegrationTest();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.jdbc.store.channel;
import org.junit.Ignore;
import org.junit.jupiter.api.Disabled;
import org.springframework.test.context.ContextConfiguration;
@@ -26,7 +26,7 @@ import org.springframework.test.context.ContextConfiguration;
* @author Artem Bilan
*
*/
@Ignore
@Disabled
@ContextConfiguration
public class MySqlTxTimeoutMessageStoreTests extends AbstractTxTimeoutMessageStoreTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.jdbc.store.channel;
import org.junit.Ignore;
import org.junit.jupiter.api.Disabled;
import org.springframework.test.context.ContextConfiguration;
@@ -26,7 +26,7 @@ import org.springframework.test.context.ContextConfiguration;
* @author Artem Bilan
*
*/
@Ignore
@Disabled
@ContextConfiguration
public class OracleTxTimeoutMessageStoreTests extends AbstractTxTimeoutMessageStoreTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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,7 +16,7 @@
package org.springframework.integration.jdbc.store.channel;
import org.junit.Ignore;
import org.junit.jupiter.api.Disabled;
import org.springframework.test.context.ContextConfiguration;
@@ -26,7 +26,7 @@ import org.springframework.test.context.ContextConfiguration;
* @author Artem Bilan
*
*/
@Ignore
@Disabled
@ContextConfiguration
public class PostgresTxTimeoutMessageStoreTests extends AbstractTxTimeoutMessageStoreTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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.
@@ -17,8 +17,7 @@
package org.springframework.integration.jms.config;
import jakarta.jms.Destination;
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.jms.DefaultJmsHeaderMapper;
@@ -29,8 +28,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;
@@ -40,8 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Gary Russell
* @author Artem Bilan
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringJUnitConfig
@DirtiesContext
public class JmsHeaderEnricherTests {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +18,7 @@ package org.springframework.integration.jms.config;
import java.util.Properties;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.BeanDefinitionStoreException;
@@ -32,6 +32,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.PollableChannel;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/**
* @author Mark Fisher
@@ -102,21 +103,18 @@ public class JmsInboundChannelAdapterParserTests {
}
}
@Test(expected = BeanDefinitionStoreException.class)
@Test
public void adapterWithConnectionFactoryOnly() {
new ClassPathXmlApplicationContext("jmsInboundWithConnectionFactoryOnly.xml", this.getClass()).close();
assertThatExceptionOfType(BeanDefinitionStoreException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext("jmsInboundWithConnectionFactoryOnly.xml", this.getClass()));
}
@Test(expected = BeanCreationException.class)
@Test
public void adapterWithDestinationOnly() {
try {
new ClassPathXmlApplicationContext("jmsInboundWithDestinationOnly.xml", this.getClass()).close();
}
catch (BeanCreationException e) {
Throwable rootCause = e.getRootCause();
assertThat(rootCause.getClass()).isEqualTo(NoSuchBeanDefinitionException.class);
throw e;
}
assertThatExceptionOfType(BeanCreationException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext("jmsInboundWithDestinationOnly.xml", this.getClass()))
.extracting(e -> e.getRootCause().getClass())
.isEqualTo(NoSuchBeanDefinitionException.class);
}
@Test
@@ -131,9 +129,10 @@ public class JmsInboundChannelAdapterParserTests {
}
}
@Test(expected = BeanCreationException.class)
@Test
public void adapterWithDestinationNameOnly() {
new ClassPathXmlApplicationContext("jmsInboundWithDestinationNameOnly.xml", this.getClass()).close();
assertThatExceptionOfType(BeanCreationException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext("jmsInboundWithDestinationNameOnly.xml", this.getClass()));
}
@Test

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2025 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,7 +18,7 @@ package org.springframework.integration.jms.config;
import java.util.Properties;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.NotReadablePropertyException;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 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.
@@ -17,7 +17,7 @@
package org.springframework.integration.jms.config;
import jakarta.jms.DeliveryMode;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.factory.BeanDefinitionStoreException;
@@ -33,6 +33,7 @@ import org.springframework.messaging.MessageHandler;
import org.springframework.messaging.support.GenericMessage;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/**
* @author Mark Fisher
@@ -162,15 +163,11 @@ public class JmsOutboundChannelAdapterParserTests {
context.close();
}
@Test(expected = BeanDefinitionStoreException.class)
@Test
public void adapterWithEmptyConnectionFactory() {
try {
new ClassPathXmlApplicationContext("jmsOutboundWithEmptyConnectionFactory.xml", this.getClass()).close();
}
catch (BeanDefinitionStoreException e) {
assertThat(e.getMessage().contains("connection-factory")).isTrue();
throw e;
}
assertThatExceptionOfType(BeanDefinitionStoreException.class)
.isThrownBy(() -> new ClassPathXmlApplicationContext("jmsOutboundWithEmptyConnectionFactory.xml", this.getClass()))
.withMessageContaining("connection-factory");
}
@Test