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 ddd60524ce7 Use PropertiesBuilder in db-discovery module (#23266)
ddd60524ce7 is described below
commit ddd60524ce775fcb04eaf4562d96e0c01e952ba3
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jan 2 22:50:00 2023 +0800
Use PropertiesBuilder in db-discovery module (#23266)
---
features/db-discovery/distsql/handler/pom.xml | 7 +++++++
...atabaseDiscoveryRuleStatementConverterTest.java | 14 +++++--------
.../DatabaseDiscoveryHeartbeatResultSetTest.java | 9 ++++-----
.../query/DatabaseDiscoveryTypeResultSetTest.java | 14 ++++++-------
...baseDiscoveryHeartbeatStatementUpdaterTest.java | 23 +++++++++-------------
...overyProviderAlgorithmStatementUpdaterTest.java | 18 ++++++++---------
...baseDiscoveryHeartbeatStatementUpdaterTest.java | 23 +++++++++-------------
features/db-discovery/provider/mysql/pom.xml | 6 ++++++
.../MGRDatabaseDiscoveryProviderAlgorithmTest.java | 7 ++++---
...tionDatabaseDiscoveryProviderAlgorithmTest.java | 7 +++----
10 files changed, 61 insertions(+), 67 deletions(-)
diff --git a/features/db-discovery/distsql/handler/pom.xml
b/features/db-discovery/distsql/handler/pom.xml
index b38551cd461..bf915664412 100644
--- a/features/db-discovery/distsql/handler/pom.xml
+++ b/features/db-discovery/distsql/handler/pom.xml
@@ -49,6 +49,13 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-util</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
index db68ba80da8..1fddf4f567a 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
@@ -22,6 +22,8 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDa
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import java.util.Arrays;
@@ -50,15 +52,9 @@ public final class
DatabaseDiscoveryRuleStatementConverterTest {
}
private Collection<AbstractDatabaseDiscoverySegment>
createDatabaseDiscoveryRuleSegments() {
- Properties props = createProperties();
- DatabaseDiscoveryDefinitionSegment databaseDiscoveryDefinitionSegment =
- new DatabaseDiscoveryDefinitionSegment("definition",
Arrays.asList("resource0", "resource1"), new AlgorithmSegment("MySQL.MGR",
props), props);
+ Properties props = PropertiesBuilder.build(new Property("key",
"value"));
+ DatabaseDiscoveryDefinitionSegment databaseDiscoveryDefinitionSegment
= new DatabaseDiscoveryDefinitionSegment(
+ "definition", Arrays.asList("resource0", "resource1"), new
AlgorithmSegment("MySQL.MGR", props), props);
return Collections.singletonList(databaseDiscoveryDefinitionSegment);
}
-
- private Properties createProperties() {
- Properties result = new Properties();
- result.put("key", "value");
- return result;
- }
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryHeartbeatResultSetTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryHeartbeatResultSetTest.java
index bfe27894ac2..5084377560a 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryHeartbeatResultSetTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryHeartbeatResultSetTest.java
@@ -22,10 +22,12 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDa
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.ShowDatabaseDiscoveryRulesStatement;
import org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.distsql.handler.resultset.DatabaseDistSQLResultSet;
+import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import java.util.ArrayList;
@@ -34,7 +36,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -65,9 +66,7 @@ public final class DatabaseDiscoveryHeartbeatResultSetTest {
private RuleConfiguration createRuleConfiguration() {
DatabaseDiscoveryDataSourceRuleConfiguration
databaseDiscoveryDataSourceRuleConfig = new
DatabaseDiscoveryDataSourceRuleConfiguration("ms_group", Arrays.asList("ds_0",
"ds_1"),
"ms-heartbeat", "test");
- Properties discoveryTypeProps = new Properties();
- discoveryTypeProps.put("type_key", "type_value");
- DatabaseDiscoveryHeartBeatConfiguration shardingSphereAlgorithmConfig
= new DatabaseDiscoveryHeartBeatConfiguration(discoveryTypeProps);
+ DatabaseDiscoveryHeartBeatConfiguration shardingSphereAlgorithmConfig
= new DatabaseDiscoveryHeartBeatConfiguration(PropertiesBuilder.build(new
Property("type_key", "type_value")));
Map<String, DatabaseDiscoveryHeartBeatConfiguration> discoverHeartbeat
= Collections.singletonMap("test_name", shardingSphereAlgorithmConfig);
return new
DatabaseDiscoveryRuleConfiguration(Collections.singleton(databaseDiscoveryDataSourceRuleConfig),
discoverHeartbeat, Collections.emptyMap());
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryTypeResultSetTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryTypeResultSetTest.java
index d4e83c7632c..34f1c508997 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryTypeResultSetTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/query/DatabaseDiscoveryTypeResultSetTest.java
@@ -21,11 +21,13 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.ShowDatabaseDiscoveryRulesStatement;
import org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
+import
org.apache.shardingsphere.distsql.handler.resultset.DatabaseDistSQLResultSet;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.distsql.handler.resultset.DatabaseDistSQLResultSet;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import java.util.ArrayList;
@@ -34,7 +36,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -64,12 +65,9 @@ public final class DatabaseDiscoveryTypeResultSetTest {
}
private RuleConfiguration createRuleConfiguration() {
- DatabaseDiscoveryDataSourceRuleConfiguration
databaseDiscoveryDataSourceRuleConfig = new
DatabaseDiscoveryDataSourceRuleConfiguration("ms_group", Arrays.asList("ds_0",
"ds_1"),
- "ms-heartbeat", "test");
- Properties discoveryTypeProps = new Properties();
- discoveryTypeProps.put("type_key", "type_value");
- AlgorithmConfiguration shardingSphereAlgorithmConfig = new
AlgorithmConfiguration("MySQL.MGR", discoveryTypeProps);
+ DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("ms_group",
Arrays.asList("ds_0", "ds_1"), "ms-heartbeat", "test");
+ AlgorithmConfiguration shardingSphereAlgorithmConfig = new
AlgorithmConfiguration("MySQL.MGR", PropertiesBuilder.build(new
Property("type_key", "type_value")));
Map<String, AlgorithmConfiguration> discoverTypes =
Collections.singletonMap("test_name", shardingSphereAlgorithmConfig);
- return new
DatabaseDiscoveryRuleConfiguration(Collections.singleton(databaseDiscoveryDataSourceRuleConfig),
Collections.emptyMap(), discoverTypes);
+ return new
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceRuleConfig),
Collections.emptyMap(), discoverTypes);
}
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
index a6e4cacd280..3ab0cf51be2 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
@@ -23,6 +23,8 @@ import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatab
import
org.apache.shardingsphere.distsql.handler.exception.rule.DuplicateRuleException;
import
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
@@ -33,7 +35,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
-import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -48,34 +49,28 @@ public final class
AlterDatabaseDiscoveryHeartbeatStatementUpdaterTest {
@Test(expected = DuplicateRuleException.class)
public void assertCheckSQLStatementWithDuplicateHeartbeatNames() {
- DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
- DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
+ DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
+ DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryHeartbeatStatement(Arrays.asList(segment1, segment2)),
new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(), Collections.emptyMap()));
}
@Test(expected = MissingRequiredRuleException.class)
public void assertCheckSQLStatementWithNotExistDiscoveryHeartbeatName() {
- DatabaseDiscoveryHeartbeatSegment segment = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
+ DatabaseDiscoveryHeartbeatSegment segment = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
DatabaseDiscoveryRuleConfiguration config = new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.singletonMap("heartbeat1", null), Collections.emptyMap());
updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryHeartbeatStatement(Collections.singleton(segment)),
config);
}
@Test
public void assertUpdate() {
- DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_1", createProperties("key_1",
"value_1"));
- DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_2", createProperties("key_2",
"value_2"));
+ DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_1", PropertiesBuilder.build(new
Property("key_1", "value_1")));
+ DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_2", PropertiesBuilder.build(new
Property("key_2", "value_2")));
DatabaseDiscoveryRuleConfiguration ruleConfig =
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryHeartbeatStatement(Arrays.asList(segment1, segment2)));
DatabaseDiscoveryRuleConfiguration currentConfig = new
DatabaseDiscoveryRuleConfiguration(new LinkedList<>(), new LinkedHashMap<>(),
new LinkedHashMap<>());
updater.updateCurrentRuleConfiguration(currentConfig, ruleConfig);
assertThat(currentConfig.getDiscoveryHeartbeats().size(), is(2));
-
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_1").getProps(),
is(createProperties("key_1", "value_1")));
-
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_2").getProps(),
is(createProperties("key_2", "value_2")));
- }
-
- private Properties createProperties(final String key, final String value) {
- Properties result = new Properties();
- result.put(key, value);
- return result;
+
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_1").getProps(),
is(PropertiesBuilder.build(new Property("key_1", "value_1"))));
+
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_2").getProps(),
is(PropertiesBuilder.build(new Property("key_2", "value_2"))));
}
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest.java
index f7cb688a2d3..c8b5618e2cc 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest.java
@@ -21,12 +21,14 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryProviderAlgorithmSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryTypeStatement;
-import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
-import
org.apache.shardingsphere.distsql.handler.exception.rule.DuplicateRuleException;
import
org.apache.shardingsphere.distsql.handler.exception.algorithm.InvalidAlgorithmConfigurationException;
+import
org.apache.shardingsphere.distsql.handler.exception.rule.DuplicateRuleException;
import
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
+import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
+import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
@@ -83,14 +85,10 @@ public final class
AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest {
@Test
public void assertBuildAndUpdate() {
- Properties currentProps = new Properties();
- currentProps.put("key", "value");
DatabaseDiscoveryRuleConfiguration currentRuleConfig = new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(),
- Collections.singletonMap("discovery_type", new
AlgorithmConfiguration("DISTSQL.FIXTURE", currentProps)));
- Properties props = new Properties();
- props.put("key", "value_1");
+ Collections.singletonMap("discovery_type", new
AlgorithmConfiguration("DISTSQL.FIXTURE", PropertiesBuilder.build(new
Property("key", "foo_value")))));
Set<DatabaseDiscoveryProviderAlgorithmSegment> algorithmSegments =
Collections.singleton(
- new
DatabaseDiscoveryProviderAlgorithmSegment("discovery_type", new
AlgorithmSegment("DISTSQL.FIXTURE", props)));
+ new
DatabaseDiscoveryProviderAlgorithmSegment("discovery_type", new
AlgorithmSegment("DISTSQL.FIXTURE", PropertiesBuilder.build(new Property("key",
"bar_value")))));
updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryTypeStatement(algorithmSegments), currentRuleConfig);
DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfig =
(DatabaseDiscoveryRuleConfiguration)
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryTypeStatement(algorithmSegments));
@@ -98,6 +96,6 @@ public final class
AlterDatabaseDiscoveryProviderAlgorithmStatementUpdaterTest {
updater.updateCurrentRuleConfiguration(currentConfig,
databaseDiscoveryRuleConfig);
assertThat(currentConfig.getDiscoveryTypes().size(), is(1));
assertThat(currentConfig.getDiscoveryTypes().get("discovery_type").getType(),
is("DISTSQL.FIXTURE"));
-
assertThat(currentConfig.getDiscoveryTypes().get("discovery_type").getProps().getProperty("key"),
is("value_1"));
+
assertThat(currentConfig.getDiscoveryTypes().get("discovery_type").getProps().getProperty("key"),
is("bar_value"));
}
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
index 88e280009dc..0ad9057255c 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryHeartbeatStatementUpdaterTest.java
@@ -22,6 +22,8 @@ import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDisc
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryHeartbeatStatement;
import
org.apache.shardingsphere.distsql.handler.exception.rule.DuplicateRuleException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
@@ -32,7 +34,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
-import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -47,34 +48,28 @@ public final class
CreateDatabaseDiscoveryHeartbeatStatementUpdaterTest {
@Test(expected = DuplicateRuleException.class)
public void assertCheckSQLStatementWithDuplicateHeartbeatNames() {
- DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
- DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
+ DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
+ DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryHeartbeatStatement(Arrays.asList(segment1, segment2)),
new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(), Collections.emptyMap()));
}
@Test(expected = DuplicateRuleException.class)
public void assertCheckSQLStatementWithExistDiscoveryHeartbeatName() {
- DatabaseDiscoveryHeartbeatSegment segment = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", createProperties("key",
"value"));
+ DatabaseDiscoveryHeartbeatSegment segment = new
DatabaseDiscoveryHeartbeatSegment("heartbeat", PropertiesBuilder.build(new
Property("key", "value")));
DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.singletonMap("heartbeat", null), Collections.emptyMap());
updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryHeartbeatStatement(Collections.singleton(segment)),
ruleConfig);
}
@Test
public void assertUpdate() {
- DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_1", createProperties("key_1",
"value_1"));
- DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_2", createProperties("key_2",
"value_2"));
+ DatabaseDiscoveryHeartbeatSegment segment1 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_1", PropertiesBuilder.build(new
Property("key_1", "value_1")));
+ DatabaseDiscoveryHeartbeatSegment segment2 = new
DatabaseDiscoveryHeartbeatSegment("heartbeat_2", PropertiesBuilder.build(new
Property("key_2", "value_2")));
DatabaseDiscoveryRuleConfiguration currentConfig = new
DatabaseDiscoveryRuleConfiguration(new LinkedList<>(), new LinkedHashMap<>(),
new LinkedHashMap<>());
DatabaseDiscoveryRuleConfiguration ruleConfig =
updater.buildToBeCreatedRuleConfiguration(currentConfig, new
CreateDatabaseDiscoveryHeartbeatStatement(Arrays.asList(segment1, segment2)));
updater.updateCurrentRuleConfiguration(currentConfig, ruleConfig);
assertThat(currentConfig.getDiscoveryHeartbeats().size(), is(2));
-
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_1").getProps(),
is(createProperties("key_1", "value_1")));
-
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_2").getProps(),
is(createProperties("key_2", "value_2")));
- }
-
- private Properties createProperties(final String key, final String value) {
- Properties result = new Properties();
- result.put(key, value);
- return result;
+
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_1").getProps(),
is(PropertiesBuilder.build(new Property("key_1", "value_1"))));
+
assertThat(currentConfig.getDiscoveryHeartbeats().get("heartbeat_2").getProps(),
is(PropertiesBuilder.build(new Property("key_2", "value_2"))));
}
}
diff --git a/features/db-discovery/provider/mysql/pom.xml
b/features/db-discovery/provider/mysql/pom.xml
index 461416028f0..2781d8b0ce9 100644
--- a/features/db-discovery/provider/mysql/pom.xml
+++ b/features/db-discovery/provider/mysql/pom.xml
@@ -39,6 +39,12 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-util</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-test-fixture-jdbc</artifactId>
diff --git
a/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MGRDatabaseDiscoveryProviderAlgorithmTest.java
b/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MGRDatabaseDiscoveryProviderAlgorithmTest.java
index c20571e190c..e9b165fa201 100644
---
a/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MGRDatabaseDiscoveryProviderAlgorithmTest.java
+++
b/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MGRDatabaseDiscoveryProviderAlgorithmTest.java
@@ -21,6 +21,8 @@ import
org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryProviderAlgori
import org.apache.shardingsphere.dbdiscovery.spi.ReplicaDataSourceStatus;
import
org.apache.shardingsphere.infra.algorithm.ShardingSphereAlgorithmFactory;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import javax.sql.DataSource;
@@ -42,9 +44,8 @@ public final class MGRDatabaseDiscoveryProviderAlgorithmTest {
@Test
public void assertCheckEnvironment() throws SQLException {
- Properties props = new Properties();
- props.setProperty("group-name", "foo_group");
- DatabaseDiscoveryProviderAlgorithm actual =
ShardingSphereAlgorithmFactory.createAlgorithm(new
AlgorithmConfiguration("MySQL.MGR", props),
DatabaseDiscoveryProviderAlgorithm.class);
+ DatabaseDiscoveryProviderAlgorithm actual =
ShardingSphereAlgorithmFactory.createAlgorithm(
+ new AlgorithmConfiguration("MySQL.MGR",
PropertiesBuilder.build(new Property("group-name", "foo_group"))),
DatabaseDiscoveryProviderAlgorithm.class);
actual.checkEnvironment("foo_db",
Collections.singletonList(mockEnvironmentAvailableDataSource()));
}
diff --git
a/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithmTest.java
b/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithmTest.java
index 826e2190927..b90eb9271a0 100644
---
a/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithmTest.java
+++
b/features/db-discovery/provider/mysql/src/test/java/org/apache/shardingsphere/dbdiscovery/mysql/type/MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithmTest.java
@@ -20,6 +20,8 @@ package org.apache.shardingsphere.dbdiscovery.mysql.type;
import
org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryProviderAlgorithm;
import org.apache.shardingsphere.dbdiscovery.spi.ReplicaDataSourceStatus;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.Test;
import javax.sql.DataSource;
@@ -27,7 +29,6 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collections;
-import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -65,10 +66,8 @@ public final class
MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithmTest
@Test
public void assertLoadReplicaStatus() throws SQLException {
- Properties props = new Properties();
- props.setProperty("delay-milliseconds-threshold", "15000");
DatabaseDiscoveryProviderAlgorithm algorithm = new
MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithm();
- algorithm.init(props);
+ algorithm.init(PropertiesBuilder.build(new
Property("delay-milliseconds-threshold", "15000")));
DataSource dataSource = mockDataSourceForReplicaStatus();
ReplicaDataSourceStatus actual =
algorithm.loadReplicaStatus(dataSource);
assertTrue(actual.isOnline());