You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2020/10/10 03:16:14 UTC
[shardingsphere] branch master updated: Add test case for
ShardingConditionEngineFactory (#7714)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 a61f4dc Add test case for ShardingConditionEngineFactory (#7714)
a61f4dc is described below
commit a61f4dcb33fa94b08af8d829a498712378c96f24
Author: Serendipity <ja...@163.com>
AuthorDate: Sat Oct 10 11:16:04 2020 +0800
Add test case for ShardingConditionEngineFactory (#7714)
* Add test case for ShardingConditionEngineFactory
* Add test case for ShardingConditionEngineFactory
* adjust method name
* adjust code style
---
.../engine/ShardingConditionEngineFactoryTest.java | 74 ++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java
new file mode 100644
index 0000000..d89f790
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngineFactoryTest.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sharding.route.engine.condition.engine;
+
+import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.infra.metadata.schema.RuleSchemaMetaData;
+import org.apache.shardingsphere.infra.schema.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.sql.LogicSQL;
+import org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.InsertClauseShardingConditionEngine;
+import org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.WhereClauseShardingConditionEngine;
+import org.apache.shardingsphere.sharding.rule.ShardingRule;
+import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
+import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
+import org.apache.shardingsphere.sql.parser.binder.statement.dml.InsertStatementContext;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
+public final class ShardingConditionEngineFactoryTest {
+
+ @Mock
+ private LogicSQL logicSQL;
+
+ @Mock
+ private ShardingRule shardingRule;
+
+ @Before
+ public void setUp() {
+ ShardingSphereSchema shardingSphereSchema = mock(ShardingSphereSchema.class);
+ when(logicSQL.getSchema()).thenReturn(shardingSphereSchema);
+ ShardingSphereMetaData shardingSphereMetaData = mock(ShardingSphereMetaData.class);
+ when(shardingSphereSchema.getMetaData()).thenReturn(shardingSphereMetaData);
+ RuleSchemaMetaData ruleSchemaMetaData = mock(RuleSchemaMetaData.class);
+ when(shardingSphereMetaData.getRuleSchemaMetaData()).thenReturn(ruleSchemaMetaData);
+ SchemaMetaData schemaMetaData = mock(SchemaMetaData.class);
+ when(ruleSchemaMetaData.getConfiguredSchemaMetaData()).thenReturn(schemaMetaData);
+ }
+
+ @Test
+ public void assertCreateInsertClauseShardingConditionEngine() {
+ SQLStatementContext insertStatementContext = mock(InsertStatementContext.class);
+ when(logicSQL.getSqlStatementContext()).thenReturn(insertStatementContext);
+ ShardingConditionEngine<?> actualInsertClauseShardingConditionEngine = ShardingConditionEngineFactory.createShardingConditionEngine(logicSQL, shardingRule);
+ assertTrue(actualInsertClauseShardingConditionEngine instanceof InsertClauseShardingConditionEngine);
+ }
+
+ @Test
+ public void assertCreateWhereClauseShardingConditionEngine() {
+ ShardingConditionEngine<?> actualWhereClauseShardingConditionEngine = ShardingConditionEngineFactory.createShardingConditionEngine(logicSQL, shardingRule);
+ assertTrue(actualWhereClauseShardingConditionEngine instanceof WhereClauseShardingConditionEngine);
+ }
+}