Skip to content

Commit 3088fd1

Browse files
authored
Add more test cases on ShardingInsertValuesToken (#33679)
1 parent 2d2b6d6 commit 3088fd1

File tree

1 file changed

+18
-26
lines changed

1 file changed

+18
-26
lines changed

features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingInsertValuesTokenTest.java

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,54 +18,46 @@
1818
package org.apache.shardingsphere.sharding.rewrite.token.pojo;
1919

2020
import org.apache.shardingsphere.infra.datanode.DataNode;
21-
import org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.generic.InsertValue;
2221
import org.apache.shardingsphere.infra.route.context.RouteMapper;
2322
import org.apache.shardingsphere.infra.route.context.RouteUnit;
2423
import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
2524
import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.LiteralExpressionSegment;
26-
import org.junit.jupiter.api.BeforeEach;
2725
import org.junit.jupiter.api.Test;
2826

2927
import java.util.Arrays;
3028
import java.util.Collection;
31-
import java.util.LinkedList;
29+
import java.util.Collections;
3230
import java.util.List;
3331

3432
import static org.hamcrest.CoreMatchers.is;
3533
import static org.hamcrest.MatcherAssert.assertThat;
3634

3735
class ShardingInsertValuesTokenTest {
3836

39-
private ShardingInsertValuesToken shardingInsertValuesToken;
37+
@Test
38+
void assertToStringWithRouteUnit() {
39+
assertThat(createInsertValuesToken().toString(createRouteUnit()), is("('foo', 'bar'), ()"));
40+
}
4041

41-
private RouteUnit routeUnit;
42+
private ShardingInsertValuesToken createInsertValuesToken() {
43+
ShardingInsertValuesToken result = new ShardingInsertValuesToken(0, 2);
44+
Collection<DataNode> dataNodes = Collections.singleton(new DataNode("foo_ds", "tbl_0"));
45+
List<ExpressionSegment> values = Arrays.asList(new LiteralExpressionSegment(0, 0, "foo"), new LiteralExpressionSegment(0, 0, "bar"));
46+
result.getInsertValues().add(new ShardingInsertValue(values, dataNodes));
47+
result.getInsertValues().add(new ShardingInsertValue(Collections.emptyList(), Collections.singleton(new DataNode("bar_ds", "tbl_1"))));
48+
result.getInsertValues().add(new ShardingInsertValue(Collections.emptyList(), Collections.emptyList()));
49+
return result;
50+
}
4251

43-
@BeforeEach
44-
void setup() {
45-
shardingInsertValuesToken = new ShardingInsertValuesToken(0, 2);
46-
RouteMapper routeMapper = new RouteMapper("logic_ds", "actual_ds");
52+
private RouteUnit createRouteUnit() {
53+
RouteMapper routeMapper = new RouteMapper("foo_ds", "actual_ds");
4754
RouteMapper routeMapper1 = new RouteMapper("tbl", "tbl_0");
4855
RouteMapper routeMapper2 = new RouteMapper("tbl", "tbl_1");
49-
routeUnit = new RouteUnit(routeMapper, Arrays.asList(routeMapper1, routeMapper2));
50-
ExpressionSegment expressionSegment1 = new LiteralExpressionSegment(0, 0, "shardingsphere");
51-
ExpressionSegment expressionSegment2 = new LiteralExpressionSegment(0, 0, "test");
52-
List<ExpressionSegment> expressionSegment = new LinkedList<>();
53-
expressionSegment.add(expressionSegment1);
54-
expressionSegment.add(expressionSegment2);
55-
Collection<DataNode> dataNodes = new LinkedList<>();
56-
dataNodes.add(new DataNode("logic_ds", "tbl_0"));
57-
ShardingInsertValue shardingInsertValue = new ShardingInsertValue(expressionSegment, dataNodes);
58-
List<InsertValue> insertValues = shardingInsertValuesToken.getInsertValues();
59-
insertValues.add(shardingInsertValue);
60-
}
61-
62-
@Test
63-
void assertToStringWithRouteUnit() {
64-
assertThat(shardingInsertValuesToken.toString(routeUnit), is("('shardingsphere', 'test')"));
56+
return new RouteUnit(routeMapper, Arrays.asList(routeMapper1, routeMapper2));
6557
}
6658

6759
@Test
6860
void assertToStringWithoutRouteUnit() {
69-
assertThat(shardingInsertValuesToken.toString(), is("('shardingsphere', 'test')"));
61+
assertThat(createInsertValuesToken().toString(), is("('foo', 'bar'), (), ()"));
7062
}
7163
}

0 commit comments

Comments
 (0)