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"));
+    }
 }

Reply via email to