You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2024/11/14 10:45:10 UTC
(shardingsphere) branch master updated: Add more test cases on ShardingIndexReviser (#33664)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 ab968507cf9 Add more test cases on ShardingIndexReviser (#33664)
ab968507cf9 is described below
commit ab968507cf9f83c7adeecdf3fb50d8b1aeb24479
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Nov 14 18:45:03 2024 +0800
Add more test cases on ShardingIndexReviser (#33664)
---
.../reviser/index/EncryptIndexReviserTest.java | 11 +++---
.../reviser/index/ShardingIndexReviserTest.java | 44 ++++++----------------
2 files changed, 17 insertions(+), 38 deletions(-)
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/reviser/index/EncryptIndexReviserTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/reviser/index/EncryptIndexReviserTest.java
index 696e5c89779..85a3eef49a0 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/reviser/index/EncryptIndexReviserTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/reviser/index/EncryptIndexReviserTest.java
@@ -37,15 +37,16 @@ class EncryptIndexReviserTest {
@Test
void assertReviseWithEmptyColumn() {
- assertFalse(new EncryptIndexReviser(mock(EncryptTable.class)).revise("foo_tbl", new IndexMetaData("name"), mock(EncryptRule.class)).isPresent());
+ assertFalse(new EncryptIndexReviser(mock(EncryptTable.class)).revise("foo_tbl", new IndexMetaData("foo_idx"), mock(EncryptRule.class)).isPresent());
}
@Test
void assertReviseWithColumns() {
- Optional<IndexMetaData> indexMetaData = new EncryptIndexReviser(mockEncryptTable())
- .revise("foo_tbl", new IndexMetaData("name", Arrays.asList("cipher_col", "assisted_col", "other_col")), mock(EncryptRule.class));
- assertTrue(indexMetaData.isPresent());
- assertThat(indexMetaData.get().getColumns(), is(new LinkedHashSet<>(Arrays.asList("col_1", "col_2", "other_col"))));
+ Optional<IndexMetaData> actual = new EncryptIndexReviser(mockEncryptTable())
+ .revise("foo_tbl", new IndexMetaData("foo_idx", Arrays.asList("cipher_col", "assisted_col", "other_col")), mock(EncryptRule.class));
+ assertTrue(actual.isPresent());
+ assertThat(actual.get().getName(), is("foo_idx"));
+ assertThat(actual.get().getColumns(), is(new LinkedHashSet<>(Arrays.asList("col_1", "col_2", "other_col"))));
}
private EncryptTable mockEncryptTable() {
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/index/ShardingIndexReviserTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/index/ShardingIndexReviserTest.java
index a54d3fa0fc3..0451acce8a6 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/index/ShardingIndexReviserTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/reviser/index/ShardingIndexReviserTest.java
@@ -19,12 +19,8 @@ package org.apache.shardingsphere.sharding.metadata.reviser.index;
import org.apache.shardingsphere.infra.database.core.metadata.data.model.IndexMetaData;
import org.apache.shardingsphere.infra.datanode.DataNode;
-import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.ShardingTable;
-import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
@@ -33,46 +29,28 @@ 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;
class ShardingIndexReviserTest {
- private ShardingRule shardingRule;
-
- private ShardingIndexReviser shardingIndexReviser;
-
@Test
- void assertRevise() {
- 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")));
- shardingIndexReviser = new ShardingIndexReviser(shardingTable);
- IndexMetaData originalMetaData = new IndexMetaData("TEST_INDEX", Collections.singletonList("TEST_COLUMN"));
- originalMetaData.setUnique(false);
- Optional<IndexMetaData> revisedMetaData = shardingIndexReviser.revise("TABLE_NAME_0", originalMetaData, shardingRule);
- assertTrue(revisedMetaData.isPresent());
- assertThat(revisedMetaData.get().getName(), is("TEST_INDEX"));
- assertThat(revisedMetaData.get().getColumns().size(), is(1));
- assertFalse(revisedMetaData.get().isUnique());
+ void assertReviseWithEmptyActualDataNode() {
+ assertThat(new ShardingIndexReviser(mock(ShardingTable.class)).revise("foo_tbl", new IndexMetaData("foo_idx"), mock(ShardingRule.class)), is(Optional.empty()));
}
@Test
- void assertReviseWhenActualDataNodeIsEmpty() {
- shardingRule = createShardingRule();
- ShardingTable shardingTable = mock(ShardingTable.class);
- when(shardingTable.getActualDataNodes()).thenReturn(Collections.emptyList());
- shardingIndexReviser = new ShardingIndexReviser(shardingTable);
- IndexMetaData originalMetaData = new IndexMetaData("TEST_INDEX");
- Optional<IndexMetaData> revisedMetaData = shardingIndexReviser.revise("TABLE_NAME_1", originalMetaData, shardingRule);
- assertThat(revisedMetaData, is(Optional.empty()));
+ void assertReviseWithActualDataNodes() {
+ Optional<IndexMetaData> actual = new ShardingIndexReviser(mockShardingTable()).revise("tbl_0", new IndexMetaData("foo_idx", Collections.singletonList("foo_col")), mock(ShardingRule.class));
+ assertTrue(actual.isPresent());
+ assertThat(actual.get().getName(), is("foo_idx"));
+ assertThat(actual.get().getColumns().size(), is(1));
}
- private ShardingRule createShardingRule() {
- ShardingRuleConfiguration ruleConfig = new ShardingRuleConfiguration();
- ruleConfig.setTables(Collections.singleton(new ShardingTableRuleConfiguration("TABLE_NAME", "DS.TABLE_NAME")));
- return new ShardingRule(ruleConfig, Collections.singletonMap("DS", new MockedDataSource()), mock(ComputeNodeInstanceContext.class));
+ private static ShardingTable mockShardingTable() {
+ ShardingTable result = mock(ShardingTable.class);
+ when(result.getActualDataNodes()).thenReturn(Arrays.asList(new DataNode("foo_schema", "tbl_0"), new DataNode("foo_schema", "tbl_1")));
+ return result;
}
}