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 5b973ee0bba Supplement GlobalRulesBuilder test cases (#18885)
5b973ee0bba is described below
commit 5b973ee0bbae51b8a8d3a07462f30c5b579bac4e
Author: 小马哥 <[email protected]>
AuthorDate: Wed Jul 6 14:03:47 2022 +0800
Supplement GlobalRulesBuilder test cases (#18885)
* Supplement GlobalRulesBuilder test cases
* Repair column is too long
---
.../builder/global/GlobalRulesBuilderTest.java | 38 ++++++++++++++++++++--
1 file changed, 35 insertions(+), 3 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/builder/global/GlobalRulesBuilderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/builder/global/GlobalRulesBuilderTest.java
index 67291bd6fe3..7aec9d7151b 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/builder/global/GlobalRulesBuilderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/builder/global/GlobalRulesBuilderTest.java
@@ -17,22 +17,54 @@
package org.apache.shardingsphere.infra.rule.builder.global;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import lombok.SneakyThrows;
+import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
+import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
+import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.InstanceContext;
+import
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
+import org.apache.shardingsphere.infra.lock.LockContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
+import org.apache.shardingsphere.infra.rule.builder.fixture.FixtureGlobalRule;
+import
org.apache.shardingsphere.infra.rule.builder.fixture.FixtureGlobalRuleConfiguration;
import org.junit.Test;
+import java.util.Collection;
import java.util.Collections;
+import java.util.UUID;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
public final class GlobalRulesBuilderTest {
@Test
public void assertBuildRules() {
- assertThat(GlobalRulesBuilder.buildRules(
- Collections.singletonList(mock(RuleConfiguration.class)),
Collections.singletonMap("logic_db", mock(ShardingSphereDatabase.class)),
mock(InstanceContext.class)).size(), is(1));
+ Collection<ShardingSphereRule> shardingSphereRules = GlobalRulesBuilder
+ .buildRules(Collections.singletonList(new
FixtureGlobalRuleConfiguration()), Collections.singletonMap("logic_db",
buildShardingSphereDatabase()), buildInstanceContext());
+ assertThat(shardingSphereRules.size(), is(1));
+ }
+
+ @Test
+ public void assertBuildRulesClassType() {
+ Collection<ShardingSphereRule> shardingSphereRules = GlobalRulesBuilder
+ .buildRules(Collections.singletonList(new
FixtureGlobalRuleConfiguration()), Collections.singletonMap("logic_db",
buildShardingSphereDatabase()), buildInstanceContext());
+ assertTrue(shardingSphereRules.toArray()[0] instanceof
FixtureGlobalRule);
+ }
+
+ private InstanceContext buildInstanceContext() {
+ ComputeNodeInstance computeNodeInstance = new ComputeNodeInstance(new
JDBCInstanceMetaData(UUID.randomUUID().toString()));
+ ModeConfiguration modeConfiguration = new
ModeConfiguration("Standalone", null, false);
+ InstanceContext instanceContext = new
InstanceContext(computeNodeInstance, () -> 0, modeConfiguration,
mock(LockContext.class));
+ return instanceContext;
+ }
+
+ @SneakyThrows
+ private ShardingSphereDatabase buildShardingSphereDatabase() {
+ ShardingSphereDatabase shardingSphereDatabase =
ShardingSphereDatabase.create("logic_db", new MySQLDatabaseType());
+ return shardingSphereDatabase;
}
}