This is an automated email from the ASF dual-hosted git repository.

jianbin pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git


The following commit(s) were added to refs/heads/2.x by this push:
     new 16be18ee6d test: Add common test config for dynamic server port 
assignment in tests (#7435)
16be18ee6d is described below

commit 16be18ee6d050ba0a95efa4e3bc3f80a3873d2d4
Author: Yongjun Hong <yongj...@apache.org>
AuthorDate: Fri Jun 13 18:34:46 2025 +0900

    test: Add common test config for dynamic server port assignment in tests 
(#7435)
---
 .../apache/seata/server/DynamicPortTestConfig.java | 45 ++++++++++++++++++++++
 .../org/apache/seata/server/LoaderConfTest.java    |  2 +
 .../apache/seata/server/ParameterParserTest.java   |  2 +
 .../server/controller/ClusterControllerTest.java   |  4 +-
 .../controller/VGroupMappingControllerTest.java    |  3 +-
 .../server/coordinator/DefaultCoordinatorTest.java |  3 ++
 .../seata/server/coordinator/DefaultCoreTest.java  |  3 ++
 .../server/event/DefaultCoreForEventBusTest.java   |  3 ++
 .../server/lock/DistributedLockerFactoryTest.java  |  3 ++
 .../apache/seata/server/lock/LockManagerTest.java  |  3 ++
 .../lock/db/DataBaseLockManagerImplTest.java       |  5 ++-
 .../server/lock/db/DataBaseLockStoreDAOTest.java   |  3 ++
 .../server/lock/file/FileLockManagerImplTest.java  |  3 ++
 .../server/lock/redis/RedisLockManagerTest.java    |  3 ++
 .../server/lock/redis/RedisLuaLockManagerTest.java |  3 ++
 .../apache/seata/server/logging/AppenderTest.java  |  4 +-
 .../apache/seata/server/raft/RaftServerTest.java   |  4 +-
 .../seata/server/raft/RaftSyncMessageTest.java     |  3 ++
 .../raft/execute/BranchSessionExecuteTest.java     |  3 ++
 .../raft/execute/GlobalSessionExecuteTest.java     |  4 +-
 .../seata/server/raft/execute/LockExecuteTest.java |  3 ++
 .../server/ratelimiter/RateLimiterHandlerTest.java |  3 ++
 .../server/ratelimiter/TokenBucketLimiterTest.java |  3 ++
 .../seata/server/session/BranchSessionTest.java    |  3 ++
 .../server/session/FileSessionManagerTest.java     |  3 ++
 .../seata/server/session/GlobalSessionTest.java    |  4 +-
 .../seata/server/session/SessionHolderTest.java    |  3 ++
 .../server/session/SessionStatusValidatorTest.java |  3 ++
 .../session/db/DataBaseSessionManagerTest.java     |  3 ++
 .../session/redis/RedisDistributedLockerTest.java  |  3 ++
 .../redis/RedisLuaTransactionStoreManagerTest.java |  3 ++
 .../server/session/redis/RedisQueryConsolTest.java |  3 ++
 .../session/redis/RedisSessionManagerTest.java     |  4 +-
 .../redis/RedisTransactionStoreManagerTest.java    |  3 ++
 .../server/session/redis/SessionConverterTest.java |  3 ++
 .../store/FileVGroupMappingStoreManagerTest.java   |  4 +-
 .../store/RaftVGroupMappingStoreManagerTest.java   |  3 ++
 .../store/RedisVGroupMappingStoreManagerTest.java  |  4 +-
 .../store/RaftSyncMessageSerializerTest.java       |  3 ++
 .../seata/server/store/SessionStoreTest.java       |  3 ++
 .../store/db/AbstractDataSourceProviderTest.java   |  3 ++
 .../server/store/db/LogStoreDataBaseDAOTest.java   |  4 +-
 .../file/FileTransactionStoreManagerTest.java      |  3 ++
 43 files changed, 168 insertions(+), 12 deletions(-)

diff --git 
a/server/src/test/java/org/apache/seata/server/DynamicPortTestConfig.java 
b/server/src/test/java/org/apache/seata/server/DynamicPortTestConfig.java
new file mode 100644
index 0000000000..5b87cc061d
--- /dev/null
+++ b/server/src/test/java/org/apache/seata/server/DynamicPortTestConfig.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.seata.server;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+@TestConfiguration
+public class DynamicPortTestConfig {
+    @DynamicPropertySource
+    static void dynamicProperties(DynamicPropertyRegistry registry) throws 
IOException {
+        try (ServerSocket serverSocket = new ServerSocket(0);
+             ServerSocket exporterSocket = new ServerSocket(0);
+        ) {
+            int servicePort = serverSocket.getLocalPort();
+            int exporterPort = exporterSocket.getLocalPort();
+
+            registry.add("server.servicePort", () -> 
String.valueOf(servicePort));
+            registry.add("metrics.exporter.prometheus.port", () -> 
String.valueOf(exporterPort));
+
+            System.clearProperty("server.servicePort");
+            System.clearProperty("metrics.exporter.prometheus.port");
+
+            System.setProperty("server.servicePort", 
String.valueOf(servicePort));
+            System.setProperty("metrics.exporter.prometheus.port", 
String.valueOf(exporterPort));
+        }
+    }
+}
diff --git a/server/src/test/java/org/apache/seata/server/LoaderConfTest.java 
b/server/src/test/java/org/apache/seata/server/LoaderConfTest.java
index f37666fbda..8e7d5543eb 100644
--- a/server/src/test/java/org/apache/seata/server/LoaderConfTest.java
+++ b/server/src/test/java/org/apache/seata/server/LoaderConfTest.java
@@ -21,12 +21,14 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 import org.springframework.core.env.Environment;
 
 /**
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class LoaderConfTest {
 
     static Environment environment;
diff --git 
a/server/src/test/java/org/apache/seata/server/ParameterParserTest.java 
b/server/src/test/java/org/apache/seata/server/ParameterParserTest.java
index 604a3d811b..71dca09714 100644
--- a/server/src/test/java/org/apache/seata/server/ParameterParserTest.java
+++ b/server/src/test/java/org/apache/seata/server/ParameterParserTest.java
@@ -21,12 +21,14 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  * The type parameter parser test
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class ParameterParserTest {
     private static ParameterParser parameterParser = null;
 
diff --git 
a/server/src/test/java/org/apache/seata/server/controller/ClusterControllerTest.java
 
b/server/src/test/java/org/apache/seata/server/controller/ClusterControllerTest.java
index 8f38521d44..da1e8e61b4 100644
--- 
a/server/src/test/java/org/apache/seata/server/controller/ClusterControllerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/controller/ClusterControllerTest.java
@@ -25,6 +25,7 @@ import org.apache.http.entity.ContentType;
 import org.apache.http.protocol.HTTP;
 import org.apache.seata.common.holder.ObjectHolder;
 import org.apache.seata.common.util.HttpClientUtil;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.cluster.listener.ClusterChangeEvent;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -35,6 +36,7 @@ import org.junit.jupiter.api.TestMethodOrder;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.annotation.Import;
 import org.springframework.test.context.TestPropertySource;
 
 
@@ -42,8 +44,8 @@ import static 
org.apache.seata.common.ConfigurationKeys.SERVER_SERVICE_PORT_CAME
 import static 
org.apache.seata.common.Constants.OBJECT_KEY_SPRING_APPLICATION_CONTEXT;
 
 @SpringBootTest
-@TestPropertySource(locations = "classpath:test-cluster-controller.properties")
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
+@Import(DynamicPortTestConfig.class)
 class ClusterControllerTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/controller/VGroupMappingControllerTest.java
 
b/server/src/test/java/org/apache/seata/server/controller/VGroupMappingControllerTest.java
index b085e529c3..2027e695b1 100644
--- 
a/server/src/test/java/org/apache/seata/server/controller/VGroupMappingControllerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/controller/VGroupMappingControllerTest.java
@@ -16,11 +16,12 @@
  */
 package org.apache.seata.server.controller;
 
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-
+import org.springframework.context.annotation.Import;
 
 @Disabled
 @SpringBootTest
diff --git 
a/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoordinatorTest.java
 
b/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoordinatorTest.java
index 007c2988b7..921614f892 100644
--- 
a/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoordinatorTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoordinatorTest.java
@@ -43,6 +43,7 @@ import 
org.apache.seata.core.protocol.transaction.BranchRollbackRequest;
 import org.apache.seata.core.protocol.transaction.BranchRollbackResponse;
 import org.apache.seata.core.rpc.RemotingServer;
 import org.apache.seata.core.rpc.processor.RemotingProcessor;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.metrics.MetricsManager;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.session.SessionHolder;
@@ -61,12 +62,14 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  * The type DefaultCoordinator test.
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DefaultCoordinatorTest {
     private static DefaultCoordinator defaultCoordinator;
 
diff --git 
a/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoreTest.java 
b/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoreTest.java
index 93a5fbc054..541fb78328 100644
--- 
a/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoreTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/coordinator/DefaultCoreTest.java
@@ -25,6 +25,7 @@ import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.core.rpc.RemotingServer;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.session.SessionHelper;
@@ -39,12 +40,14 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  * The type Default core test.
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DefaultCoreTest {
 
     private static DefaultCore core;
diff --git 
a/server/src/test/java/org/apache/seata/server/event/DefaultCoreForEventBusTest.java
 
b/server/src/test/java/org/apache/seata/server/event/DefaultCoreForEventBusTest.java
index 0569efe000..2da8df15bc 100644
--- 
a/server/src/test/java/org/apache/seata/server/event/DefaultCoreForEventBusTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/event/DefaultCoreForEventBusTest.java
@@ -32,6 +32,7 @@ import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.core.rpc.RemotingServer;
 import org.apache.seata.metrics.registry.Registry;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.coordinator.DefaultCoordinator;
 import org.apache.seata.server.coordinator.DefaultCoordinatorTest;
 import org.apache.seata.server.coordinator.DefaultCore;
@@ -45,12 +46,14 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  * Test events come from Default Core.
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DefaultCoreForEventBusTest {
 
     private static final boolean DELAY_HANDLE_SESSION = 
StoreConfig.getSessionMode() != SessionMode.FILE;
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/DistributedLockerFactoryTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/DistributedLockerFactoryTest.java
index 1aada8aba3..56e0616c12 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/DistributedLockerFactoryTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/DistributedLockerFactoryTest.java
@@ -18,6 +18,7 @@ package org.apache.seata.server.lock;
 
 import org.apache.seata.core.store.DefaultDistributedLocker;
 import org.apache.seata.core.store.DistributedLocker;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.distributed.DistributedLockerFactory;
 import org.apache.seata.server.storage.redis.lock.RedisDistributedLocker;
 import org.junit.jupiter.api.AfterEach;
@@ -25,11 +26,13 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  * @description Distributed locker factory test
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DistributedLockerFactoryTest {
 
     @BeforeEach
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/LockManagerTest.java 
b/server/src/test/java/org/apache/seata/server/lock/LockManagerTest.java
index 133a516199..d7d4e7db5e 100644
--- a/server/src/test/java/org/apache/seata/server/lock/LockManagerTest.java
+++ b/server/src/test/java/org/apache/seata/server/lock/LockManagerTest.java
@@ -32,6 +32,7 @@ import org.apache.seata.common.result.PageResult;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.common.util.UUIDGenerator;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.console.entity.param.GlobalLockParam;
 import org.apache.seata.server.console.service.GlobalLockService;
 import org.apache.seata.server.console.entity.vo.GlobalLockVO;
@@ -47,6 +48,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -56,6 +58,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * @since 2019 /1/23
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class LockManagerTest {
 
 
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockManagerImplTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockManagerImplTest.java
index 17d0d75876..4e7c0be3ee 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockManagerImplTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockManagerImplTest.java
@@ -24,6 +24,7 @@ import java.sql.Statement;
 import org.apache.seata.common.util.IOUtil;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.lock.Locker;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.LockManager;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.storage.db.lock.DataBaseLocker;
@@ -35,12 +36,12 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
-
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DataBaseLockManagerImplTest {
 
     static LockManager lockManager = null;
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockStoreDAOTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockStoreDAOTest.java
index efd44516d2..be6d2c3f11 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockStoreDAOTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/db/DataBaseLockStoreDAOTest.java
@@ -27,6 +27,7 @@ import org.apache.seata.common.ConfigurationKeys;
 import org.apache.seata.common.util.IOUtil;
 import org.apache.seata.config.ConfigurationFactory;
 import org.apache.seata.core.store.LockDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.storage.db.lock.LockStoreDataBaseDAO;
 import org.apache.commons.dbcp2.BasicDataSource;
 import org.h2.store.fs.FileUtils;
@@ -36,10 +37,12 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DataBaseLockStoreDAOTest {
 
     static LockStoreDataBaseDAO dataBaseLockStoreDAO  = null;
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/file/FileLockManagerImplTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/file/FileLockManagerImplTest.java
index 21e1f9042b..4f1b0afca9 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/file/FileLockManagerImplTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/file/FileLockManagerImplTest.java
@@ -21,6 +21,7 @@ import java.util.stream.Stream;
 import org.apache.seata.common.XID;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.common.util.UUIDGenerator;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.LockManager;
 import org.apache.seata.server.session.BranchSession;
 import org.junit.jupiter.api.Assertions;
@@ -30,6 +31,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -40,6 +42,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * @since 2019 /1/23
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class FileLockManagerImplTest {
 
     private LockManager lockManager = new FileLockManagerForTest();
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/redis/RedisLockManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/redis/RedisLockManagerTest.java
index f4924e405d..b8c69b996b 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/redis/RedisLockManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/redis/RedisLockManagerTest.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.lock.Locker;
 import org.apache.seata.core.model.LockStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.LockManager;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.storage.redis.JedisPooledFactory;
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 import redis.clients.jedis.Jedis;
 import redis.clients.jedis.JedisPool;
 import redis.clients.jedis.JedisPoolConfig;
@@ -41,6 +43,7 @@ import redis.clients.jedis.JedisPoolConfig;
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisLockManagerTest {
     static LockManager lockManager = null;
 
diff --git 
a/server/src/test/java/org/apache/seata/server/lock/redis/RedisLuaLockManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/lock/redis/RedisLuaLockManagerTest.java
index 4effb309e4..b3e0c933e5 100644
--- 
a/server/src/test/java/org/apache/seata/server/lock/redis/RedisLuaLockManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/lock/redis/RedisLuaLockManagerTest.java
@@ -20,6 +20,7 @@ import java.io.IOException;
 
 import org.apache.seata.common.loader.EnhancedServiceLoader;
 import org.apache.seata.core.lock.Locker;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.storage.redis.lock.RedisLockManager;
 import org.apache.seata.server.storage.redis.lock.RedisLuaLocker;
@@ -28,6 +29,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  * RedisLocker use lua script
@@ -35,6 +37,7 @@ import org.springframework.context.ApplicationContext;
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisLuaLockManagerTest extends RedisLockManagerTest {
 
     /**
diff --git 
a/server/src/test/java/org/apache/seata/server/logging/AppenderTest.java 
b/server/src/test/java/org/apache/seata/server/logging/AppenderTest.java
index 5ff3a7b06d..774d082c50 100644
--- a/server/src/test/java/org/apache/seata/server/logging/AppenderTest.java
+++ b/server/src/test/java/org/apache/seata/server/logging/AppenderTest.java
@@ -21,6 +21,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.Appender;
 import com.github.danielwegener.logback.kafka.KafkaAppender;
 import net.logstash.logback.appender.LogstashTcpSocketAppender;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.logging.logback.appender.MetricLogbackAppender;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -30,9 +31,10 @@ import org.springframework.boot.test.context.SpringBootTest;
 
 import java.lang.reflect.Field;
 import java.util.Iterator;
-
+import org.springframework.context.annotation.Import;
 
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class AppenderTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/raft/RaftServerTest.java 
b/server/src/test/java/org/apache/seata/server/raft/RaftServerTest.java
index 9bc35db715..45dc54a149 100644
--- a/server/src/test/java/org/apache/seata/server/raft/RaftServerTest.java
+++ b/server/src/test/java/org/apache/seata/server/raft/RaftServerTest.java
@@ -20,6 +20,7 @@ import org.apache.seata.common.ConfigurationKeys;
 import org.apache.seata.common.XID;
 import org.apache.seata.config.ConfigurationCache;
 import org.apache.seata.config.ConfigurationFactory;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.cluster.raft.RaftServerManager;
 import org.apache.seata.server.lock.LockerManagerFactory;
 import org.apache.seata.server.session.SessionHolder;
@@ -30,7 +31,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
+import org.springframework.context.annotation.Import;
 
 import static 
org.apache.seata.common.ConfigurationKeys.SERVER_RAFT_SSL_CLIENT_KEYSTORE_PATH;
 import static 
org.apache.seata.common.ConfigurationKeys.SERVER_RAFT_SSL_ENABLED;
@@ -40,6 +41,7 @@ import static 
org.apache.seata.common.ConfigurationKeys.SERVER_RAFT_SSL_TMF_ALGO
 import static 
org.apache.seata.spring.boot.autoconfigure.StarterConstants.SERVER_RAFT_SSL_PREFIX;
 
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RaftServerTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/raft/RaftSyncMessageTest.java 
b/server/src/test/java/org/apache/seata/server/raft/RaftSyncMessageTest.java
index c80899fb68..023ad235b5 100644
--- a/server/src/test/java/org/apache/seata/server/raft/RaftSyncMessageTest.java
+++ b/server/src/test/java/org/apache/seata/server/raft/RaftSyncMessageTest.java
@@ -31,6 +31,7 @@ import org.apache.seata.common.metadata.Node;
 import org.apache.seata.common.store.SessionMode;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchType;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.cluster.raft.snapshot.RaftSnapshot;
 import org.apache.seata.server.cluster.raft.sync.msg.RaftBranchSessionSyncMsg;
 import org.apache.seata.server.cluster.raft.sync.msg.RaftClusterMetadataMsg;
@@ -51,10 +52,12 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RaftSyncMessageTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/raft/execute/BranchSessionExecuteTest.java
 
b/server/src/test/java/org/apache/seata/server/raft/execute/BranchSessionExecuteTest.java
index df21b9216f..0aca047ac6 100644
--- 
a/server/src/test/java/org/apache/seata/server/raft/execute/BranchSessionExecuteTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/raft/execute/BranchSessionExecuteTest.java
@@ -27,6 +27,7 @@ import org.apache.seata.config.ConfigurationCache;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
+import org.apache.seata.server.DynamicPortTestConfig;
 import 
org.apache.seata.server.cluster.raft.execute.branch.AddBranchSessionExecute;
 import 
org.apache.seata.server.cluster.raft.execute.branch.RemoveBranchSessionExecute;
 import 
org.apache.seata.server.cluster.raft.execute.branch.UpdateBranchSessionExecute;
@@ -43,6 +44,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -50,6 +52,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 class BranchSessionExecuteTest {
 
     private static GlobalSession GLOBAL_SESSION;
diff --git 
a/server/src/test/java/org/apache/seata/server/raft/execute/GlobalSessionExecuteTest.java
 
b/server/src/test/java/org/apache/seata/server/raft/execute/GlobalSessionExecuteTest.java
index 45d191790e..a0654494e0 100644
--- 
a/server/src/test/java/org/apache/seata/server/raft/execute/GlobalSessionExecuteTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/raft/execute/GlobalSessionExecuteTest.java
@@ -22,6 +22,7 @@ import org.apache.seata.common.util.NetUtil;
 import org.apache.seata.config.ConfigurationCache;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.GlobalStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import 
org.apache.seata.server.cluster.raft.execute.global.AddGlobalSessionExecute;
 import 
org.apache.seata.server.cluster.raft.execute.global.RemoveGlobalSessionExecute;
 import 
org.apache.seata.server.cluster.raft.execute.global.UpdateGlobalSessionExecute;
@@ -39,11 +40,12 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 class GlobalSessionExecuteTest {
     @BeforeAll
     public static void setUp(ApplicationContext context){
diff --git 
a/server/src/test/java/org/apache/seata/server/raft/execute/LockExecuteTest.java
 
b/server/src/test/java/org/apache/seata/server/raft/execute/LockExecuteTest.java
index 19c4c24f23..72ecc0282b 100644
--- 
a/server/src/test/java/org/apache/seata/server/raft/execute/LockExecuteTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/raft/execute/LockExecuteTest.java
@@ -25,6 +25,7 @@ import org.apache.seata.common.util.UUIDGenerator;
 import org.apache.seata.config.ConfigurationCache;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchType;
+import org.apache.seata.server.DynamicPortTestConfig;
 import 
org.apache.seata.server.cluster.raft.execute.branch.RemoveBranchSessionExecute;
 import 
org.apache.seata.server.cluster.raft.execute.lock.BranchReleaseLockExecute;
 import 
org.apache.seata.server.cluster.raft.execute.lock.GlobalReleaseLockExecute;
@@ -46,6 +47,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -53,6 +55,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 class LockExecuteTest {
 
     private static GlobalSession GLOBAL_SESSION;
diff --git 
a/server/src/test/java/org/apache/seata/server/ratelimiter/RateLimiterHandlerTest.java
 
b/server/src/test/java/org/apache/seata/server/ratelimiter/RateLimiterHandlerTest.java
index 4ef8d0bf4e..550b35bb1e 100644
--- 
a/server/src/test/java/org/apache/seata/server/ratelimiter/RateLimiterHandlerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/ratelimiter/RateLimiterHandlerTest.java
@@ -18,6 +18,7 @@ package org.apache.seata.server.ratelimiter;
 
 import org.apache.seata.core.protocol.transaction.GlobalBeginRequest;
 import org.apache.seata.core.rpc.RpcContext;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.limit.ratelimit.RateLimiter;
 import org.apache.seata.server.limit.ratelimit.RateLimiterHandler;
 import org.apache.seata.server.limit.ratelimit.TokenBucketLimiter;
@@ -27,11 +28,13 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  * RateLimiterHandlerTest
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RateLimiterHandlerTest {
 
     /**
diff --git 
a/server/src/test/java/org/apache/seata/server/ratelimiter/TokenBucketLimiterTest.java
 
b/server/src/test/java/org/apache/seata/server/ratelimiter/TokenBucketLimiterTest.java
index 7f386665ca..2ecc07f8ee 100644
--- 
a/server/src/test/java/org/apache/seata/server/ratelimiter/TokenBucketLimiterTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/ratelimiter/TokenBucketLimiterTest.java
@@ -17,6 +17,7 @@
 package org.apache.seata.server.ratelimiter;
 
 import org.apache.seata.common.thread.NamedThreadFactory;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.limit.ratelimit.RateLimiter;
 import org.apache.seata.server.limit.ratelimit.TokenBucketLimiter;
 
@@ -25,6 +26,7 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 import org.springframework.util.StopWatch;
 
 import java.util.concurrent.CountDownLatch;
@@ -37,6 +39,7 @@ import java.util.concurrent.atomic.AtomicInteger;
  * TokenBucketLimiterTest
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class TokenBucketLimiterTest {
     
     /**
diff --git 
a/server/src/test/java/org/apache/seata/server/session/BranchSessionTest.java 
b/server/src/test/java/org/apache/seata/server/session/BranchSessionTest.java
index 901620ffd7..145557eba6 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/BranchSessionTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/BranchSessionTest.java
@@ -22,6 +22,7 @@ import java.util.stream.Stream;
 import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.common.util.UUIDGenerator;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -29,6 +30,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -38,6 +40,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * @since 2019 /1/23
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class BranchSessionTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/session/FileSessionManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/FileSessionManagerTest.java
index 8829d0d053..e3b788f6fa 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/FileSessionManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/FileSessionManagerTest.java
@@ -37,6 +37,7 @@ import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.core.model.LockStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.console.entity.param.GlobalSessionParam;
 import org.apache.seata.server.console.service.BranchSessionService;
 import org.apache.seata.server.console.service.GlobalSessionService;
@@ -53,6 +54,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -62,6 +64,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * @since 2019 /1/22
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class FileSessionManagerTest {
 
 
diff --git 
a/server/src/test/java/org/apache/seata/server/session/GlobalSessionTest.java 
b/server/src/test/java/org/apache/seata/server/session/GlobalSessionTest.java
index 36f5cf5e65..7e5eebb374 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/GlobalSessionTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/GlobalSessionTest.java
@@ -24,6 +24,7 @@ import org.apache.seata.core.exception.TransactionException;
 import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -32,7 +33,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -42,6 +43,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * @since 2019 /1/23
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class GlobalSessionTest {
 
 
diff --git 
a/server/src/test/java/org/apache/seata/server/session/SessionHolderTest.java 
b/server/src/test/java/org/apache/seata/server/session/SessionHolderTest.java
index 6e6fe855c6..cef3022ca4 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/SessionHolderTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/SessionHolderTest.java
@@ -21,6 +21,7 @@ import java.io.IOException;
 import org.apache.seata.common.XID;
 import org.apache.seata.common.store.SessionMode;
 import org.apache.seata.core.constants.ConfigurationKeys;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestMethodOrder;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.Constants.ASYNC_COMMITTING;
 import static org.apache.seata.common.Constants.RETRY_COMMITTING;
@@ -45,6 +47,7 @@ import static java.io.File.separator;
  */
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class SessionHolderTest {
     private String pathname;
 
diff --git 
a/server/src/test/java/org/apache/seata/server/session/SessionStatusValidatorTest.java
 
b/server/src/test/java/org/apache/seata/server/session/SessionStatusValidatorTest.java
index 4adf98a170..4c401d9f95 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/SessionStatusValidatorTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/SessionStatusValidatorTest.java
@@ -17,15 +17,18 @@
 package org.apache.seata.server.session;
 
 import org.apache.seata.core.model.GlobalStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  * the type change status validator test
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class SessionStatusValidatorTest {
 
     @Test
diff --git 
a/server/src/test/java/org/apache/seata/server/session/db/DataBaseSessionManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/db/DataBaseSessionManagerTest.java
index f4b45f4346..0728cb5853 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/db/DataBaseSessionManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/db/DataBaseSessionManagerTest.java
@@ -30,6 +30,7 @@ import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.common.util.UUIDGenerator;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.session.SessionCondition;
@@ -44,6 +45,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -52,6 +54,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class DataBaseSessionManagerTest {
 
     static SessionManager sessionManager = null;
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisDistributedLockerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisDistributedLockerTest.java
index 215571d3eb..a1c0d2220d 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisDistributedLockerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisDistributedLockerTest.java
@@ -22,6 +22,7 @@ import org.apache.seata.common.XID;
 import org.apache.seata.common.loader.EnhancedServiceLoader;
 import org.apache.seata.common.store.SessionMode;
 import org.apache.seata.common.store.StoreMode;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 import redis.clients.jedis.Jedis;
 import org.apache.seata.core.store.DistributedLockDO;
 import org.apache.seata.core.store.DistributedLocker;
@@ -42,6 +44,7 @@ import 
org.apache.seata.server.storage.redis.JedisPooledFactory;
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisDistributedLockerTest {
 
     private String retryRollbacking = "RetryRollbacking";
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisLuaTransactionStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisLuaTransactionStoreManagerTest.java
index b52d23528c..ee78910166 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisLuaTransactionStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisLuaTransactionStoreManagerTest.java
@@ -19,6 +19,7 @@ package org.apache.seata.server.session.redis;
 import java.io.IOException;
 
 import org.apache.seata.common.loader.EnhancedServiceLoader;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.storage.redis.session.RedisSessionManager;
 import 
org.apache.seata.server.storage.redis.store.RedisLuaTransactionStoreManager;
 
@@ -26,6 +27,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  * test RedisLuaTransactionStoreManager
@@ -33,6 +35,7 @@ import org.springframework.context.ApplicationContext;
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisLuaTransactionStoreManagerTest extends 
RedisTransactionStoreManagerTest {
 
     /**
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisQueryConsolTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisQueryConsolTest.java
index 63f3491acd..054195cd97 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisQueryConsolTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisQueryConsolTest.java
@@ -20,6 +20,7 @@ import javax.annotation.Resource;
 
 import com.alibaba.fastjson.JSON;
 import org.apache.seata.common.result.PageResult;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.console.entity.param.GlobalLockParam;
 import org.apache.seata.server.console.entity.param.GlobalSessionParam;
 import org.apache.seata.server.console.service.GlobalLockService;
@@ -29,11 +30,13 @@ import 
org.apache.seata.server.console.entity.vo.GlobalSessionVO;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisQueryConsolTest {
 
     /**
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisSessionManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisSessionManagerTest.java
index e343114e99..8f773e54df 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisSessionManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisSessionManagerTest.java
@@ -28,6 +28,7 @@ import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.common.util.UUIDGenerator;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.session.SessionCondition;
@@ -42,7 +43,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
+import org.springframework.context.annotation.Import;
 
 import static org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
 
@@ -50,6 +51,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisSessionManagerTest {
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(RedisSessionManagerTest.class);
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisTransactionStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisTransactionStoreManagerTest.java
index d2deccae9b..518ec719cd 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/RedisTransactionStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/RedisTransactionStoreManagerTest.java
@@ -27,6 +27,7 @@ import org.apache.seata.common.loader.EnhancedServiceLoader;
 import org.apache.seata.common.util.BeanUtils;
 import org.apache.seata.common.util.CollectionUtils;
 import org.apache.seata.core.exception.TransactionException;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.console.entity.param.GlobalSessionParam;
 import org.apache.seata.server.console.entity.vo.GlobalLockVO;
 import org.apache.seata.core.model.GlobalStatus;
@@ -46,6 +47,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 import redis.clients.jedis.Jedis;
 
 import static 
org.apache.seata.server.storage.SessionConverter.convertToGlobalSessionVo;
@@ -53,6 +55,7 @@ import static 
org.apache.seata.server.storage.SessionConverter.convertToGlobalSe
  */
 @SpringBootTest
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
+@Import(DynamicPortTestConfig.class)
 public class RedisTransactionStoreManagerTest {
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(RedisTransactionStoreManagerTest.class);
diff --git 
a/server/src/test/java/org/apache/seata/server/session/redis/SessionConverterTest.java
 
b/server/src/test/java/org/apache/seata/server/session/redis/SessionConverterTest.java
index aae6010771..0be618ba0a 100644
--- 
a/server/src/test/java/org/apache/seata/server/session/redis/SessionConverterTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/session/redis/SessionConverterTest.java
@@ -23,18 +23,21 @@ import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
 import org.apache.seata.core.store.BranchTransactionDO;
 import org.apache.seata.core.store.GlobalTransactionDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.BranchSession;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.storage.SessionConverter;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
 
 /**
  * The session converter utils
  *
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class SessionConverterTest {
 
     @Test
diff --git 
a/server/src/test/java/org/apache/seata/server/storage/file/store/FileVGroupMappingStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/storage/file/store/FileVGroupMappingStoreManagerTest.java
index 4de867f67a..5ce1703e66 100644
--- 
a/server/src/test/java/org/apache/seata/server/storage/file/store/FileVGroupMappingStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/storage/file/store/FileVGroupMappingStoreManagerTest.java
@@ -18,6 +18,7 @@ package org.apache.seata.server.storage.file.store;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.seata.core.store.MappingDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -29,13 +30,14 @@ import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Map;
-
+import org.springframework.context.annotation.Import;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
 @ExtendWith(MockitoExtension.class)
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class FileVGroupMappingStoreManagerTest {
 
     private FileVGroupMappingStoreManager fileVGroupMappingStoreManager;
diff --git 
a/server/src/test/java/org/apache/seata/server/storage/raft/store/RaftVGroupMappingStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/storage/raft/store/RaftVGroupMappingStoreManagerTest.java
index 250062a4b7..f620037484 100644
--- 
a/server/src/test/java/org/apache/seata/server/storage/raft/store/RaftVGroupMappingStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/storage/raft/store/RaftVGroupMappingStoreManagerTest.java
@@ -17,17 +17,20 @@
 package org.apache.seata.server.storage.raft.store;
 
 import org.apache.seata.core.store.MappingDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.util.HashMap;
 import java.util.Map;
+import org.springframework.context.annotation.Import;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RaftVGroupMappingStoreManagerTest {
 
        private RaftVGroupMappingStoreManager raftVGroupMappingStoreManager;
diff --git 
a/server/src/test/java/org/apache/seata/server/storage/redis/store/RedisVGroupMappingStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/storage/redis/store/RedisVGroupMappingStoreManagerTest.java
index 49418ae807..89e3a820cb 100644
--- 
a/server/src/test/java/org/apache/seata/server/storage/redis/store/RedisVGroupMappingStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/storage/redis/store/RedisVGroupMappingStoreManagerTest.java
@@ -18,6 +18,7 @@ package org.apache.seata.server.storage.redis.store;
 
 import org.apache.seata.common.metadata.Instance;
 import org.apache.seata.core.store.MappingDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -25,10 +26,11 @@ import 
org.junit.jupiter.api.condition.EnabledIfSystemProperty;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.util.Map;
-
+import org.springframework.context.annotation.Import;
 
 @EnabledIfSystemProperty(named = "redisCaseEnabled", matches = "true")
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RedisVGroupMappingStoreManagerTest {
     private RedisVGroupMappingStoreManager redisVGroupMappingStoreManager;
 
diff --git 
a/server/src/test/java/org/apache/seata/server/store/RaftSyncMessageSerializerTest.java
 
b/server/src/test/java/org/apache/seata/server/store/RaftSyncMessageSerializerTest.java
index 9e75aaf75a..51440c3d8e 100644
--- 
a/server/src/test/java/org/apache/seata/server/store/RaftSyncMessageSerializerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/store/RaftSyncMessageSerializerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.seata.server.store;
 
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.cluster.raft.sync.msg.RaftGlobalSessionSyncMsg;
 import org.apache.seata.server.cluster.raft.sync.msg.RaftSyncMsgType;
 import org.apache.seata.server.cluster.raft.sync.msg.dto.GlobalTransactionDTO;
@@ -29,10 +30,12 @@ import 
org.apache.seata.server.cluster.raft.sync.RaftSyncMessageSerializer;
 import org.apache.seata.server.cluster.raft.sync.msg.RaftSyncMessage;
 import org.apache.seata.server.session.GlobalSession;
 import org.apache.seata.server.storage.SessionConverter;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class RaftSyncMessageSerializerTest {
     @BeforeAll
     public static void setUp(ApplicationContext context) {
diff --git 
a/server/src/test/java/org/apache/seata/server/store/SessionStoreTest.java 
b/server/src/test/java/org/apache/seata/server/store/SessionStoreTest.java
index 23da64b729..8bbcb90c09 100644
--- a/server/src/test/java/org/apache/seata/server/store/SessionStoreTest.java
+++ b/server/src/test/java/org/apache/seata/server/store/SessionStoreTest.java
@@ -26,6 +26,7 @@ import org.apache.seata.core.constants.ConfigurationKeys;
 import org.apache.seata.core.model.BranchStatus;
 import org.apache.seata.core.model.BranchType;
 import org.apache.seata.core.model.GlobalStatus;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.LockManager;
 import org.apache.seata.server.lock.file.FileLockManagerForTest;
 import org.apache.seata.server.session.BranchSession;
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 import static 
org.apache.seata.common.DefaultValues.DEFAULT_SESSION_STORE_FILE_DIR;
 import static java.io.File.separator;
@@ -47,6 +49,7 @@ import static 
org.apache.seata.common.DefaultValues.DEFAULT_TX_GROUP;
  * The type Session store test.
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class SessionStoreTest {
 
     @BeforeAll
diff --git 
a/server/src/test/java/org/apache/seata/server/store/db/AbstractDataSourceProviderTest.java
 
b/server/src/test/java/org/apache/seata/server/store/db/AbstractDataSourceProviderTest.java
index 222d6dd611..d99e184c30 100644
--- 
a/server/src/test/java/org/apache/seata/server/store/db/AbstractDataSourceProviderTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/store/db/AbstractDataSourceProviderTest.java
@@ -22,6 +22,7 @@ import org.apache.seata.common.loader.EnhancedServiceLoader;
 import org.apache.seata.common.loader.EnhancedServiceNotFoundException;
 import org.apache.seata.config.ConfigurationFactory;
 import org.apache.seata.core.store.db.DataSourceProvider;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.lock.LockerManagerFactory;
 import org.apache.seata.server.session.SessionHolder;
 import org.junit.After;
@@ -35,11 +36,13 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestMethodOrder;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
+@Import(DynamicPortTestConfig.class)
 public class AbstractDataSourceProviderTest {
 
     private final String dbcpDatasourceType = "dbcp";
diff --git 
a/server/src/test/java/org/apache/seata/server/store/db/LogStoreDataBaseDAOTest.java
 
b/server/src/test/java/org/apache/seata/server/store/db/LogStoreDataBaseDAOTest.java
index b561cba14b..bdb8a77c23 100644
--- 
a/server/src/test/java/org/apache/seata/server/store/db/LogStoreDataBaseDAOTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/store/db/LogStoreDataBaseDAOTest.java
@@ -26,6 +26,7 @@ import org.apache.seata.common.util.CollectionUtils;
 import org.apache.seata.common.util.IOUtil;
 import org.apache.seata.core.store.BranchTransactionDO;
 import org.apache.seata.core.store.GlobalTransactionDO;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.storage.db.store.LogStoreDataBaseDAO;
 import org.apache.commons.dbcp2.BasicDataSource;
 import org.h2.store.fs.FileUtils;
@@ -35,11 +36,12 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class LogStoreDataBaseDAOTest {
 
     static LogStoreDataBaseDAO logStoreDataBaseDAO  = null;
diff --git 
a/server/src/test/java/org/apache/seata/server/store/file/FileTransactionStoreManagerTest.java
 
b/server/src/test/java/org/apache/seata/server/store/file/FileTransactionStoreManagerTest.java
index 9c5a8915cc..0aba78a563 100644
--- 
a/server/src/test/java/org/apache/seata/server/store/file/FileTransactionStoreManagerTest.java
+++ 
b/server/src/test/java/org/apache/seata/server/store/file/FileTransactionStoreManagerTest.java
@@ -24,6 +24,7 @@ import java.util.Collection;
 import java.util.List;
 
 import org.apache.seata.common.store.SessionMode;
+import org.apache.seata.server.DynamicPortTestConfig;
 import org.apache.seata.server.session.SessionHolder;
 import org.assertj.core.util.Files;
 import org.junit.jupiter.api.AfterEach;
@@ -44,10 +45,12 @@ import 
org.apache.seata.server.storage.file.store.FileTransactionStoreManager;
 import org.apache.seata.server.store.StoreConfig;
 import org.apache.seata.server.store.TransactionStoreManager;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Import;
 
 /**
  */
 @SpringBootTest
+@Import(DynamicPortTestConfig.class)
 public class FileTransactionStoreManagerTest {
 
     @BeforeEach


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org

Reply via email to