提交 2d4a4a13 编写于 作者: T tianbin

add test case

上级 5069cd70
......@@ -27,6 +27,7 @@ import org.junit.Test;
import java.util.Arrays;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
public final class DatabaseBroadcastRoutingEngineTest {
......@@ -46,7 +47,11 @@ public final class DatabaseBroadcastRoutingEngineTest {
@Test
public void assertRoute() {
assertThat(databaseBroadcastRoutingEngine.route(), instanceOf(RoutingResult.class));
RoutingResult routingResult = databaseBroadcastRoutingEngine.route();
assertThat(routingResult, instanceOf(RoutingResult.class));
assertThat(routingResult.getTableUnits().getTableUnits().size(), is(2));
assertThat(routingResult.getTableUnits().getTableUnits().get(0).getDataSourceName(), is("ds0"));
assertThat(routingResult.getTableUnits().getTableUnits().get(1).getDataSourceName(), is("ds1"));
}
}
......@@ -22,18 +22,22 @@ import io.shardingjdbc.core.api.config.TableRuleConfiguration;
import io.shardingjdbc.core.parsing.parser.sql.ddl.DDLStatement;
import io.shardingjdbc.core.parsing.parser.sql.dql.DQLStatement;
import io.shardingjdbc.core.parsing.parser.token.IndexToken;
import io.shardingjdbc.core.routing.type.RoutingResult;
import io.shardingjdbc.core.rule.ShardingRule;
import org.junit.Before;
import org.junit.Test;
import java.util.Arrays;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
public final class TableBroadcastRoutingEngineTest {
private ShardingRule shardingRule;
private DDLStatement ddlStatement;
@Before
public void setEngineContext() {
TableRuleConfiguration tableRuleConfig = new TableRuleConfiguration();
......@@ -43,20 +47,51 @@ public final class TableBroadcastRoutingEngineTest {
ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
shardingRuleConfig.getTableRuleConfigs().add(tableRuleConfig);
shardingRule = new ShardingRule(shardingRuleConfig, Arrays.asList("ds0", "ds1"));
ddlStatement = new DDLStatement();
}
@Test
public void assertRouteWithoutLogicTableNames() {
TableBroadcastRoutingEngine tableBroadcastRoutingEngine = new TableBroadcastRoutingEngine(shardingRule, new DQLStatement());
tableBroadcastRoutingEngine.route();
public void assertRoutingResultForDQLStatement() {
assertThat(createDQLStatementRoutingResult(), instanceOf(RoutingResult.class));
}
@Test
public void assertIsSingleRoutingForDQLStatement() {
assertFalse(createDQLStatementRoutingResult().isSingleRouting());
}
@Test
public void assertRouteWithLogicTableNames() {
public void assertTableUnitsForDQLStatement() {
RoutingResult routingResult = createDQLStatementRoutingResult();
assertThat(routingResult.getTableUnits().getTableUnits().size(), is(0));
}
@Test
public void assertRoutingResultForDDLStatement() {
assertThat(createDDLStatementRoutingResult(), instanceOf(RoutingResult.class));
}
@Test
public void assertIsSingleRoutingForDDLStatement() {
assertFalse(createDDLStatementRoutingResult().isSingleRouting());
}
@Test
public void assertTableUnitsForDDLStatement() {
RoutingResult routingResult = createDDLStatementRoutingResult();
assertThat(routingResult.getTableUnits().getTableUnits().size(), is(6));
}
private RoutingResult createDQLStatementRoutingResult() {
TableBroadcastRoutingEngine tableBroadcastRoutingEngine = new TableBroadcastRoutingEngine(shardingRule, new DQLStatement());
return tableBroadcastRoutingEngine.route();
}
private RoutingResult createDDLStatementRoutingResult() {
DDLStatement ddlStatement = new DDLStatement();
ddlStatement.getSqlTokens().add(new IndexToken(13, "t_order_index", "t_order"));
TableBroadcastRoutingEngine tableBroadcastRoutingEngine = new TableBroadcastRoutingEngine(shardingRule, ddlStatement);
tableBroadcastRoutingEngine.route();
return tableBroadcastRoutingEngine.route();
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册