55import com .fasterxml .jackson .databind .DeserializationFeature ;
66import com .fasterxml .jackson .databind .ObjectMapper ;
77import com .fasterxml .jackson .dataformat .yaml .YAMLFactory ;
8+ import lombok .AllArgsConstructor ;
89import lombok .Data ;
910import lombok .NoArgsConstructor ;
1011import org .apache .commons .lang3 .tuple .Pair ;
1617import java .sql .Connection ;
1718import java .sql .ResultSet ;
1819import java .sql .Statement ;
20+ import java .util .ArrayList ;
1921import java .util .Arrays ;
2022import java .util .HashMap ;
2123import java .util .List ;
@@ -41,10 +43,19 @@ public void testSQLQueryWithResultSet(Map<String, TestDataset> tables, SQLTestCa
4143 checkCount += rsMetadataChecks (resultSet , testCase , tables );
4244 checkCount += dataCheck (resultSet , testCase , tables );
4345 Assert .assertEquals (checkCount , testCase .checks .size (), "Check count does not match" );
46+ Assert .assertTrue (checkCount > 0 , "Test without checks" );
4447 }
4548 }
4649 }
4750
51+ public static final ArrayList <TestResultCheckModel > DEFAULT_CHECKS = new ArrayList <>();
52+ static {
53+ DEFAULT_CHECKS .add (new TestResultCheckModel ("row_count" , "${events.rowCount}" ));
54+ DEFAULT_CHECKS .add (new TestResultCheckModel ("column_count" , "${events.columnsCount}" ));
55+ DEFAULT_CHECKS .add (new TestResultCheckModel ("column_names" , "${events.columnNames}" ));
56+ DEFAULT_CHECKS .add (new TestResultCheckModel ("column_types" , "${events.columnTypes}" ));
57+ }
58+
4859 @ DataProvider (name = "testSQLQueryWithResultSetDP" )
4960 public static Object [][] testSQLQueryWithResultSetDP () throws Exception {
5061 ClassLoader classLoader = SQLTests .class .getClassLoader ();
@@ -61,6 +72,9 @@ public static Object[][] testSQLQueryWithResultSetDP() throws Exception {
6172 Object [][] testData = new Object [testCases .length ][];
6273 for (int i = 0 ; i < testCases .length ; i ++) {
6374 SQLTestCase testCase = testCases [i ];
75+ if (testCase .getChecks () == null || testCase .getChecks ().isEmpty ()) {
76+ testCase .setChecks (DEFAULT_CHECKS );
77+ }
6478 Map <String , TestDataset > testDatasetMap = new HashMap <>();
6579 for (Map .Entry <String , TestDataset > entry : datasetMap .entrySet ()) {
6680 String table = testCase .getDatasets ().get (entry .getKey ());
@@ -203,6 +217,7 @@ public void setTables(Map<String, String> tables) {
203217
204218 @ Data
205219 @ NoArgsConstructor
220+ @ AllArgsConstructor
206221 public static final class TestResultCheckModel {
207222 private String name ;
208223 private Object expected ;
0 commit comments