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: commits-unsubscr...@gravitino.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to