提交 fe021e2d 编写于 作者: T tianbin

add test case

上级 8ad040ec
......@@ -87,5 +87,15 @@
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
......@@ -17,21 +17,48 @@
package io.shardingjdbc.core.routing.type.broadcast;
import io.shardingjdbc.core.api.config.ShardingRuleConfiguration;
import io.shardingjdbc.core.api.config.TableRuleConfiguration;
import io.shardingjdbc.core.rule.ShardingRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Collection;
@RunWith(PowerMockRunner.class)
@PrepareForTest(DatabaseBroadcastRoutingEngine.class)
public final class DatabaseBroadcastRoutingEngineTest {
@Test
public void assertRoute() {
public void assertRoute() throws NoSuchFieldException, IllegalAccessException {
DatabaseBroadcastRoutingEngine databaseBroadcastRoutingEngine = PowerMockito.mock(DatabaseBroadcastRoutingEngine.class);
Field field=DatabaseBroadcastRoutingEngine.class.getDeclaredField("shardingRule");
field.setAccessible(true);
field.set(databaseBroadcastRoutingEngine, createShardingRule());
databaseBroadcastRoutingEngine.route();
}
private ShardingRule createShardingRule() {
ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
TableRuleConfiguration tableRuleConfig = createTableRuleConfig();
shardingRuleConfig.getTableRuleConfigs().add(tableRuleConfig);
return new ShardingRule(shardingRuleConfig, createDataSourceNames());
}
private Collection<String> createDataSourceNames() {
return Arrays.asList("ds0", "ds1");
}
private TableRuleConfiguration createTableRuleConfig() {
TableRuleConfiguration result = new TableRuleConfiguration();
result.setLogicTable("LOGIC_TABLE");
result.setActualDataNodes("ds${0..1}.table_${0..2}");
return result;
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册