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

menghaoran 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 66fccea  Refactor ContextManagerTest (#15239)
66fccea is described below

commit 66fccea7ef51a7463ae07404be5aa4930e23db92
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Feb 3 17:53:15 2022 +0800

    Refactor ContextManagerTest (#15239)
---
 .../mode/manager/ContextManagerTest.java           | 184 +++++++--------------
 1 file changed, 60 insertions(+), 124 deletions(-)

diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index 309f2d9..625978a 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.mode.manager;
 
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.DefaultSchema;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
 import 
org.apache.shardingsphere.infra.federation.optimizer.context.OptimizerContext;
 import 
org.apache.shardingsphere.infra.federation.optimizer.context.parser.OptimizerParserContext;
 import 
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContext;
@@ -49,11 +49,9 @@ import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
 import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -61,7 +59,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertFalse;
@@ -120,57 +117,40 @@ public final class ContextManagerTest {
     
     @Test
     public void assertGetDataSourceMap() {
-        DataSourcesMetaData dataSourceMetadata = 
mock(DataSourcesMetaData.class);
-        CachedDatabaseMetaData cachedMetadata = 
mock(CachedDatabaseMetaData.class);
-        DatabaseType databaseType = mock(DatabaseType.class);
-        ShardingSphereRuleMetaData sphereRuleMetadata = 
mock(ShardingSphereRuleMetaData.class);
-        ShardingSphereResource resource = new 
ShardingSphereResource(dataSourceMap, dataSourceMetadata, cachedMetadata, 
databaseType);
-        ShardingSphereMetaData metadata = new 
ShardingSphereMetaData("logic_schema", resource, sphereRuleMetadata, new 
ShardingSphereSchema());
-        when(metaDataContexts.getMetaData(anyString())).thenReturn(metadata);
-        Map<String, DataSource> dataSourceMap = 
contextManager.getDataSourceMap(DefaultSchema.LOGIC_NAME);
-        assertThat(dataSourceMap.size(), is(2));
+        ShardingSphereResource resource = new 
ShardingSphereResource(dataSourceMap, mock(DataSourcesMetaData.class), 
mock(CachedDatabaseMetaData.class), mock(DatabaseType.class));
+        when(metaDataContexts.getMetaData(anyString())).thenReturn(new 
ShardingSphereMetaData("logic_schema", resource, 
mock(ShardingSphereRuleMetaData.class), new ShardingSphereSchema()));
+        
assertThat(contextManager.getDataSourceMap(DefaultSchema.LOGIC_NAME).size(), 
is(2));
     }
     
     @Test
     public void assertAddSchema() throws SQLException {
-        Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
-        when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
-        OptimizerContext optimizerContext = mock(OptimizerContext.class, 
RETURNS_DEEP_STUBS);
-        Map<String, FederationSchemaMetaData> federationSchemaMetaDataMap = 
new LinkedHashMap<>();
-        
when(optimizerContext.getFederationMetaData().getSchemas()).thenReturn(federationSchemaMetaDataMap);
-        ConfigurationProperties configurationProperties = 
mock(ConfigurationProperties.class);
-        when(metaDataContexts.getProps()).thenReturn(configurationProperties);
-        
when(metaDataContexts.getOptimizerContext()).thenReturn(optimizerContext);
-        ShardingSphereRuleMetaData shardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class, RETURNS_DEEP_STUBS);
-        
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(shardingSphereRuleMetaData);
+        when(metaDataContexts.getMetaDataMap()).thenReturn(new 
LinkedHashMap<>());
+        
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(mock(ShardingSphereRuleMetaData.class,
 RETURNS_DEEP_STUBS));
+        
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
+        
when(metaDataContexts.getProps()).thenReturn(mock(ConfigurationProperties.class));
         contextManager.addSchema("test_add_schema");
-        assertTrue(federationSchemaMetaDataMap.containsKey("test_add_schema"));
-        assertTrue(metaDataMap.containsKey("test_add_schema"));
+        
assertTrue(metaDataContexts.getMetaDataMap().containsKey("test_add_schema"));
+        
assertTrue(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas().containsKey("test_add_schema"));
     }
     
     @Test
     public void assertDeleteSchema() {
         Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
+        metaDataMap.put("test_delete_schema", 
mock(ShardingSphereMetaData.class));
         when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
-        ShardingSphereMetaData shardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
-        metaDataMap.put("test_delete_schema", shardingSphereMetaData);
         FederationSchemaMetaData federationSchemaMetaData = 
mock(FederationSchemaMetaData.class);
         Map<String, FederationSchemaMetaData> federationSchemaMetaDataMap = 
new LinkedHashMap<>();
         federationSchemaMetaDataMap.put("test_delete_schema", 
federationSchemaMetaData);
+        
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(federationSchemaMetaDataMap);
         Map<String, OptimizerParserContext> parserContexts = new 
LinkedHashMap<>();
-        OptimizerParserContext optimizerParserContext = 
mock(OptimizerParserContext.class);
-        parserContexts.put("test_delete_schema", optimizerParserContext);
+        parserContexts.put("test_delete_schema", 
mock(OptimizerParserContext.class));
+        
when(metaDataContexts.getOptimizerContext().getParserContexts()).thenReturn(parserContexts);
         Map<String, OptimizerPlannerContext> plannerContexts = new 
LinkedHashMap<>();
-        OptimizerPlannerContext optimizerPlannerContext = 
mock(OptimizerPlannerContext.class);
-        plannerContexts.put("test_delete_schema", optimizerPlannerContext);
-        OptimizerContext optimizerContext = mock(OptimizerContext.class, 
RETURNS_DEEP_STUBS);
-        
when(optimizerContext.getFederationMetaData().getSchemas()).thenReturn(federationSchemaMetaDataMap);
-        
when(optimizerContext.getPlannerContexts()).thenReturn(plannerContexts);
-        when(optimizerContext.getParserContexts()).thenReturn(parserContexts);
-        
when(metaDataContexts.getOptimizerContext()).thenReturn(optimizerContext);
+        plannerContexts.put("test_delete_schema", 
mock(OptimizerPlannerContext.class));
+        
when(metaDataContexts.getOptimizerContext().getPlannerContexts()).thenReturn(plannerContexts);
         contextManager.deleteSchema("test_delete_schema");
-        assertFalse(metaDataMap.containsKey("test_delete_schema"));
-        
assertFalse(federationSchemaMetaDataMap.containsKey("test_delete_schema"));
+        
assertFalse(metaDataContexts.getMetaDataMap().containsKey("test_delete_schema"));
+        
assertFalse(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas().containsKey("test_delete_schema"));
         assertFalse(parserContexts.containsKey("test_delete_schema"));
         assertFalse(plannerContexts.containsKey("test_delete_schema"));
     }
@@ -178,40 +158,24 @@ public final class ContextManagerTest {
     @Test
     public void assertAlterSchema() {
         Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
-        when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
         ShardingSphereMetaData shardingSphereMetaData = 
mock(ShardingSphereMetaData.class, RETURNS_DEEP_STUBS);
         metaDataMap.put("test_schema", shardingSphereMetaData);
+        when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
         
when(metaDataContexts.getMetaData("test_schema")).thenReturn(shardingSphereMetaData);
-        OptimizerContext optimizerContext = mock(OptimizerContext.class, 
RETURNS_DEEP_STUBS);
-        FederationMetaData federationMetaData = mock(FederationMetaData.class);
-        
when(optimizerContext.getFederationMetaData()).thenReturn(federationMetaData);
-        Map<String, FederationSchemaMetaData> federationSchemaMetaDataMap = 
new LinkedHashMap<>();
-        
when(federationMetaData.getSchemas()).thenReturn(federationSchemaMetaDataMap);
-        
when(metaDataContexts.getOptimizerContext()).thenReturn(optimizerContext);
-        Map<String, TableMetaData> tables = new ConcurrentHashMap<>();
-        ShardingSphereSchema shardingSphereSchema = 
mock(ShardingSphereSchema.class, RETURNS_DEEP_STUBS);
-        when(shardingSphereSchema.getTables()).thenReturn(tables);
-        TableMetaData testTableMetaData = mock(TableMetaData.class, 
RETURNS_DEEP_STUBS);
-        when(testTableMetaData.getName()).thenReturn("test_table_1");
-        tables.put("test_table_1", testTableMetaData);
-        contextManager.alterSchema("test_schema", shardingSphereSchema);
+        
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
+        Map<String, TableMetaData> tables = new HashMap<>();
+        tables.put("test_table_1", new TableMetaData("test_table_1", 
Collections.emptyList(), Collections.emptyList()));
+        contextManager.alterSchema("test_schema", new 
ShardingSphereSchema(tables));
         
assertTrue(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas().get("test_schema").getTables().containsKey("test_table_1"));
     }
     
     @Test
     public void assertAddResource() throws SQLException {
-        mockMetaDataContextsForAddResource();
-        contextManager.addResource("test_schema", 
createToBeAddedDataSourceProperties());
-        
assertAddedDataSources(contextManager.getMetaDataContexts().getMetaDataMap().get("test_schema").getResource().getDataSources());
-    }
-    
-    private void mockMetaDataContextsForAddResource() {
         ShardingSphereMetaData originalMetaData = mockOriginalMetaData();
         
when(metaDataContexts.getMetaData("test_schema")).thenReturn(originalMetaData);
         Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
         metaDataMap.put("test_schema", originalMetaData);
         when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
-        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
         ShardingSphereRuleMetaData globalRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
         when(globalRuleMetaData.getConfigurations()).thenReturn(new 
LinkedList<>());
         
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
@@ -219,16 +183,27 @@ public final class ContextManagerTest {
         
when(metaDataContexts.getOptimizerContext().getFederationMetaData()).thenReturn(mock(FederationMetaData.class));
         
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
         
when(metaDataContexts.getOptimizerContext().getParserContexts()).thenReturn(new 
LinkedHashMap<>());
+        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
+        contextManager.addResource("test_schema", 
createToBeAddedDataSourceProperties());
+        
assertAddedDataSources(contextManager.getMetaDataContexts().getMetaDataMap().get("test_schema").getResource().getDataSources());
     }
     
     private ShardingSphereMetaData mockOriginalMetaData() {
         ShardingSphereMetaData result = mock(ShardingSphereMetaData.class, 
RETURNS_DEEP_STUBS);
         when(result.getName()).thenReturn("test_schema");
-        when(result.getRuleMetaData().getConfigurations()).thenReturn(new 
LinkedList<>());
         when(result.getResource().getDataSources()).thenReturn(new 
LinkedHashMap<>());
+        when(result.getRuleMetaData().getConfigurations()).thenReturn(new 
LinkedList<>());
         return result;
     }
     
+    private void assertAddedDataSources(final Map<String, DataSource> actual) {
+        
assertThat(contextManager.getMetaDataContexts().getMetaDataMap().get("test_schema").getResource().getDataSources().size(),
 is(2));
+        assertTrue(actual.containsKey("foo_ds_1"));
+        assertDataSource((MockedDataSource) actual.get("foo_ds_1"));
+        assertTrue(actual.containsKey("foo_ds_2"));
+        assertDataSource((MockedDataSource) actual.get("foo_ds_2"));
+    }
+    
     private Map<String, DataSourceProperties> 
createToBeAddedDataSourceProperties() {
         Properties dataSourceProps = new Properties();
         dataSourceProps.put("jdbcUrl", "jdbc:mock://127.0.0.1/foo_ds");
@@ -238,14 +213,6 @@ public final class ContextManagerTest {
         return result;
     }
     
-    private void assertAddedDataSources(final Map<String, DataSource> actual) {
-        
assertThat(contextManager.getMetaDataContexts().getMetaDataMap().get("test_schema").getResource().getDataSources().size(),
 is(2));
-        assertTrue(actual.containsKey("foo_ds_1"));
-        assertDataSource((MockedDataSource) actual.get("foo_ds_1"));
-        assertTrue(actual.containsKey("foo_ds_2"));
-        assertDataSource((MockedDataSource) actual.get("foo_ds_2"));
-    }
-    
     @Test
     public void assertAlterResource() throws SQLException {
         Map<String, DataSource> dataSources = new LinkedHashMap<>();
@@ -253,17 +220,12 @@ public final class ContextManagerTest {
         ShardingSphereResource originalResource = 
mock(ShardingSphereResource.class);
         when(originalResource.getDataSources()).thenReturn(dataSources);
         ShardingSphereRuleMetaData originalShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
-        List<RuleConfiguration> ruleConfigurations = new LinkedList<>();
-        
when(originalShardingSphereRuleMetaData.getConfigurations()).thenReturn(ruleConfigurations);
-        ShardingSphereMetaData originalMetaData = 
mock(ShardingSphereMetaData.class, RETURNS_DEEP_STUBS);
-        when(originalMetaData.getName()).thenReturn("test_schema");
-        
when(originalMetaData.getRuleMetaData()).thenReturn(originalShardingSphereRuleMetaData);
-        when(originalMetaData.getResource()).thenReturn(originalResource);
+        
when(originalShardingSphereRuleMetaData.getConfigurations()).thenReturn(new 
LinkedList<>());
+        ShardingSphereMetaData originalMetaData = new 
ShardingSphereMetaData("test_schema", originalResource, 
originalShardingSphereRuleMetaData, mock(ShardingSphereSchema.class));
         Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
         metaDataMap.put("test_schema", originalMetaData);
         when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
         
when(metaDataContexts.getMetaData("test_schema")).thenReturn(originalMetaData);
-        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
         ShardingSphereRuleMetaData globalShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
         
when(globalShardingSphereRuleMetaData.getConfigurations()).thenReturn(new 
LinkedList<>());
         
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(globalShardingSphereRuleMetaData);
@@ -271,6 +233,7 @@ public final class ContextManagerTest {
         
when(metaDataContexts.getOptimizerContext().getFederationMetaData()).thenReturn(mock(FederationMetaData.class));
         
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
         
when(metaDataContexts.getOptimizerContext().getParserContexts()).thenReturn(new 
LinkedHashMap<>());
+        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
         contextManager.alterResource("test_schema", 
createToBeAlteredDataSourceProperties());
         assertAlteredDataSource((MockedDataSource) 
contextManager.getMetaDataContexts().getMetaDataMap().get("test_schema").getResource().getDataSources().get("foo_ds"));
     }
@@ -302,38 +265,26 @@ public final class ContextManagerTest {
         Map<String, DataSource> originalDataSources = new LinkedHashMap<>();
         originalDataSources.put("ds_1", new MockedDataSource());
         
when(originalResource.getDataSources()).thenReturn(originalDataSources);
-        List<String> dsNamesToBeDropped = new LinkedList<>();
-        dsNamesToBeDropped.add("ds_1");
-        contextManager.dropResource("test_schema", dsNamesToBeDropped);
-        
assertThat(contextManager.getMetaDataContexts().getMetaData("test_schema").getResource().getDataSources().size(),
 is(0));
+        contextManager.dropResource("test_schema", 
Collections.singleton("ds_1"));
+        
assertTrue(contextManager.getMetaDataContexts().getMetaData("test_schema").getResource().getDataSources().isEmpty());
     }
     
     @Test
     public void assertAlterRuleConfiguration() {
         Map<String, ShardingSphereMetaData> metaDataMap = new 
LinkedHashMap<>();
-        ShardingSphereMetaData shardingSphereMetaData = 
mock(ShardingSphereMetaData.class, RETURNS_DEEP_STUBS);
-        when(shardingSphereMetaData.getName()).thenReturn("test");
+        ShardingSphereMetaData shardingSphereMetaData = new 
ShardingSphereMetaData(
+                "test", mock(ShardingSphereResource.class), 
mock(ShardingSphereRuleMetaData.class), mock(ShardingSphereSchema.class));
         metaDataMap.put("test", shardingSphereMetaData);
         when(metaDataContexts.getMetaDataMap()).thenReturn(metaDataMap);
-        MetaDataPersistService metaDataPersistService = 
mock(MetaDataPersistService.class, RETURNS_DEEP_STUBS);
-        
when(metaDataContexts.getMetaDataPersistService()).thenReturn(Optional.of(metaDataPersistService));
-        ShardingSphereRuleMetaData shardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class, RETURNS_DEEP_STUBS);
-        
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(shardingSphereRuleMetaData);
-        OptimizerContext optimizerContext = mock(OptimizerContext.class, 
RETURNS_DEEP_STUBS);
-        FederationMetaData federationMetaData = mock(FederationMetaData.class);
-        Map<String, FederationSchemaMetaData> federationSchemaMetaDataMap = 
new LinkedHashMap<>();
-        
when(federationMetaData.getSchemas()).thenReturn(federationSchemaMetaDataMap);
-        
when(optimizerContext.getFederationMetaData()).thenReturn(federationMetaData);
-        
when(metaDataContexts.getOptimizerContext()).thenReturn(optimizerContext);
-        ConfigurationProperties configurationProperties = 
mock(ConfigurationProperties.class, RETURNS_DEEP_STUBS);
-        Properties properties = new Properties();
-        when(configurationProperties.getProps()).thenReturn(properties);
-        when(metaDataContexts.getProps()).thenReturn(configurationProperties);
-        Collection<RuleConfiguration> ruleConfigs = new ArrayList<>();
-        RuleConfiguration ruleConfiguration = mock(RuleConfiguration.class);
-        ruleConfigs.add(ruleConfiguration);
+        
when(metaDataContexts.getMetaDataPersistService()).thenReturn(Optional.of(mock(MetaDataPersistService.class,
 RETURNS_DEEP_STUBS)));
+        
when(metaDataContexts.getGlobalRuleMetaData()).thenReturn(mock(ShardingSphereRuleMetaData.class,
 RETURNS_DEEP_STUBS));
+        
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
+        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
+        Collection<RuleConfiguration> ruleConfigs = new LinkedList<>();
+        RuleConfiguration ruleConfig = mock(RuleConfiguration.class);
+        ruleConfigs.add(ruleConfig);
         contextManager.alterRuleConfiguration("test", ruleConfigs);
-        
assertTrue(contextManager.getMetaDataContexts().getMetaDataMap().get("test").getRuleMetaData().getConfigurations().contains(ruleConfiguration));
+        
assertTrue(contextManager.getMetaDataContexts().getMetaDataMap().get("test").getRuleMetaData().getConfigurations().contains(ruleConfig));
     }
     
     @Test
@@ -388,10 +339,10 @@ public final class ContextManagerTest {
     @Test
     public void assertAlterGlobalRuleConfiguration() {
         List<RuleConfiguration> newRuleConfigs = new LinkedList<>();
-        RuleConfiguration ruleConfiguration = mock(RuleConfiguration.class);
-        newRuleConfigs.add(ruleConfiguration);
+        RuleConfiguration ruleConfig = mock(RuleConfiguration.class);
+        newRuleConfigs.add(ruleConfig);
         contextManager.alterGlobalRuleConfiguration(newRuleConfigs);
-        
assertTrue(contextManager.getMetaDataContexts().getGlobalRuleMetaData().getConfigurations().contains(ruleConfiguration));
+        
assertTrue(contextManager.getMetaDataContexts().getGlobalRuleMetaData().getConfigurations().contains(ruleConfig));
     }
     
     @Test
@@ -403,31 +354,16 @@ public final class ContextManagerTest {
     }
     
     @Test
-    public void assertReloadMetaData() throws SQLException {
-        MockedDataSource testDataSource = mock(MockedDataSource.class, 
RETURNS_DEEP_STUBS);
-        
when(testDataSource.getConnection()).thenReturn(mock(Connection.class));
-        
when(testDataSource.getConnection().getMetaData()).thenReturn(mock(DatabaseMetaData.class));
-        
when(testDataSource.getConnection().getMetaData().getURL()).thenReturn("jdbc:mock://127.0.0.1/foo_ds");
-        Map<String, DataSource> dataSources = new LinkedHashMap<>();
-        dataSources.put("foo_ds", testDataSource);
+    public void assertReloadMetaData() {
         ShardingSphereResource originalResource = 
mock(ShardingSphereResource.class);
-        when(originalResource.getDataSources()).thenReturn(dataSources);
-        ShardingSphereRuleMetaData originalRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
-        ShardingSphereMetaData originalMetaData = 
mock(ShardingSphereMetaData.class);
-        when(originalMetaData.getResource()).thenReturn(originalResource);
-        
when(originalMetaData.getRuleMetaData()).thenReturn(originalRuleMetaData);
-        
when(metaDataContexts.getMetaData("test_schema")).thenReturn(originalMetaData);
-        ConfigurationProperties configurationProperties = new 
ConfigurationProperties(new Properties());
-        when(metaDataContexts.getProps()).thenReturn(configurationProperties);
-        FederationMetaData federationMetaData = mock(FederationMetaData.class);
-        when(federationMetaData.getSchemas()).thenReturn(new 
LinkedHashMap<>());
-        OptimizerContext optimizerContext = mock(OptimizerContext.class);
-        
when(optimizerContext.getFederationMetaData()).thenReturn(federationMetaData);
-        
when(metaDataContexts.getOptimizerContext()).thenReturn(optimizerContext);
+        
when(originalResource.getDataSources()).thenReturn(Collections.singletonMap("foo_ds",
 new MockedDataSource()));
+        
when(metaDataContexts.getMetaData("test_schema").getResource()).thenReturn(originalResource);
+        
when(metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas()).thenReturn(new
 LinkedHashMap<>());
         SchemaMetaDataPersistService schemaMetaDataPersistService = 
mock(SchemaMetaDataPersistService.class, RETURNS_DEEP_STUBS);
         MetaDataPersistService metaDataPersistService = 
mock(MetaDataPersistService.class);
         
when(metaDataPersistService.getSchemaMetaDataService()).thenReturn(schemaMetaDataPersistService);
-        
when(metaDataContexts.getMetaDataPersistService()).thenReturn(Optional.of(metaDataPersistService));
  
+        
when(metaDataContexts.getMetaDataPersistService()).thenReturn(Optional.of(metaDataPersistService));
+        when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
         contextManager.reloadMetaData("test_schema");
         verify(schemaMetaDataPersistService, 
times(1)).persist(eq("test_schema"), any(ShardingSphereSchema.class));
         contextManager.reloadMetaData("test_schema", "test_table");

Reply via email to