You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/08/08 16:23:34 UTC
[shardingsphere] branch master updated: add test for
assertGetAllInstanceDataSourceNamesForShardingRule (#6721)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 2051ae7 add test for assertGetAllInstanceDataSourceNamesForShardingRule (#6721)
2051ae7 is described below
commit 2051ae7ca59ff68a1dcb1a84e1da3af417c4bfd7
Author: harvies <de...@gmail.com>
AuthorDate: Sun Aug 9 00:23:22 2020 +0800
add test for assertGetAllInstanceDataSourceNamesForShardingRule (#6721)
---
.../metadata/datasource/DataSourceMetasTest.java | 46 +++++++++++++++-------
1 file changed, 32 insertions(+), 14 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/datasource/DataSourceMetasTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/datasource/DataSourceMetasTest.java
index 8832d63..7205771 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/datasource/DataSourceMetasTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/datasource/DataSourceMetasTest.java
@@ -19,41 +19,59 @@ package org.apache.shardingsphere.infra.metadata.datasource;
import org.apache.shardingsphere.infra.config.DatabaseAccessConfiguration;
import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
-import org.junit.Before;
import org.junit.Test;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNull;
public final class DataSourceMetasTest {
-
- private DataSourceMetas dataSourceMetas;
-
- @Before
- public void setUp() {
+
+ @Test
+ public void assertGetAllInstanceDataSourceNamesForShardingRuleByDifferentDataSource() {
Map<String, DatabaseAccessConfiguration> databaseAccessConfigurationMap = new HashMap<>(2, 1);
databaseAccessConfigurationMap.put("ds_0", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_0", "test", null));
- databaseAccessConfigurationMap.put("ds_1", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_1", "test", null));
- dataSourceMetas = new DataSourceMetas(DatabaseTypes.getActualDatabaseType("MySQL"), databaseAccessConfigurationMap);
+ databaseAccessConfigurationMap.put("ds_1", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3307/db_1", "test", null));
+ DataSourceMetas dataSourceMetas = new DataSourceMetas(DatabaseTypes.getActualDatabaseType("MySQL"), databaseAccessConfigurationMap);
+ Collection<String> allInstanceDataSourceNames = dataSourceMetas.getAllInstanceDataSourceNames();
+ assertNotNull(allInstanceDataSourceNames);
+ assertThat(allInstanceDataSourceNames.size(), is(2));
+ assertTrue(allInstanceDataSourceNames.contains("ds_0") && allInstanceDataSourceNames.contains("ds_1"));
}
-
+
@Test
- public void assertGetAllInstanceDataSourceNamesForShardingRule() {
- assertNotNull(dataSourceMetas.getAllInstanceDataSourceNames());
+ public void assertGetAllInstanceDataSourceNamesForShardingRuleBySameDataSource() {
+ Map<String, DatabaseAccessConfiguration> databaseAccessConfigurationMap = new HashMap<>(2, 1);
+ databaseAccessConfigurationMap.put("ds_0", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_0", "test", null));
+ databaseAccessConfigurationMap.put("ds_1", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_1", "test", null));
+ DataSourceMetas dataSourceMetas = new DataSourceMetas(DatabaseTypes.getActualDatabaseType("MySQL"), databaseAccessConfigurationMap);
+ Collection<String> allInstanceDataSourceNames = dataSourceMetas.getAllInstanceDataSourceNames();
+ assertNotNull(allInstanceDataSourceNames);
+ assertThat(allInstanceDataSourceNames.size(), is(1));
+ assertTrue(allInstanceDataSourceNames.contains("ds_0") || allInstanceDataSourceNames.contains("ds_1"));
}
-
+
@Test
public void assertGetActualCatalogForShardingRule() {
+ Map<String, DatabaseAccessConfiguration> databaseAccessConfigurationMap = new HashMap<>(2, 1);
+ databaseAccessConfigurationMap.put("ds_0", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_0", "test", null));
+ databaseAccessConfigurationMap.put("ds_1", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_1", "test", null));
+ DataSourceMetas dataSourceMetas = new DataSourceMetas(DatabaseTypes.getActualDatabaseType("MySQL"), databaseAccessConfigurationMap);
assertThat(dataSourceMetas.getDataSourceMetaData("ds_0").getCatalog(), is("db_0"));
}
-
+
@Test
public void assertGetActualSchemaNameForShardingRuleForMysql() {
+ Map<String, DatabaseAccessConfiguration> databaseAccessConfigurationMap = new HashMap<>(2, 1);
+ databaseAccessConfigurationMap.put("ds_0", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_0", "test", null));
+ databaseAccessConfigurationMap.put("ds_1", new DatabaseAccessConfiguration("jdbc:mysql://127.0.0.1:3306/db_1", "test", null));
+ DataSourceMetas dataSourceMetas = new DataSourceMetas(DatabaseTypes.getActualDatabaseType("MySQL"), databaseAccessConfigurationMap);
assertNull(dataSourceMetas.getDataSourceMetaData("ds_0").getSchema());
}
}