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 f9ac2c0 add test case DropIndexStatementMetaDataRefreshStrategy
(#6728)
f9ac2c0 is described below
commit f9ac2c0c579f57971f86b748d01e37db5509deee
Author: Serendipity <[email protected]>
AuthorDate: Sun Aug 9 12:25:23 2020 +0800
add test case DropIndexStatementMetaDataRefreshStrategy (#6728)
---
...pIndexStatementMetaDataRefreshStrategyTest.java | 27 ++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/DropIndexStatementMetaDataRefreshStrategyTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/DropIndexStatementMetaDataRefreshStrategyTest.java
index af10fca..b4497ea 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/DropIndexStatementMetaDataRefreshStrategyTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/DropIndexStatementMetaDataRefreshStrategyTest.java
@@ -17,8 +17,13 @@
package org.apache.shardingsphere.infra.metadata.refresh;
+import java.sql.SQLException;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Optional;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.refresh.impl.DropIndexStatementMetaDataRefreshStrategy;
+import
org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaData;
import
org.apache.shardingsphere.sql.parser.binder.statement.ddl.DropIndexStatementContext;
import org.apache.shardingsphere.sql.parser.sql.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.sql.segment.generic.table.SimpleTableSegment;
@@ -27,10 +32,6 @@ import
org.apache.shardingsphere.sql.parser.sql.statement.ddl.DropIndexStatement
import
org.apache.shardingsphere.sql.parser.sql.value.identifier.IdentifierValue;
import org.junit.Test;
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.Optional;
-
import static org.junit.Assert.assertFalse;
import static org.mockito.Mockito.mock;
@@ -46,4 +47,22 @@ public final class
DropIndexStatementMetaDataRefreshStrategyTest extends Abstrac
metaDataRefreshStrategy.refreshMetaData(getMetaData(),
mock(DatabaseType.class), Collections.emptyMap(), dropIndexStatementContext,
tableName -> Optional.empty());
assertFalse(getMetaData().getSchema().getConfiguredSchemaMetaData().get("t_order").getIndexes().containsKey("index"));
}
+
+ @Test
+ public void assertRemoveIndexes() throws SQLException {
+ Map<String, IndexMetaData> actualIndex =
getMetaData().getSchema().getConfiguredSchemaMetaData().get("t_order").getIndexes();
+ actualIndex.put("t_order_index", new IndexMetaData("t_order_index"));
+ actualIndex.put("order_id_index", new IndexMetaData("order_id_index"));
+ DropIndexStatement dropIndexStatement = new DropIndexStatement();
+ dropIndexStatement.getIndexes().add(new IndexSegment(1, 2, new
IdentifierValue("index")));
+ dropIndexStatement.getIndexes().add(new IndexSegment(2, 3, new
IdentifierValue("t_order_index")));
+ dropIndexStatement.getIndexes().add(new IndexSegment(3, 4, new
IdentifierValue("order_id_index")));
+ dropIndexStatement.setTable(new SimpleTableSegment(new
TableNameSegment(1, 3, new IdentifierValue("t_order"))));
+ DropIndexStatementContext dropIndexStatementContext = new
DropIndexStatementContext(dropIndexStatement);
+ MetaDataRefreshStrategy<DropIndexStatementContext>
metaDataRefreshStrategy = new DropIndexStatementMetaDataRefreshStrategy();
+ metaDataRefreshStrategy.refreshMetaData(getMetaData(),
mock(DatabaseType.class), Collections.emptyMap(), dropIndexStatementContext,
tableName -> Optional.empty());
+
assertFalse(getMetaData().getSchema().getConfiguredSchemaMetaData().get("t_order").getIndexes().containsKey("index"));
+
assertFalse(getMetaData().getSchema().getConfiguredSchemaMetaData().get("t_order").getIndexes().containsKey("t_order_index"));
+
assertFalse(getMetaData().getSchema().getConfiguredSchemaMetaData().get("t_order").getIndexes().containsKey("order_id_index"));
+ }
}