This is an automated email from the ASF dual-hosted git repository.
zichaowang 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 d208a8d4829 Revise some test cases (#30677)
d208a8d4829 is described below
commit d208a8d482974b0411214a6ab4f6006a6d2531d0
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Mar 28 03:30:23 2024 +0800
Revise some test cases (#30677)
* Revise MaskRuleTest
* Revise MaskAlgorithmChangedProcessorTest
* Revise MaskTableChangedProcessorTest
* Revise ShardingSphereSchemaDataTest
* Revise SubqueryExpressionSegmentBinderTest
* Revise ConstraintReviseEngineTest
* Revise SchemaMetaDataReviseEngineTest
---
.../changed/MaskAlgorithmChangedProcessor.java | 4 +-
.../shardingsphere/mask/rule/MaskRuleTest.java | 40 +++++----------
.../changed/MaskAlgorithmChangedProcessorTest.java | 59 ++++++++++++----------
.../changed/MaskTableChangedProcessorTest.java | 59 ++++++++++++----------
.../constraint/ShardingConstraintReviserTest.java | 48 ++++++++----------
.../impl/SubqueryExpressionSegmentBinderTest.java | 4 +-
.../constraint/ConstraintReviseEngineTest.java | 40 +++++----------
.../schema/SchemaMetaDataReviseEngineTest.java | 5 +-
.../statistics/ShardingSphereSchemaDataTest.java | 19 +++----
.../builder/fixture/FixtureMetaDataRevise.java | 10 ++--
.../FixtureSchemaTableAggregationReviser.java | 2 +-
11 files changed, 132 insertions(+), 158 deletions(-)
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
index ba597bb345a..3e8efb464b5 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
@@ -50,8 +50,8 @@ public final class MaskAlgorithmChangedProcessor implements
RuleItemConfiguratio
.map(optional ->
getConfiguration(optional.getConfiguration())).orElseGet(() -> new
MaskRuleConfiguration(new LinkedList<>(), new LinkedHashMap<>()));
}
- private MaskRuleConfiguration getConfiguration(final MaskRuleConfiguration
config) {
- return null == config.getMaskAlgorithms() ? new
MaskRuleConfiguration(config.getTables(), new LinkedHashMap<>()) : config;
+ private MaskRuleConfiguration getConfiguration(final MaskRuleConfiguration
ruleConfig) {
+ return null == ruleConfig.getMaskAlgorithms() ? new
MaskRuleConfiguration(ruleConfig.getTables(), new LinkedHashMap<>()) :
ruleConfig;
}
@Override
diff --git
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
index 1fb44a11782..6f850085321 100644
---
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
+++
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
@@ -17,20 +17,16 @@
package org.apache.shardingsphere.mask.rule;
-import org.apache.commons.codec.digest.DigestUtils;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
-import org.apache.shardingsphere.mask.spi.MaskAlgorithm;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.Collections;
-import java.util.Optional;
import java.util.Properties;
-import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -38,37 +34,25 @@ class MaskRuleTest {
private MaskRule maskRule;
- private MaskRuleConfiguration mockConfiguration;
-
@BeforeEach
- public void setUp() {
- mockConfiguration = getRuleConfiguration();
- maskRule = new MaskRule(mockConfiguration);
+ void setUp() {
+ maskRule = new MaskRule(createMaskRuleConfiguration());
}
- @Test
- public void assertTableNameExists() {
- String tableName = "t_mask";
- Optional<MaskTable> result = maskRule.findMaskTable(tableName);
- assertTrue(result.isPresent());
- MaskTable maskTable = result.get();
- Optional<MaskAlgorithm> algorithm = maskTable.findAlgorithm("user_id");
- String value = (String) algorithm.get().mask("test");
- String matchValue = DigestUtils.md5Hex("test");
- assertEquals(value, matchValue);
+ private MaskRuleConfiguration createMaskRuleConfiguration() {
+ MaskColumnRuleConfiguration maskColumnRuleConfig = new
MaskColumnRuleConfiguration("user_id", "t_mask_user_id_md5");
+ MaskTableRuleConfiguration maskTableRuleConfig = new
MaskTableRuleConfiguration("t_mask",
Collections.singleton(maskColumnRuleConfig));
+ AlgorithmConfiguration algorithmConfig = new
AlgorithmConfiguration("md5", new Properties());
+ return new
MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig),
Collections.singletonMap("t_mask_user_id_md5", algorithmConfig));
}
@Test
- public void assertTableNameNoExists() {
- String tableName = "non_existent_table";
- Optional<MaskTable> result = maskRule.findMaskTable(tableName);
- assertFalse(result.isPresent());
+ void assertFindMaskTableWhenTableNameExists() {
+ assertTrue(maskRule.findMaskTable("t_mask").isPresent());
}
- private MaskRuleConfiguration getRuleConfiguration() {
- MaskColumnRuleConfiguration maskColumnRuleConfig = new
MaskColumnRuleConfiguration("user_id", "t_mask_user_id_md5");
- MaskTableRuleConfiguration maskTableRuleConfig = new
MaskTableRuleConfiguration("t_mask",
Collections.singleton(maskColumnRuleConfig));
- AlgorithmConfiguration algorithmConfig = new
AlgorithmConfiguration("md5", new Properties());
- return new
MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig),
Collections.singletonMap("t_mask_user_id_md5", algorithmConfig));
+ @Test
+ void assertFindMaskTableWhenTableNameDoesNotExist() {
+ assertFalse(maskRule.findMaskTable("non_existent_table").isPresent());
}
}
diff --git
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
index a8ca86e00d2..060fed4b1ad 100644
---
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
+++
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
@@ -18,58 +18,65 @@
package org.apache.shardingsphere.mask.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.rule.event.rule.alter.AlterNamedRuleItemEvent;
import
org.apache.shardingsphere.infra.rule.event.rule.drop.DropNamedRuleItemEvent;
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
+import org.apache.shardingsphere.mask.rule.MaskRule;
import org.junit.jupiter.api.Test;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Optional;
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
class MaskAlgorithmChangedProcessorTest {
@Test
void assertSwapRuleItemConfiguration() {
- MaskAlgorithmChangedProcessor processor = new
MaskAlgorithmChangedProcessor();
- AlterNamedRuleItemEvent event = mock(AlterNamedRuleItemEvent.class);
- AlgorithmConfiguration algorithmConfiguration =
processor.swapRuleItemConfiguration(event, "type: TEST");
- assertThat(algorithmConfiguration.getType(), is("TEST"));
+ assertThat(new
MaskAlgorithmChangedProcessor().swapRuleItemConfiguration(mock(AlterNamedRuleItemEvent.class),
"type: TEST").getType(), is("TEST"));
}
@Test
- void assertFindRuleConfiguration() {
- MaskAlgorithmChangedProcessor processor = new
MaskAlgorithmChangedProcessor();
- ResourceMetaData resourceMetaData = new
ResourceMetaData(Collections.emptyMap());
- RuleMetaData ruleMetaData = new
RuleMetaData(Collections.singleton(mock(ShardingSphereRule.class)));
- ShardingSphereDatabase database = new ShardingSphereDatabase("foo_db",
mock(DatabaseType.class), resourceMetaData, ruleMetaData,
Collections.emptyMap());
- MaskRuleConfiguration maskRuleConfiguration =
processor.findRuleConfiguration(database);
- assertThat(maskRuleConfiguration.getMaskAlgorithms().size(), is(0));
-
+ void assertFindRuleConfigurationWhenRuleDoesNotExist() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.empty());
+ assertTrue(new
MaskAlgorithmChangedProcessor().findRuleConfiguration(database).getMaskAlgorithms().isEmpty());
+ }
+
+ @Test
+ void assertFindRuleConfigurationWhenMaskAlgorithmDoesNotExist() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(new
MaskRule(new MaskRuleConfiguration(Collections.emptyList(),
Collections.emptyMap()))));
+ assertTrue(new
MaskAlgorithmChangedProcessor().findRuleConfiguration(database).getMaskAlgorithms().isEmpty());
+ }
+
+ @Test
+ void assertFindRuleConfigurationWhenRuleExists() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+ MaskRule maskRule = mock(MaskRule.class, RETURNS_DEEP_STUBS);
+
when(maskRule.getConfiguration().getMaskAlgorithms()).thenReturn(Collections.singletonMap("foo",
new AlgorithmConfiguration("FOO", new Properties())));
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(maskRule));
+ assertFalse(new
MaskAlgorithmChangedProcessor().findRuleConfiguration(database).getMaskAlgorithms().isEmpty());
}
@Test
void assertDropRuleItemConfiguration() {
- MaskAlgorithmChangedProcessor processor =
mock(MaskAlgorithmChangedProcessor.class);
- DropNamedRuleItemEvent event = mock(DropNamedRuleItemEvent.class);
- MaskRuleConfiguration currentRuleConfig = new
MaskRuleConfiguration(Collections.emptyList(), Collections.singletonMap("type:
TEST", mock(AlgorithmConfiguration.class)));
- processor.dropRuleItemConfiguration(event, currentRuleConfig);
- verify(processor).dropRuleItemConfiguration(event, currentRuleConfig);
+ MaskRuleConfiguration currentRuleConfig = new
MaskRuleConfiguration(Collections.emptyList(), new
HashMap<>(Collections.singletonMap("type: TEST",
mock(AlgorithmConfiguration.class))));
+ new MaskAlgorithmChangedProcessor().dropRuleItemConfiguration(new
DropNamedRuleItemEvent("foo_db", "type: TEST", ""), currentRuleConfig);
+ assertTrue(currentRuleConfig.getMaskAlgorithms().isEmpty());
}
@Test
void assertGetType() {
- MaskAlgorithmChangedProcessor processor = new
MaskAlgorithmChangedProcessor();
- String type = processor.getType();
- assertEquals("mask.mask_algorithms", type);
+ assertThat(new MaskAlgorithmChangedProcessor().getType(),
is("mask.mask_algorithms"));
}
}
diff --git
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
index 9e51f8c1b16..8480006d2bb 100644
---
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
+++
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
@@ -17,60 +17,67 @@
package org.apache.shardingsphere.mask.rule.changed;
-import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.rule.event.rule.alter.AlterRuleItemEvent;
import
org.apache.shardingsphere.infra.rule.event.rule.drop.DropNamedRuleItemEvent;
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
import
org.apache.shardingsphere.mask.metadata.nodepath.MaskRuleNodePathProvider;
+import org.apache.shardingsphere.mask.rule.MaskRule;
import org.junit.jupiter.api.Test;
import java.util.Collections;
+import java.util.LinkedList;
+import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
class MaskTableChangedProcessorTest {
@Test
void assertSwapRuleItemConfiguration() {
- AlterRuleItemEvent event = mock(AlterRuleItemEvent.class);
- MaskTableChangedProcessor processor = new MaskTableChangedProcessor();
- MaskTableRuleConfiguration maskTableRuleConfiguration =
processor.swapRuleItemConfiguration(event, "name: test_table");
- assertThat(maskTableRuleConfiguration.getName(), is("test_table"));
+ assertThat(new
MaskTableChangedProcessor().swapRuleItemConfiguration(mock(AlterRuleItemEvent.class),
"name: test_table").getName(), is("test_table"));
}
@Test
- void assertFindRuleConfiguration() {
- MaskTableChangedProcessor processor = new MaskTableChangedProcessor();
- ResourceMetaData resourceMetaData = new
ResourceMetaData(Collections.emptyMap());
- RuleMetaData ruleMetaData = new
RuleMetaData(Collections.singleton(mock(ShardingSphereRule.class)));
- ShardingSphereDatabase database = new ShardingSphereDatabase("foo_db",
mock(DatabaseType.class), resourceMetaData, ruleMetaData,
Collections.emptyMap());
- MaskRuleConfiguration maskRuleConfiguration =
processor.findRuleConfiguration(database);
- assertThat(maskRuleConfiguration.getTables().size(), is(0));
+ void assertFindRuleConfigurationWhenRuleDoesNotExist() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.empty());
+ assertTrue(new
MaskTableChangedProcessor().findRuleConfiguration(database).getMaskAlgorithms().isEmpty());
+ }
+
+ @Test
+ void assertFindRuleConfigurationWhenTableDoesNotExist() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(new
MaskRule(new MaskRuleConfiguration(Collections.emptyList(),
Collections.emptyMap()))));
+ assertTrue(new
MaskTableChangedProcessor().findRuleConfiguration(database).getTables().isEmpty());
+ }
+
+ @Test
+ void assertFindRuleConfigurationWhenRuleExists() {
+ ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
+ MaskRule maskRule = mock(MaskRule.class, RETURNS_DEEP_STUBS);
+
when(maskRule.getConfiguration().getTables()).thenReturn(Collections.singleton(new
MaskTableRuleConfiguration("foo_tbl", Collections.emptyList())));
+
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(maskRule));
+ assertFalse(new
MaskTableChangedProcessor().findRuleConfiguration(database).getTables().isEmpty());
}
@Test
void assertDropRuleItemConfiguration() {
- MaskTableChangedProcessor processor =
mock(MaskTableChangedProcessor.class);
- DropNamedRuleItemEvent event = mock(DropNamedRuleItemEvent.class);
- MaskRuleConfiguration currentRuleConfig = new
MaskRuleConfiguration(Collections.emptyList(), Collections.singletonMap("name:
test_table", mock(AlgorithmConfiguration.class)));
- processor.dropRuleItemConfiguration(event, currentRuleConfig);
- verify(processor).dropRuleItemConfiguration(event, currentRuleConfig);
+ MaskRuleConfiguration currentRuleConfig = new MaskRuleConfiguration(
+ new LinkedList<>(Collections.singleton(new
MaskTableRuleConfiguration("foo_tbl", Collections.emptyList()))),
Collections.emptyMap());
+ new MaskTableChangedProcessor().dropRuleItemConfiguration(new
DropNamedRuleItemEvent("foo_db", "foo_tbl", ""), currentRuleConfig);
+ assertTrue(currentRuleConfig.getTables().isEmpty());
}
@Test
void assertGetType() {
- MaskTableChangedProcessor processor = new MaskTableChangedProcessor();
- String result = processor.getType();
- assertEquals(MaskRuleNodePathProvider.RULE_TYPE + "." +
MaskRuleNodePathProvider.TABLES, result);
+ assertThat(new MaskTableChangedProcessor().getType(),
is(MaskRuleNodePathProvider.RULE_TYPE + "." + MaskRuleNodePathProvider.TABLES));
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/constraint/ShardingConstraintReviserTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/constraint/ShardingConstraintReviserTest.java
index 5574e82f3f9..f4b294420e4 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/constraint/ShardingConstraintReviserTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/constraint/ShardingConstraintReviserTest.java
@@ -17,14 +17,6 @@
package org.apache.shardingsphere.sharding.metadata.reviser.constraint;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Optional;
-import org.apache.groovy.util.Maps;
import
org.apache.shardingsphere.infra.database.core.metadata.data.model.ConstraintMetaData;
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.infra.instance.InstanceContext;
@@ -36,6 +28,14 @@ import
org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -46,36 +46,30 @@ class ShardingConstraintReviserTest {
private ShardingRule shardingRule;
@BeforeEach
- public void setUp() {
- shardingRule = mockShardingRule();
+ void setUp() {
+ shardingRule = createShardingRule();
ShardingTable shardingTable = mock(ShardingTable.class);
+ when(shardingTable.getActualDataNodes()).thenReturn(Arrays.asList(new
DataNode("schema_name", "table_name_0"), new DataNode("schema_name",
"table_name_1")));
reviser = new ShardingConstraintReviser(shardingTable);
- when(shardingTable.getActualDataNodes()).thenReturn(Arrays.asList(new
DataNode[]{
- new DataNode("schema_name", "table_name_0"),
- new DataNode("schema_name", "table_name_1")
- }));
}
- private ShardingRule mockShardingRule() {
+ private ShardingRule createShardingRule() {
ShardingRuleConfiguration ruleConfig = new ShardingRuleConfiguration();
- ShardingTableRuleConfiguration shardingTableRuleConfig = new
ShardingTableRuleConfiguration("table_name", "ds.table_name");
- ruleConfig.setTables(Collections.singleton(shardingTableRuleConfig));
- return new ShardingRule(ruleConfig, Maps.of("ds", new
MockedDataSource()), mock(InstanceContext.class));
+ ruleConfig.setTables(Collections.singleton(new
ShardingTableRuleConfiguration("table_name", "ds.table_name")));
+ return new ShardingRule(ruleConfig, Collections.singletonMap("ds", new
MockedDataSource()), mock(InstanceContext.class));
}
@Test
- public void testReviseWhenTableMatches() {
+ void assertReviseWhenTableMatches() {
ConstraintMetaData originalMetaData = new
ConstraintMetaData("test_table_name_1", "referenced_table_name");
- Optional<ConstraintMetaData> result = reviser.revise("table_name_1",
originalMetaData, shardingRule);
- assertTrue(result.isPresent());
- assertEquals("test", result.get().getName());
- assertEquals("referenced_table_name",
result.get().getReferencedTableName());
+ Optional<ConstraintMetaData> actual = reviser.revise("table_name_1",
originalMetaData, shardingRule);
+ assertTrue(actual.isPresent());
+ assertThat(actual.get().getName(), is("test"));
+ assertThat(actual.get().getReferencedTableName(),
is("referenced_table_name"));
}
@Test
- public void testReviseWhenTableDoesNotMatch() {
- ConstraintMetaData originalMetaData = new
ConstraintMetaData("test_table_name_2", "referenced_table_name");
- Optional<ConstraintMetaData> result = reviser.revise("table_name_1",
originalMetaData, shardingRule);
- assertFalse(result.isPresent());
+ void assertReviseWhenTableDoesNotMatch() {
+ assertFalse(reviser.revise("table_name_1", new
ConstraintMetaData("test_table_name_2", "referenced_table_name"),
shardingRule).isPresent());
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
index 5ae275f016e..43cd08f40d8 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
@@ -37,15 +37,15 @@ import static org.hamcrest.MatcherAssert.assertThat;
class SubqueryExpressionSegmentBinderTest {
@Test
- public void testBind() {
+ void assertBind() {
SelectStatement selectStatement = new SQLServerSelectStatement();
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SubquerySegment subquery = new SubquerySegment(0, 10, selectStatement,
"subquery");
SubqueryExpressionSegment segment = new
SubqueryExpressionSegment(subquery);
SQLStatementBinderContext statementBinderContext = new
SQLStatementBinderContext(null, null, null, null);
Map<String, TableSegmentBinderContext> tableBinderContexts = new
HashMap<>();
- SubqueryExpressionSegment expected = new
SubqueryExpressionSegment(SubquerySegmentBinder.bind(segment.getSubquery(),
statementBinderContext, tableBinderContexts));
SubqueryExpressionSegment actual =
SubqueryExpressionSegmentBinder.bind(segment, statementBinderContext,
tableBinderContexts);
+ SubqueryExpressionSegment expected = new
SubqueryExpressionSegment(SubquerySegmentBinder.bind(segment.getSubquery(),
statementBinderContext, tableBinderContexts));
assertThat(actual, isA(SubqueryExpressionSegment.class));
assertThat(actual.getStartIndex(), is(expected.getStartIndex()));
assertThat(actual.getStopIndex(), is(expected.getStopIndex()));
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/constraint/ConstraintReviseEngineTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/constraint/ConstraintReviseEngineTest.java
index a47bb0fa457..c629d74fa57 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/constraint/ConstraintReviseEngineTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/constraint/ConstraintReviseEngineTest.java
@@ -26,8 +26,9 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
+import java.util.Arrays;
import java.util.Collection;
-import java.util.LinkedHashSet;
+import java.util.Collections;
import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
@@ -37,49 +38,36 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
-class ConstraintReviseEngineTest<T extends ShardingSphereRule> {
+class ConstraintReviseEngineTest {
@Mock
- private T mockRule;
+ private ShardingSphereRule mockRule;
@Mock
- private MetaDataReviseEntry<T> mockMetaDataReviseEntry;
+ private MetaDataReviseEntry<ShardingSphereRule> mockMetaDataReviseEntry;
@InjectMocks
- private ConstraintReviseEngine<T> engine;
+ private ConstraintReviseEngine<ShardingSphereRule> engine;
@Test
- void assertNotPresentReviserReturnsOriginalConstraints() {
+ void assertReviseWithReturnsOriginalConstraints() {
String tableName = "tableName";
-
doReturn(Optional.empty()).when(mockMetaDataReviseEntry).getConstraintReviser(mockRule,
tableName);
- Collection<ConstraintMetaData> expectedConstraints = new
LinkedHashSet<>();
- expectedConstraints.add(new ConstraintMetaData("constraint1",
tableName));
- expectedConstraints.add(new ConstraintMetaData("constraint2",
tableName));
-
- Collection<ConstraintMetaData> actualConstraints =
engine.revise(tableName, expectedConstraints);
- assertThat(actualConstraints, is(expectedConstraints));
+ when(mockMetaDataReviseEntry.getConstraintReviser(mockRule,
tableName)).thenReturn(Optional.empty());
+ Collection<ConstraintMetaData> expectedConstraints = Arrays.asList(new
ConstraintMetaData("constraint1", tableName), new
ConstraintMetaData("constraint2", tableName));
+ assertThat(engine.revise(tableName, expectedConstraints),
is(expectedConstraints));
}
+ @SuppressWarnings("unchecked")
@Test
- void assertReviserReturnsRevisedConstraints() {
+ void assertReviseWithReturnsRevisedConstraints() {
String tableName = "tableName";
- ConstraintReviser<T> reviser = mock(ConstraintReviser.class);
+ ConstraintReviser<ShardingSphereRule> reviser =
mock(ConstraintReviser.class);
doReturn(Optional.of(reviser)).when(mockMetaDataReviseEntry).getConstraintReviser(mockRule,
tableName);
-
- Collection<ConstraintMetaData> originalConstraints = new
LinkedHashSet<>();
ConstraintMetaData constraint1 = new ConstraintMetaData("constraint1",
tableName);
ConstraintMetaData constraint2 = new ConstraintMetaData("constraint2",
tableName);
- originalConstraints.add(constraint1);
- originalConstraints.add(constraint2);
-
ConstraintMetaData constraint3 = new ConstraintMetaData("constraint3",
tableName);
when(reviser.revise(tableName, constraint1,
mockRule)).thenReturn(Optional.of(constraint3));
when(reviser.revise(tableName, constraint2,
mockRule)).thenReturn(Optional.empty());
- Collection<ConstraintMetaData> expectedConstraints = new
LinkedHashSet<>();
- expectedConstraints.add(constraint3);
-
- Collection<ConstraintMetaData> actualConstraints =
engine.revise(tableName, originalConstraints);
- assertThat(actualConstraints, is(expectedConstraints));
+ assertThat(engine.revise(tableName, Arrays.asList(constraint1,
constraint2)), is(Collections.singleton(constraint3)));
}
-
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
index e6096bc361b..f1b0d8c0b11 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
@@ -53,9 +53,8 @@ class SchemaMetaDataReviseEngineTest {
@Test
void assertReviseWithMetaDataReviseEntry() {
SchemaMetaData schemaMetaData = new SchemaMetaData("expected",
Collections.singletonList(createTableMetaData()));
- SchemaMetaData actual = new
SchemaMetaDataReviseEngine(Collections.singleton(new FixtureGlobalRule()),
- new ConfigurationProperties(new Properties()),
mock(DatabaseType.class), mock(DataSource.class))
- .revise(schemaMetaData);
+ SchemaMetaData actual = new SchemaMetaDataReviseEngine(
+ Collections.singleton(new FixtureGlobalRule()), new
ConfigurationProperties(new Properties()), mock(DatabaseType.class),
mock(DataSource.class)).revise(schemaMetaData);
assertThat(actual.getName(), is(schemaMetaData.getName()));
assertThat(actual.getTables(), is(schemaMetaData.getTables()));
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
index a9508c03bfd..4eb8ea2610d 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
@@ -19,12 +19,13 @@ package org.apache.shardingsphere.infra.metadata.statistics;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class ShardingSphereSchemaDataTest {
+class ShardingSphereSchemaDataTest {
private static final String TEST_TABLE_NAME = "TEST_TABLE_NAME";
@@ -36,23 +37,20 @@ public class ShardingSphereSchemaDataTest {
void assertGetTable() {
ShardingSphereSchemaData shardingSphereSchemaData = new
ShardingSphereSchemaData();
shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new
ShardingSphereTableData(TEST_TABLE_NAME));
-
ShardingSphereTableData tableData =
shardingSphereSchemaData.getTable(TEST_TABLE_NAME);
assertTrue(TEST_TABLE_NAME.equalsIgnoreCase(tableData.getName()));
- ShardingSphereTableData nonExistentTableData =
shardingSphereSchemaData.getTable(NON_EXISTENT_TABLE);
- assertNull(nonExistentTableData);
+ assertNull(shardingSphereSchemaData.getTable(NON_EXISTENT_TABLE));
}
@Test
void assertPutTable() {
ShardingSphereSchemaData shardingSphereSchemaData = new
ShardingSphereSchemaData();
shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new
ShardingSphereTableData(TEST_TABLE_NAME));
-
- assertEquals(1, shardingSphereSchemaData.getTableData().size());
+ assertThat(shardingSphereSchemaData.getTableData().size(), is(1));
assertFalse(shardingSphereSchemaData.getTableData().containsKey(TEST_TABLE_2));
ShardingSphereTableData newTable = new
ShardingSphereTableData(TEST_TABLE_2);
shardingSphereSchemaData.putTable(TEST_TABLE_2, newTable);
- assertEquals(2, shardingSphereSchemaData.getTableData().size());
+ assertThat(shardingSphereSchemaData.getTableData().size(), is(2));
assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_2));
}
@@ -60,18 +58,15 @@ public class ShardingSphereSchemaDataTest {
void assertRemoveTable() {
ShardingSphereSchemaData shardingSphereSchemaData = new
ShardingSphereSchemaData();
shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new
ShardingSphereTableData(TEST_TABLE_NAME));
-
assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_NAME));
shardingSphereSchemaData.removeTable(TEST_TABLE_NAME);
- assertEquals(0, shardingSphereSchemaData.getTableData().size());
-
assertFalse(shardingSphereSchemaData.getTableData().containsKey(TEST_TABLE_NAME));
+ assertTrue(shardingSphereSchemaData.getTableData().isEmpty());
}
@Test
void assertContainsTable() {
ShardingSphereSchemaData shardingSphereSchemaData = new
ShardingSphereSchemaData();
shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new
ShardingSphereTableData(TEST_TABLE_NAME));
-
assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_NAME));
assertFalse(shardingSphereSchemaData.containsTable(NON_EXISTENT_TABLE));
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureMetaDataRevise.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureMetaDataRevise.java
index 69b602f1a9a..ed848ac957b 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureMetaDataRevise.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureMetaDataRevise.java
@@ -25,6 +25,11 @@ import java.util.Optional;
public final class FixtureMetaDataRevise implements
MetaDataReviseEntry<FixtureGlobalRule> {
+ @Override
+ public Optional<SchemaTableAggregationReviser<FixtureGlobalRule>>
getSchemaTableAggregationReviser(final ConfigurationProperties props) {
+ return Optional.of(new FixtureSchemaTableAggregationReviser());
+ }
+
@Override
public int getOrder() {
return 0;
@@ -34,9 +39,4 @@ public final class FixtureMetaDataRevise implements
MetaDataReviseEntry<FixtureG
public Class<FixtureGlobalRule> getTypeClass() {
return FixtureGlobalRule.class;
}
-
- @Override
- public Optional<SchemaTableAggregationReviser<FixtureGlobalRule>>
getSchemaTableAggregationReviser(final ConfigurationProperties props) {
- return Optional.of(new FixtureSchemaTableAggregationReviser());
- }
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureSchemaTableAggregationReviser.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureSchemaTableAggregationReviser.java
index 7912925594e..66ad61c214f 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureSchemaTableAggregationReviser.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/rule/builder/fixture/FixtureSchemaTableAggregationReviser.java
@@ -23,7 +23,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.reviser.schema.S
import java.util.Collection;
import java.util.LinkedList;
-public class FixtureSchemaTableAggregationReviser implements
SchemaTableAggregationReviser<FixtureGlobalRule> {
+public final class FixtureSchemaTableAggregationReviser implements
SchemaTableAggregationReviser<FixtureGlobalRule> {
private final Collection<TableMetaData> tables = new LinkedList<>();