Skip to content

Commit bcffaa3

Browse files
committed
fixed a few issues
1 parent 3d98862 commit bcffaa3

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

jdbc-v2/src/test/java/com/clickhouse/jdbc/SQLTests.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.io.InputStream;
1717
import java.sql.Connection;
1818
import java.sql.ResultSet;
19+
import java.sql.ResultSetMetaData;
1920
import java.sql.Statement;
2021
import java.util.ArrayList;
2122
import java.util.Arrays;
@@ -25,6 +26,8 @@
2526
import java.util.function.Function;
2627
import java.util.stream.Collectors;
2728

29+
import static org.testng.Assert.fail;
30+
2831
@Test(groups = {"integration"})
2932
public class SQLTests extends JdbcIntegrationTest {
3033

@@ -76,9 +79,12 @@ public static Object[][] testSQLQueryWithResultSetDP() throws Exception {
7679
testCase.setChecks(DEFAULT_CHECKS);
7780
}
7881
Map<String, TestDataset> testDatasetMap = new HashMap<>();
79-
for (Map.Entry<String, TestDataset> entry : datasetMap.entrySet()) {
80-
String table = testCase.getDatasets().get(entry.getKey());
81-
testDatasetMap.put(table, entry.getValue());
82+
for (Map.Entry<String, String> entry : testCase.getTables().entrySet()) {
83+
TestDataset testDataset = datasetMap.get(entry.getValue());
84+
if (testDataset == null) {
85+
fail("Dataset " + entry.getValue() + " not found");
86+
}
87+
testDatasetMap.put(entry.getKey(), testDataset);
8288
}
8389
testData[i] = new Object[]{testDatasetMap, testCase};
8490
}
@@ -298,7 +304,7 @@ private static Integer getIntegerProperty(Object propertyOrValue, Map<String, Te
298304
if (property instanceof Number) {
299305
return ((Number) property).intValue();
300306
} else if (property instanceof String) {
301-
return Integer.parseInt(property.toString());
307+
return Integer.parseInt((String) property);
302308
}
303309
throw new IllegalArgumentException("Property " + property + " is not a number");
304310
}
@@ -309,9 +315,7 @@ private static Object getArrayProperty(Object propertyOrValue, Map<String, TestD
309315
return null;
310316

311317
}
312-
if (property instanceof String) {
313-
return property.toString().split("\\.");
314-
} else if (property instanceof List<?>) {
318+
if (property instanceof List<?>) {
315319
return ((List<?>) property).toArray();
316320
} else if (property.getClass().isArray()) {
317321
return property;
@@ -331,10 +335,11 @@ public void check(ResultSet rs, TestResultCheckModel check, Map<String, TestData
331335
public static final class CheckResultSetColumnNames implements ResultSetCheck {
332336
@Override
333337
public void check(ResultSet rs, TestResultCheckModel check, Map<String, TestDataset> tables) throws Exception {
338+
ResultSetMetaData metaData = rs.getMetaData();
334339
Object[] expected = (Object[]) getArrayProperty(check.getExpected(), tables);
335-
Object[] actual = new String[expected.length];
336-
for (int i = 0; i < expected.length; i++) {
337-
actual[i] = rs.getMetaData().getColumnName(i + 1);
340+
Object[] actual = new String[metaData.getColumnCount()];
341+
for (int i = 0; i < metaData.getColumnCount(); i++) {
342+
actual[i] = metaData.getColumnName(i + 1);
338343
}
339344
Assert.assertEquals(actual, expected, "Column names do not match");
340345
}

0 commit comments

Comments
 (0)