9
9
*
10
10
* PS: Do you know how difficult it is to type on a train? ;-)
11
11
*
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 $
13
13
*/
14
14
15
15
public class DatabaseMetaDataTest extends TestCase
16
16
{
17
17
18
+ private Connection con ;
18
19
/*
19
20
* Constructor
20
21
*/
@@ -23,19 +24,50 @@ public DatabaseMetaDataTest(String name)
23
24
super (name );
24
25
}
25
26
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
+ }
26
38
/*
27
39
* The spec says this may return null, but we always do!
28
40
*/
29
41
public void testGetMetaData ()
30
42
{
31
43
try
32
44
{
33
- Connection con =JDBC2Tests .openDB ();
34
45
35
46
DatabaseMetaData dbmd =con .getMetaData ();
36
47
assertNotNull (dbmd );
37
48
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
+
39
71
}
40
72
catch (SQLException ex )
41
73
{
@@ -50,7 +82,6 @@ public void testCapabilities()
50
82
{
51
83
try
52
84
{
53
- Connection con =JDBC2Tests .openDB ();
54
85
55
86
DatabaseMetaData dbmd =con .getMetaData ();
56
87
assertNotNull (dbmd );
@@ -76,7 +107,6 @@ public void testCapabilities()
76
107
77
108
assertTrue (!dbmd .supportsIntegrityEnhancementFacility ());
78
109
79
- JDBC2Tests .closeDB (con );
80
110
}
81
111
catch (SQLException ex )
82
112
{
@@ -89,7 +119,6 @@ public void testJoins()
89
119
{
90
120
try
91
121
{
92
- Connection con =JDBC2Tests .openDB ();
93
122
94
123
DatabaseMetaData dbmd =con .getMetaData ();
95
124
assertNotNull (dbmd );
@@ -98,7 +127,6 @@ public void testJoins()
98
127
assertTrue (dbmd .supportsFullOuterJoins ());
99
128
assertTrue (dbmd .supportsLimitedOuterJoins ());
100
129
101
- JDBC2Tests .closeDB (con );
102
130
}
103
131
catch (SQLException ex )
104
132
{
@@ -110,15 +138,13 @@ public void testCursors()
110
138
{
111
139
try
112
140
{
113
- Connection con =JDBC2Tests .openDB ();
114
141
115
142
DatabaseMetaData dbmd =con .getMetaData ();
116
143
assertNotNull (dbmd );
117
144
118
145
assertTrue (!dbmd .supportsPositionedDelete ());
119
146
assertTrue (!dbmd .supportsPositionedUpdate ());
120
147
121
- JDBC2Tests .closeDB (con );
122
148
}
123
149
catch (SQLException ex )
124
150
{
@@ -130,7 +156,6 @@ public void testNulls()
130
156
{
131
157
try
132
158
{
133
- Connection con =JDBC2Tests .openDB ();
134
159
135
160
DatabaseMetaData dbmd =con .getMetaData ();
136
161
assertNotNull (dbmd );
@@ -151,7 +176,6 @@ public void testNulls()
151
176
152
177
assertTrue (dbmd .supportsNonNullableColumns ());
153
178
154
- JDBC2Tests .closeDB (con );
155
179
}
156
180
catch (SQLException ex )
157
181
{
@@ -163,15 +187,13 @@ public void testLocalFiles()
163
187
{
164
188
try
165
189
{
166
- Connection con =JDBC2Tests .openDB ();
167
190
168
191
DatabaseMetaData dbmd =con .getMetaData ();
169
192
assertNotNull (dbmd );
170
193
171
194
assertTrue (!dbmd .usesLocalFilePerTable ());
172
195
assertTrue (!dbmd .usesLocalFiles ());
173
196
174
- JDBC2Tests .closeDB (con );
175
197
}
176
198
catch (SQLException ex )
177
199
{
@@ -183,7 +205,6 @@ public void testIdentifiers()
183
205
{
184
206
try
185
207
{
186
- Connection con =JDBC2Tests .openDB ();
187
208
188
209
DatabaseMetaData dbmd =con .getMetaData ();
189
210
assertNotNull (dbmd );
@@ -200,7 +221,6 @@ public void testIdentifiers()
200
221
assertTrue (dbmd .getIdentifierQuoteString ().equals ("\" " ));
201
222
202
223
203
- JDBC2Tests .closeDB (con );
204
224
}
205
225
catch (SQLException ex )
206
226
{
@@ -212,7 +232,6 @@ public void testTables()
212
232
{
213
233
try
214
234
{
215
- Connection con =JDBC2Tests .openDB ();
216
235
217
236
DatabaseMetaData dbmd =con .getMetaData ();
218
237
assertNotNull (dbmd );
@@ -223,7 +242,6 @@ public void testTables()
223
242
// we can't drop columns (yet)
224
243
assertTrue (!dbmd .supportsAlterTableWithDropColumn ());
225
244
226
- JDBC2Tests .closeDB (con );
227
245
}
228
246
catch (SQLException ex )
229
247
{
@@ -235,7 +253,6 @@ public void testSelect()
235
253
{
236
254
try
237
255
{
238
- Connection con =JDBC2Tests .openDB ();
239
256
240
257
DatabaseMetaData dbmd =con .getMetaData ();
241
258
assertNotNull (dbmd );
@@ -254,7 +271,6 @@ public void testSelect()
254
271
assertTrue (dbmd .supportsGroupByUnrelated ());
255
272
assertTrue (dbmd .supportsGroupByBeyondSelect ());// needs checking
256
273
257
- JDBC2Tests .closeDB (con );
258
274
}
259
275
catch (SQLException ex )
260
276
{
@@ -266,15 +282,13 @@ public void testDBParams()
266
282
{
267
283
try
268
284
{
269
- Connection con =JDBC2Tests .openDB ();
270
285
271
286
DatabaseMetaData dbmd =con .getMetaData ();
272
287
assertNotNull (dbmd );
273
288
274
289
assertTrue (dbmd .getURL ().equals (JDBC2Tests .getURL ()));
275
290
assertTrue (dbmd .getUserName ().equals (JDBC2Tests .getUser ()));
276
291
277
- JDBC2Tests .closeDB (con );
278
292
}
279
293
catch (SQLException ex )
280
294
{
@@ -286,7 +300,6 @@ public void testDbProductDetails()
286
300
{
287
301
try
288
302
{
289
- Connection con =JDBC2Tests .openDB ();
290
303
assertTrue (con instanceof org .postgresql .Connection );
291
304
org .postgresql .Connection pc = (org .postgresql .Connection )con ;
292
305
@@ -297,7 +310,6 @@ public void testDbProductDetails()
297
310
assertTrue (dbmd .getDatabaseProductVersion ().startsWith (Integer .toString (pc .this_driver .getMajorVersion ()) +"." +Integer .toString (pc .this_driver .getMinorVersion ())));
298
311
assertTrue (dbmd .getDriverName ().equals ("PostgreSQL Native Driver" ));
299
312
300
- JDBC2Tests .closeDB (con );
301
313
}
302
314
catch (SQLException ex )
303
315
{
@@ -309,7 +321,6 @@ public void testDriverVersioning()
309
321
{
310
322
try
311
323
{
312
- Connection con =JDBC2Tests .openDB ();
313
324
assertTrue (con instanceof org .postgresql .Connection );
314
325
org .postgresql .Connection pc = (org .postgresql .Connection )con ;
315
326
@@ -321,7 +332,6 @@ public void testDriverVersioning()
321
332
assertTrue (dbmd .getDriverMinorVersion () ==pc .this_driver .getMinorVersion ());
322
333
323
334
324
- JDBC2Tests .closeDB (con );
325
335
}
326
336
catch (SQLException ex )
327
337
{