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 db0fc7d2151 Add test case for OptimizerContext.dropDatabase (#18733)
(#18910)
db0fc7d2151 is described below
commit db0fc7d2151bc181bad7ba99125d1cd00c5d48b8
Author: quicksand <[email protected]>
AuthorDate: Thu Jul 7 11:41:26 2022 +0800
Add test case for OptimizerContext.dropDatabase (#18733) (#18910)
* Add test case for OptimizerContext.dropDatabase (#18733)
* remove useless import
---
.../optimizer/context/OptimizerContextTest.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
index daf9958430f..5ba9bbf512b 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.infra.federation.optimizer.context;
import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContext;
+import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationSchemaMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResource;
@@ -33,6 +34,7 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
@@ -46,9 +48,9 @@ public final class OptimizerContextTest {
String tableName = "foo_tbl";
String beforeColumnName = "foo_col";
String afterColumnName = "bar_col";
- ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class), null,
+ ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class), null,
Collections.singletonMap(schemaName, new
ShardingSphereSchema(Collections.singletonMap(tableName, new
ShardingSphereTable(tableName,
- Collections.singleton(new
ShardingSphereColumn(beforeColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList())))));
+ Collections.singleton(new
ShardingSphereColumn(beforeColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList())))));
OptimizerContext optimizerContext =
OptimizerContextFactory.create(Collections.singletonMap(databaseName,
database), mock(ShardingSphereRuleMetaData.class));
optimizerContext.alterTable(databaseName, schemaName, new
ShardingSphereTable(tableName,
Collections.singleton(new
ShardingSphereColumn(afterColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList()));
@@ -73,4 +75,16 @@ public final class OptimizerContextTest {
assertTrue(schemaMetadata.isPresent());
assertFalse(schemaMetadata.get().getTables().containsKey(tableName));
}
+
+ @Test
+ public void assertDropDatabase() {
+ String databaseName = "foo_db";
+ String schemaName = "foo_schema";
+ ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class),
+ null, Collections.singletonMap(schemaName,
mock(ShardingSphereSchema.class)));
+ OptimizerContext optimizerContext =
OptimizerContextFactory.create(Collections.singletonMap(databaseName,
database), mock(ShardingSphereRuleMetaData.class));
+ optimizerContext.dropDatabase(databaseName);
+ FederationDatabaseMetaData federationDatabaseMetaData =
optimizerContext.getFederationMetaData().getDatabases().get(databaseName);
+ assertNull(federationDatabaseMetaData);
+ }
}