Skip to content

Commit 4da51bf

Browse files
author
Dave Cramer
committed
Added some rudimentary table and column tests
added a setup/teardown to create and drop the connection, and table
1 parent 710a711 commit 4da51bf

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
*
1010
* PS: Do you know how difficult it is to type on a train? ;-)
1111
*
12-
* $Id: DatabaseMetaDataTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $
12+
* $Id: DatabaseMetaDataTest.java,v 1.5 2002/04/16 15:25:17 davec Exp $
1313
*/
1414

1515
public class DatabaseMetaDataTest extends TestCase
1616
{
1717

18+
private Connection con;
1819
/*
1920
* Constructor
2021
*/
@@ -23,19 +24,50 @@ public DatabaseMetaDataTest(String name)
2324
super(name);
2425
}
2526

27+
protected void setUp() throws Exception
28+
{
29+
con = JDBC2Tests.openDB();
30+
JDBC2Tests.createTable( con, "testmetadata", "id int4, name text, updated timestamp" );
31+
}
32+
protected void tearDown() throws Exception
33+
{
34+
JDBC2Tests.dropTable( con, "testmetadata" );
35+
36+
JDBC2Tests.closeDB( con );
37+
}
2638
/*
2739
* The spec says this may return null, but we always do!
2840
*/
2941
public void testGetMetaData()
3042
{
3143
try
3244
{
33-
Connection con = JDBC2Tests.openDB();
3445

3546
DatabaseMetaData dbmd = con.getMetaData();
3647
assertNotNull(dbmd);
3748

38-
JDBC2Tests.closeDB(con);
49+
ResultSet rs = dbmd.getTables( null, null, "test%", new String[] {"TABLE"});
50+
assertTrue( rs.next() );
51+
assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
52+
53+
rs.close();
54+
55+
rs = dbmd.getColumns("", "", "test%", "%" );
56+
assertTrue( rs.next() );
57+
assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
58+
assertTrue( rs.getString("COLUMN_NAME").equals("id") );
59+
assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.INTEGER );
60+
61+
assertTrue( rs.next() );
62+
assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
63+
assertTrue( rs.getString("COLUMN_NAME").equals("name") );
64+
assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.VARCHAR );
65+
66+
assertTrue( rs.next() );
67+
assertTrue( rs.getString("TABLE_NAME").equals("testmetadata") );
68+
assertTrue( rs.getString("COLUMN_NAME").equals("updated") );
69+
assertTrue( rs.getInt("DATA_TYPE") == java.sql.Types.TIMESTAMP );
70+
3971
}
4072
catch (SQLException ex)
4173
{
@@ -50,7 +82,6 @@ public void testCapabilities()
5082
{
5183
try
5284
{
53-
Connection con = JDBC2Tests.openDB();
5485

5586
DatabaseMetaData dbmd = con.getMetaData();
5687
assertNotNull(dbmd);
@@ -76,7 +107,6 @@ public void testCapabilities()
76107

77108
assertTrue(!dbmd.supportsIntegrityEnhancementFacility());
78109

79-
JDBC2Tests.closeDB(con);
80110
}
81111
catch (SQLException ex)
82112
{
@@ -89,7 +119,6 @@ public void testJoins()
89119
{
90120
try
91121
{
92-
Connection con = JDBC2Tests.openDB();
93122

94123
DatabaseMetaData dbmd = con.getMetaData();
95124
assertNotNull(dbmd);
@@ -98,7 +127,6 @@ public void testJoins()
98127
assertTrue(dbmd.supportsFullOuterJoins());
99128
assertTrue(dbmd.supportsLimitedOuterJoins());
100129

101-
JDBC2Tests.closeDB(con);
102130
}
103131
catch (SQLException ex)
104132
{
@@ -110,15 +138,13 @@ public void testCursors()
110138
{
111139
try
112140
{
113-
Connection con = JDBC2Tests.openDB();
114141

115142
DatabaseMetaData dbmd = con.getMetaData();
116143
assertNotNull(dbmd);
117144

118145
assertTrue(!dbmd.supportsPositionedDelete());
119146
assertTrue(!dbmd.supportsPositionedUpdate());
120147

121-
JDBC2Tests.closeDB(con);
122148
}
123149
catch (SQLException ex)
124150
{
@@ -130,7 +156,6 @@ public void testNulls()
130156
{
131157
try
132158
{
133-
Connection con = JDBC2Tests.openDB();
134159

135160
DatabaseMetaData dbmd = con.getMetaData();
136161
assertNotNull(dbmd);
@@ -151,7 +176,6 @@ public void testNulls()
151176

152177
assertTrue(dbmd.supportsNonNullableColumns());
153178

154-
JDBC2Tests.closeDB(con);
155179
}
156180
catch (SQLException ex)
157181
{
@@ -163,15 +187,13 @@ public void testLocalFiles()
163187
{
164188
try
165189
{
166-
Connection con = JDBC2Tests.openDB();
167190

168191
DatabaseMetaData dbmd = con.getMetaData();
169192
assertNotNull(dbmd);
170193

171194
assertTrue(!dbmd.usesLocalFilePerTable());
172195
assertTrue(!dbmd.usesLocalFiles());
173196

174-
JDBC2Tests.closeDB(con);
175197
}
176198
catch (SQLException ex)
177199
{
@@ -183,7 +205,6 @@ public void testIdentifiers()
183205
{
184206
try
185207
{
186-
Connection con = JDBC2Tests.openDB();
187208

188209
DatabaseMetaData dbmd = con.getMetaData();
189210
assertNotNull(dbmd);
@@ -200,7 +221,6 @@ public void testIdentifiers()
200221
assertTrue(dbmd.getIdentifierQuoteString().equals("\""));
201222

202223

203-
JDBC2Tests.closeDB(con);
204224
}
205225
catch (SQLException ex)
206226
{
@@ -212,7 +232,6 @@ public void testTables()
212232
{
213233
try
214234
{
215-
Connection con = JDBC2Tests.openDB();
216235

217236
DatabaseMetaData dbmd = con.getMetaData();
218237
assertNotNull(dbmd);
@@ -223,7 +242,6 @@ public void testTables()
223242
// we can't drop columns (yet)
224243
assertTrue(!dbmd.supportsAlterTableWithDropColumn());
225244

226-
JDBC2Tests.closeDB(con);
227245
}
228246
catch (SQLException ex)
229247
{
@@ -235,7 +253,6 @@ public void testSelect()
235253
{
236254
try
237255
{
238-
Connection con = JDBC2Tests.openDB();
239256

240257
DatabaseMetaData dbmd = con.getMetaData();
241258
assertNotNull(dbmd);
@@ -254,7 +271,6 @@ public void testSelect()
254271
assertTrue(dbmd.supportsGroupByUnrelated());
255272
assertTrue(dbmd.supportsGroupByBeyondSelect()); // needs checking
256273

257-
JDBC2Tests.closeDB(con);
258274
}
259275
catch (SQLException ex)
260276
{
@@ -266,15 +282,13 @@ public void testDBParams()
266282
{
267283
try
268284
{
269-
Connection con = JDBC2Tests.openDB();
270285

271286
DatabaseMetaData dbmd = con.getMetaData();
272287
assertNotNull(dbmd);
273288

274289
assertTrue(dbmd.getURL().equals(JDBC2Tests.getURL()));
275290
assertTrue(dbmd.getUserName().equals(JDBC2Tests.getUser()));
276291

277-
JDBC2Tests.closeDB(con);
278292
}
279293
catch (SQLException ex)
280294
{
@@ -286,7 +300,6 @@ public void testDbProductDetails()
286300
{
287301
try
288302
{
289-
Connection con = JDBC2Tests.openDB();
290303
assertTrue(con instanceof org.postgresql.Connection);
291304
org.postgresql.Connection pc = (org.postgresql.Connection) con;
292305

@@ -297,7 +310,6 @@ public void testDbProductDetails()
297310
assertTrue(dbmd.getDatabaseProductVersion().startsWith(Integer.toString(pc.this_driver.getMajorVersion()) + "." + Integer.toString(pc.this_driver.getMinorVersion())));
298311
assertTrue(dbmd.getDriverName().equals("PostgreSQL Native Driver"));
299312

300-
JDBC2Tests.closeDB(con);
301313
}
302314
catch (SQLException ex)
303315
{
@@ -309,7 +321,6 @@ public void testDriverVersioning()
309321
{
310322
try
311323
{
312-
Connection con = JDBC2Tests.openDB();
313324
assertTrue(con instanceof org.postgresql.Connection);
314325
org.postgresql.Connection pc = (org.postgresql.Connection) con;
315326

@@ -321,7 +332,6 @@ public void testDriverVersioning()
321332
assertTrue(dbmd.getDriverMinorVersion() == pc.this_driver.getMinorVersion());
322333

323334

324-
JDBC2Tests.closeDB(con);
325335
}
326336
catch (SQLException ex)
327337
{

0 commit comments

Comments
 (0)