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

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3a70d6665ff Use AutoMockExtension on mode modules (#24387)
3a70d6665ff is described below

commit 3a70d6665ffa5ccbd2a908a51fb89f34bcc572db
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Feb 28 20:16:27 2023 +0800

    Use AutoMockExtension on mode modules (#24387)
---
 jdbc/core/pom.xml                                  |  2 +-
 .../mode/metadata/MetaDataContextsFactoryTest.java | 66 ++++++----------------
 .../ProcessStandaloneSubscriberTest.java           | 43 ++++----------
 test/it/pipeline/pom.xml                           |  2 +-
 4 files changed, 28 insertions(+), 85 deletions(-)

diff --git a/jdbc/core/pom.xml b/jdbc/core/pom.xml
index 4ba76c8a7da..a6bee6ec7b4 100644
--- a/jdbc/core/pom.xml
+++ b/jdbc/core/pom.xml
@@ -175,7 +175,7 @@
             <artifactId>shardingsphere-logging-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-
+        
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-test-util</artifactId>
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
index 27959bc9cf8..9444863bd2c 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
@@ -23,7 +23,6 @@ import 
org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
 import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -34,37 +33,36 @@ import 
org.apache.shardingsphere.mode.metadata.persist.service.config.global.Pro
 import org.apache.shardingsphere.test.fixture.infra.rule.MockedRule;
 import 
org.apache.shardingsphere.test.fixture.infra.rule.MockedRuleConfiguration;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.shardingsphere.test.mock.AutoMockExtension;
+import org.apache.shardingsphere.test.mock.StaticMockSettings;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Answers;
 import org.mockito.Mock;
-import org.mockito.MockedStatic;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoSettings;
+import org.mockito.quality.Strictness;
 
 import java.sql.SQLException;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.Map;
 import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyCollection;
 import static org.mockito.Mockito.anyMap;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.mockStatic;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(AutoMockExtension.class)
+@StaticMockSettings({ShardingSphereDatabasesFactory.class, 
GlobalRulesBuilder.class})
+@MockitoSettings(strictness = Strictness.LENIENT)
 public final class MetaDataContextsFactoryTest {
     
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -73,24 +71,8 @@ public final class MetaDataContextsFactoryTest {
     @Mock
     private DatabaseMetaDataPersistService databaseMetaDataPersistService;
     
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private ShardingSphereDatabase database;
-    
-    @Mock
-    private JDBCInstanceMetaData jdbcInstanceMetaData;
-    
-    private final Collection<ShardingSphereRule> rules = new LinkedList<>();
-    
-    private final Map<String, ShardingSphereDatabase> databases = new 
HashMap<>();
-    
-    private MockedStatic<ShardingSphereDatabasesFactory> databasesFactory;
-    
-    private MockedStatic<GlobalRulesBuilder> globalRulesBuilder;
-    
-    @Before
-    public void setUp() {
-        rules.add(new MockedRule());
-        databases.put("foo_db", database);
+    @BeforeEach
+    public void setUp() throws SQLException {
         when(metaDataPersistService.getEffectiveDataSources(eq("foo_db"), 
anyMap())).thenReturn(Collections.singletonMap("foo_ds", new 
MockedDataSource()));
         DatabaseRulePersistService databaseRulePersistService = 
mockDatabaseRulePersistService();
         
when(metaDataPersistService.getDatabaseRulePersistService()).thenReturn(databaseRulePersistService);
@@ -100,18 +82,8 @@ public final class MetaDataContextsFactoryTest {
         when(propertiesPersistService.load()).thenReturn(new Properties());
         
when(metaDataPersistService.getPropsService()).thenReturn(propertiesPersistService);
         
when(metaDataPersistService.getDatabaseMetaDataService()).thenReturn(databaseMetaDataPersistService);
-        mockDatabasesFactory();
-        mockGlobalRulesBuilder();
-    }
-    
-    private void mockDatabasesFactory() {
-        databasesFactory = mockStatic(ShardingSphereDatabasesFactory.class);
-        databasesFactory.when(() -> 
ShardingSphereDatabasesFactory.create(anyMap(), any(), 
any())).thenReturn(databases);
-    }
-    
-    private void mockGlobalRulesBuilder() {
-        globalRulesBuilder = mockStatic(GlobalRulesBuilder.class);
-        globalRulesBuilder.when(() -> 
GlobalRulesBuilder.buildRules(anyCollection(), anyMap(), 
any(ConfigurationProperties.class))).thenReturn(rules);
+        when(ShardingSphereDatabasesFactory.create(anyMap(), any(), 
any())).thenReturn(new HashMap<>(Collections.singletonMap("foo_db", 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS))));
+        when(GlobalRulesBuilder.buildRules(anyCollection(), anyMap(), 
any(ConfigurationProperties.class))).thenReturn(Collections.singleton(new 
MockedRule()));
     }
     
     private DatabaseRulePersistService mockDatabaseRulePersistService() {
@@ -129,7 +101,7 @@ public final class MetaDataContextsFactoryTest {
     @Test
     public void assertCreateWithJDBCInstanceMetaData() throws SQLException {
         InstanceContext instanceContext = mock(InstanceContext.class, 
RETURNS_DEEP_STUBS);
-        
when(instanceContext.getInstance().getMetaData()).thenReturn(jdbcInstanceMetaData);
+        
when(instanceContext.getInstance().getMetaData()).thenReturn(mock(JDBCInstanceMetaData.class));
         try (MetaDataContexts actual = 
MetaDataContextsFactory.create(metaDataPersistService, 
createContextManagerBuilderParameter(), instanceContext)) {
             
assertThat(actual.getMetaData().getGlobalRuleMetaData().getRules().size(), 
is(1));
             
assertThat(actual.getMetaData().getGlobalRuleMetaData().getRules().iterator().next(),
 instanceOf(MockedRule.class));
@@ -155,10 +127,4 @@ public final class MetaDataContextsFactoryTest {
         return new ContextManagerBuilderParameter(null,
                 Collections.singletonMap("foo_db", 
mock(DataSourceGeneratedDatabaseConfiguration.class)), Collections.emptyList(), 
new Properties(), Collections.emptyList(), null, false);
     }
-    
-    @After
-    public void tearDown() {
-        databasesFactory.close();
-        globalRulesBuilder.close();
-    }
 }
diff --git 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
index b10af07b7e7..10d4fe83a88 100644
--- 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
+++ 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
@@ -20,47 +20,24 @@ package 
org.apache.shardingsphere.mode.manager.standalone.subscriber;
 import 
org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import 
org.apache.shardingsphere.mode.process.event.ShowProcessListRequestEvent;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.MockedStatic;
-
-import java.util.Collections;
+import org.apache.shardingsphere.test.mock.AutoMockExtension;
+import org.apache.shardingsphere.test.mock.StaticMockSettings;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.mockStatic;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+@ExtendWith(AutoMockExtension.class)
+@StaticMockSettings(ShowProcessListManager.class)
 public final class ProcessStandaloneSubscriberTest {
     
-    private final EventBusContext eventBusContext = new EventBusContext();
-    
-    private ProcessStandaloneSubscriber processRegistrySubscriber;
-    
-    private ShowProcessListManager showProcessListManager;
-    
-    private MockedStatic<ShowProcessListManager> mockedStatic;
-    
-    @Before
-    public void setUp() {
-        processRegistrySubscriber = new 
ProcessStandaloneSubscriber(eventBusContext);
-        mockedStatic = mockStatic(ShowProcessListManager.class);
-        showProcessListManager = mock(ShowProcessListManager.class);
-        
mockedStatic.when(ShowProcessListManager::getInstance).thenReturn(showProcessListManager);
-    }
-    
     @Test
     public void assertLoadShowProcessListData() {
-        ShowProcessListRequestEvent showProcessListRequestEvent = 
mock(ShowProcessListRequestEvent.class);
-        
when(showProcessListManager.getProcessContexts()).thenReturn(Collections.emptyMap());
-        
processRegistrySubscriber.loadShowProcessListData(showProcessListRequestEvent);
-        verify(showProcessListManager, times(1)).getProcessContexts();
-    }
-    
-    @After
-    public void tearDown() {
-        mockedStatic.close();
+        ShowProcessListManager showProcessListManager = 
mock(ShowProcessListManager.class);
+        
when(ShowProcessListManager.getInstance()).thenReturn(showProcessListManager);
+        new ProcessStandaloneSubscriber(new 
EventBusContext()).loadShowProcessListData(mock(ShowProcessListRequestEvent.class));
+        verify(showProcessListManager).getProcessContexts();
     }
 }
diff --git a/test/it/pipeline/pom.xml b/test/it/pipeline/pom.xml
index f03a701db3b..3c94d9eb257 100644
--- a/test/it/pipeline/pom.xml
+++ b/test/it/pipeline/pom.xml
@@ -68,7 +68,7 @@
             
<artifactId>shardingsphere-cluster-mode-repository-zookeeper</artifactId>
             <version>${project.version}</version>
         </dependency>
-
+        
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-test-util</artifactId>

Reply via email to