Skip to content

Commit

Permalink
Add it
Browse files Browse the repository at this point in the history
  • Loading branch information
JackieTien97 committed Oct 25, 2024
1 parent 9301dcb commit 9fb9209
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,49 @@ public static void tableResultSetEqualTest(
}
}

public static void tableResultSetFuzzyTest(
String sql, String[] expectedHeader, int expectedCount, String database) {
tableResultSetFuzzyTest(
sql,
expectedHeader,
expectedCount,
SessionConfig.DEFAULT_USER,
SessionConfig.DEFAULT_PASSWORD,
database);
}

public static void tableResultSetFuzzyTest(
String sql,
String[] expectedHeader,
int expectedCount,
String userName,
String password,
String database) {
try (Connection connection =
EnvFactory.getEnv().getConnection(userName, password, BaseEnv.TABLE_SQL_DIALECT)) {
connection.setClientInfo("time_zone", "+00:00");
try (Statement statement = connection.createStatement()) {
statement.execute("use " + database);
try (ResultSet resultSet = statement.executeQuery(sql)) {
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
assertEquals(expectedHeader[i - 1], resultSetMetaData.getColumnName(i));
}
assertEquals(expectedHeader.length, resultSetMetaData.getColumnCount());

int cnt = 0;
while (resultSet.next()) {
cnt++;
}
assertEquals(expectedCount, cnt);
}
}
} catch (SQLException e) {
e.printStackTrace();
fail(e.getMessage());
}
}

public static void tableAssertTestFail(String sql, String errMsg, String databaseName) {
tableAssertTestFail(
sql, errMsg, SessionConfig.DEFAULT_USER, SessionConfig.DEFAULT_PASSWORD, databaseName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import static org.apache.iotdb.db.it.utils.TestUtils.defaultFormatDataTime;
import static org.apache.iotdb.db.it.utils.TestUtils.prepareTableData;
import static org.apache.iotdb.db.it.utils.TestUtils.tableResultSetEqualTest;
import static org.apache.iotdb.db.it.utils.TestUtils.tableResultSetFuzzyTest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
Expand Down Expand Up @@ -462,4 +463,37 @@ public void limitOffsetTest() {
retArray,
DATABASE_NAME);
}

@Test
public void showStatementTest() {
String[] expectedHeader = new String[] {"CurrentSqlDialect"};
String[] retArray =
new String[] {
"TABLE,",
};
tableResultSetEqualTest("show current_sql_dialect", expectedHeader, retArray, DATABASE_NAME);

expectedHeader = new String[] {"CurrentUser"};
retArray =
new String[] {
"root,",
};
tableResultSetEqualTest("show current_user", expectedHeader, retArray, DATABASE_NAME);

expectedHeader = new String[] {"CurrentDatabase"};
retArray =
new String[] {
DATABASE_NAME + ",",
};
tableResultSetEqualTest("show current_database", expectedHeader, retArray, DATABASE_NAME);

expectedHeader = new String[] {"Version", "BuildInfo"};
tableResultSetFuzzyTest("show version", expectedHeader, 1, DATABASE_NAME);

expectedHeader = new String[] {"Variable", "Value"};
tableResultSetFuzzyTest("show variables", expectedHeader, 15, DATABASE_NAME);

expectedHeader = new String[] {"ClusterId"};
tableResultSetFuzzyTest("show clusterid", expectedHeader, 1, DATABASE_NAME);
}
}

0 comments on commit 9fb9209

Please sign in to comment.