justinmclean opened a new issue, #8196:
URL: https://github.com/apache/gravitino/issues/8196
### What would you like to be improved?
Added missing validation to TableDTO.Builder.build() to make sure the table
has a non-null, non-empty column list before construction, as indicated in the
comment.
Here are some tests that should help:
```
@Test
public void testBuildWithoutColumns() {
AuditDTO audit =
AuditDTO.builder().withCreator("creator").withCreateTime(Instant.now()).build();
TableDTO.Builder builder =
TableDTO.builder().withName("t1").withAudit(audit);
assertThrows(IllegalArgumentException.class, builder::build);
}
@Test
public void testBuildWithEmptyColumns() {
AuditDTO audit =
AuditDTO.builder().withCreator("creator").withCreateTime(Instant.now()).build();
TableDTO.Builder builder =
TableDTO.builder().withName("t1").withAudit(audit).withColumns(new
ColumnDTO[0]);
assertThrows(IllegalArgumentException.class, builder::build);
}
@Test
public void testBuildWithColumns() {
AuditDTO audit =
AuditDTO.builder().withCreator("creator").withCreateTime(Instant.now()).build();
ColumnDTO column =
ColumnDTO.builder().withName("c1").withDataType(Types.IntegerType.get()).build();
assertDoesNotThrow(
() ->
TableDTO.builder()
.withName("t1")
.withAudit(audit)
.withColumns(new ColumnDTO[] {column})
.build());
}
```
### How should we improve?
Add a checkArgument precondition.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]