1 package org.dbunit.database;
2
3 import java.io.File;
4 import java.sql.Connection;
5
6 import org.dbunit.AbstractDatabaseIT;
7 import org.dbunit.HypersonicEnvironment;
8 import org.dbunit.dataset.Column;
9 import org.dbunit.dataset.Columns;
10 import org.dbunit.dataset.IDataSet;
11 import org.dbunit.testutil.TestUtils;
12
13
14
15
16
17
18
19 public class ResultSetTableMetaDataIT extends AbstractDatabaseIT
20 {
21
22 public ResultSetTableMetaDataIT(String s)
23 {
24 super(s);
25 }
26
27 protected IDataSet createDataSet() throws Exception
28 {
29 return _connection.createDataSet();
30 }
31
32
33
34
35
36
37 public void testGetColumnsForTablesMatchingSamePattern() throws Exception
38 {
39 Connection jdbcConnection = HypersonicEnvironment.createJdbcConnection("tempdb");
40 HypersonicEnvironment.executeDdlFile(TestUtils.getFile("sql/hypersonic_dataset_pattern_test.sql"),
41 jdbcConnection);
42 IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
43
44 try {
45 String tableName = "PATTERN_LIKE_TABLE_X_";
46 String[] columnNames = {"VARCHAR_COL_XUNDERSCORE"};
47
48 String sql = "select * from " + tableName;
49 ForwardOnlyResultSetTable resultSetTable = new ForwardOnlyResultSetTable(tableName, sql, connection);
50 ResultSetTableMetaData metaData = (ResultSetTableMetaData) resultSetTable.getTableMetaData();
51
52 Column[] columns = metaData.getColumns();
53
54 assertEquals("column count", columnNames.length, columns.length);
55
56 for (int i = 0; i < columnNames.length; i++)
57 {
58 Column column = Columns.getColumn(columnNames[i], columns);
59 assertEquals(columnNames[i], columnNames[i], column.getColumnName());
60 }
61 }
62 finally {
63 HypersonicEnvironment.shutdown(jdbcConnection);
64 jdbcConnection.close();
65 HypersonicEnvironment.deleteFiles("tempdb");
66 }
67 }
68
69 }