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.1 2001/02/13 16:39:05 peter Exp $
12
+ * $Id: DatabaseMetaDataTest.java,v 1.2 2001/09/10 15:07:58 momjian Exp $
13
13
*/
14
14
15
15
public class DatabaseMetaDataTest extends TestCase {
@@ -29,11 +29,11 @@ public void testGetMetaData() {
29
29
Connection con = JDBC2Tests .openDB ();
30
30
31
31
DatabaseMetaData dbmd = con .getMetaData ();
32
- assert (dbmd != null );
32
+ assertNotNull (dbmd );
33
33
34
34
JDBC2Tests .closeDB (con );
35
35
} catch (SQLException ex ) {
36
- assert (ex .getMessage (), false );
36
+ fail (ex .getMessage ());
37
37
}
38
38
}
39
39
@@ -45,32 +45,32 @@ public void testCapabilities() {
45
45
Connection con = JDBC2Tests .openDB ();
46
46
47
47
DatabaseMetaData dbmd = con .getMetaData ();
48
- assert (dbmd != null );
48
+ assertNotNull (dbmd );
49
49
50
- assert (dbmd .allProceduresAreCallable ()== true );
51
- assert (dbmd .allTablesAreSelectable ()== true ); // not true all the time
50
+ assertTrue (dbmd .allProceduresAreCallable ());
51
+ assertTrue (dbmd .allTablesAreSelectable ()); // not true all the time
52
52
53
53
// This should always be false for postgresql (at least for 7.x)
54
- assert (!dbmd .isReadOnly ());
54
+ assertTrue (!dbmd .isReadOnly ());
55
55
56
56
// does the backend support this yet? The protocol does...
57
- assert (!dbmd .supportsMultipleResultSets ());
57
+ assertTrue (!dbmd .supportsMultipleResultSets ());
58
58
59
59
// yes, as multiple backends can have transactions open
60
- assert (dbmd .supportsMultipleTransactions ());
60
+ assertTrue (dbmd .supportsMultipleTransactions ());
61
61
62
- assert (dbmd .supportsMinimumSQLGrammar ());
63
- assert (!dbmd .supportsCoreSQLGrammar ());
64
- assert (!dbmd .supportsExtendedSQLGrammar ());
65
- assert (!dbmd .supportsANSI92EntryLevelSQL ());
66
- assert (!dbmd .supportsANSI92IntermediateSQL ());
67
- assert (!dbmd .supportsANSI92FullSQL ());
62
+ assertTrue (dbmd .supportsMinimumSQLGrammar ());
63
+ assertTrue (!dbmd .supportsCoreSQLGrammar ());
64
+ assertTrue (!dbmd .supportsExtendedSQLGrammar ());
65
+ assertTrue (!dbmd .supportsANSI92EntryLevelSQL ());
66
+ assertTrue (!dbmd .supportsANSI92IntermediateSQL ());
67
+ assertTrue (!dbmd .supportsANSI92FullSQL ());
68
68
69
- assert (!dbmd .supportsIntegrityEnhancementFacility ());
69
+ assertTrue (!dbmd .supportsIntegrityEnhancementFacility ());
70
70
71
71
JDBC2Tests .closeDB (con );
72
72
} catch (SQLException ex ) {
73
- assert (ex .getMessage (), false );
73
+ fail (ex .getMessage ());
74
74
}
75
75
}
76
76
@@ -80,15 +80,15 @@ public void testJoins() {
80
80
Connection con = JDBC2Tests .openDB ();
81
81
82
82
DatabaseMetaData dbmd = con .getMetaData ();
83
- assert (dbmd != null );
83
+ assertNotNull (dbmd );
84
84
85
- assert (dbmd .supportsOuterJoins ());
86
- assert (dbmd .supportsFullOuterJoins ());
87
- assert (dbmd .supportsLimitedOuterJoins ());
85
+ assertTrue (dbmd .supportsOuterJoins ());
86
+ assertTrue (dbmd .supportsFullOuterJoins ());
87
+ assertTrue (dbmd .supportsLimitedOuterJoins ());
88
88
89
89
JDBC2Tests .closeDB (con );
90
90
} catch (SQLException ex ) {
91
- assert (ex .getMessage (), false );
91
+ fail (ex .getMessage ());
92
92
}
93
93
}
94
94
@@ -97,14 +97,14 @@ public void testCursors() {
97
97
Connection con = JDBC2Tests .openDB ();
98
98
99
99
DatabaseMetaData dbmd = con .getMetaData ();
100
- assert (dbmd != null );
100
+ assertNotNull (dbmd );
101
101
102
- assert (!dbmd .supportsPositionedDelete ());
103
- assert (!dbmd .supportsPositionedUpdate ());
102
+ assertTrue (!dbmd .supportsPositionedDelete ());
103
+ assertTrue (!dbmd .supportsPositionedUpdate ());
104
104
105
105
JDBC2Tests .closeDB (con );
106
106
} catch (SQLException ex ) {
107
- assert (ex .getMessage (), false );
107
+ fail (ex .getMessage ());
108
108
}
109
109
}
110
110
@@ -113,21 +113,27 @@ public void testNulls() {
113
113
Connection con = JDBC2Tests .openDB ();
114
114
115
115
DatabaseMetaData dbmd = con .getMetaData ();
116
- assert (dbmd != null );
116
+ assertNotNull (dbmd );
117
117
118
- // these need double checking
119
- assert (!dbmd .nullsAreSortedAtStart ());
120
- assert (dbmd .nullsAreSortedAtEnd ());
121
- assert (!dbmd .nullsAreSortedHigh ());
122
- assert (!dbmd .nullsAreSortedLow ());
118
+ // We need to type cast the connection to get access to the
119
+ // PostgreSQL-specific method haveMinimumServerVersion().
120
+ // This is not available through the java.sql.Connection interface.
121
+ assertTrue ( con instanceof org .postgresql .Connection );
123
122
124
- assert (dbmd .nullPlusNonNullIsNull ());
123
+ assertTrue (!dbmd .nullsAreSortedAtStart ());
124
+ assertTrue ( dbmd .nullsAreSortedAtEnd () !=
125
+ ((org .postgresql .Connection )con ).haveMinimumServerVersion ("7.2" ));
126
+ assertTrue ( dbmd .nullsAreSortedHigh () ==
127
+ ((org .postgresql .Connection )con ).haveMinimumServerVersion ("7.2" ));
128
+ assertTrue (!dbmd .nullsAreSortedLow ());
125
129
126
- assert (dbmd .supportsNonNullableColumns ());
130
+ assertTrue (dbmd .nullPlusNonNullIsNull ());
131
+
132
+ assertTrue (dbmd .supportsNonNullableColumns ());
127
133
128
134
JDBC2Tests .closeDB (con );
129
135
} catch (SQLException ex ) {
130
- assert (ex .getMessage (), false );
136
+ fail (ex .getMessage ());
131
137
}
132
138
}
133
139
@@ -136,14 +142,14 @@ public void testLocalFiles() {
136
142
Connection con = JDBC2Tests .openDB ();
137
143
138
144
DatabaseMetaData dbmd = con .getMetaData ();
139
- assert (dbmd != null );
145
+ assertNotNull (dbmd );
140
146
141
- assert (!dbmd .usesLocalFilePerTable ());
142
- assert (!dbmd .usesLocalFiles ());
147
+ assertTrue (!dbmd .usesLocalFilePerTable ());
148
+ assertTrue (!dbmd .usesLocalFiles ());
143
149
144
150
JDBC2Tests .closeDB (con );
145
151
} catch (SQLException ex ) {
146
- assert (ex .getMessage (), false );
152
+ fail (ex .getMessage ());
147
153
}
148
154
}
149
155
@@ -152,23 +158,23 @@ public void testIdentifiers() {
152
158
Connection con = JDBC2Tests .openDB ();
153
159
154
160
DatabaseMetaData dbmd = con .getMetaData ();
155
- assert (dbmd != null );
161
+ assertNotNull (dbmd );
156
162
157
- assert (!dbmd .supportsMixedCaseIdentifiers ()); // always false
158
- assert (dbmd .supportsMixedCaseQuotedIdentifiers ()); // always true
163
+ assertTrue (!dbmd .supportsMixedCaseIdentifiers ()); // always false
164
+ assertTrue (dbmd .supportsMixedCaseQuotedIdentifiers ()); // always true
159
165
160
- assert (!dbmd .storesUpperCaseIdentifiers ()); // always false
161
- assert (dbmd .storesLowerCaseIdentifiers ()); // always true
162
- assert (!dbmd .storesUpperCaseQuotedIdentifiers ()); // always false
163
- assert (!dbmd .storesLowerCaseQuotedIdentifiers ()); // always false
164
- assert (!dbmd .storesMixedCaseQuotedIdentifiers ()); // always false
166
+ assertTrue (!dbmd .storesUpperCaseIdentifiers ()); // always false
167
+ assertTrue (dbmd .storesLowerCaseIdentifiers ()); // always true
168
+ assertTrue (!dbmd .storesUpperCaseQuotedIdentifiers ()); // always false
169
+ assertTrue (!dbmd .storesLowerCaseQuotedIdentifiers ()); // always false
170
+ assertTrue (!dbmd .storesMixedCaseQuotedIdentifiers ()); // always false
165
171
166
- assert (dbmd .getIdentifierQuoteString ().equals ("\" " ));
172
+ assertTrue (dbmd .getIdentifierQuoteString ().equals ("\" " ));
167
173
168
174
169
175
JDBC2Tests .closeDB (con );
170
176
} catch (SQLException ex ) {
171
- assert (ex .getMessage (), false );
177
+ fail (ex .getMessage ());
172
178
}
173
179
}
174
180
@@ -177,17 +183,17 @@ public void testTables() {
177
183
Connection con = JDBC2Tests .openDB ();
178
184
179
185
DatabaseMetaData dbmd = con .getMetaData ();
180
- assert (dbmd != null );
186
+ assertNotNull (dbmd );
181
187
182
188
// we can add columns
183
- assert (dbmd .supportsAlterTableWithAddColumn ());
189
+ assertTrue (dbmd .supportsAlterTableWithAddColumn ());
184
190
185
191
// we can't drop columns (yet)
186
- assert (!dbmd .supportsAlterTableWithDropColumn ());
192
+ assertTrue (!dbmd .supportsAlterTableWithDropColumn ());
187
193
188
194
JDBC2Tests .closeDB (con );
189
195
} catch (SQLException ex ) {
190
- assert (ex .getMessage (), false );
196
+ fail (ex .getMessage ());
191
197
}
192
198
}
193
199
@@ -196,23 +202,25 @@ public void testSelect() {
196
202
Connection con = JDBC2Tests .openDB ();
197
203
198
204
DatabaseMetaData dbmd = con .getMetaData ();
199
- assert (dbmd != null );
205
+ assertNotNull (dbmd );
200
206
201
207
// yes we can?: SELECT col a FROM a;
202
- assert (dbmd .supportsColumnAliasing ());
208
+ assertTrue (dbmd .supportsColumnAliasing ());
203
209
204
210
// yes we can have expressions in ORDERBY
205
- assert (dbmd .supportsExpressionsInOrderBy ());
211
+ assertTrue (dbmd .supportsExpressionsInOrderBy ());
206
212
207
- assert (!dbmd .supportsOrderByUnrelated ());
213
+ // Yes, an ORDER BY clause can contain columns that are not in the
214
+ // SELECT clause.
215
+ assertTrue (dbmd .supportsOrderByUnrelated ());
208
216
209
- assert (dbmd .supportsGroupBy ());
210
- assert (dbmd .supportsGroupByUnrelated ());
211
- assert (dbmd .supportsGroupByBeyondSelect ()); // needs checking
217
+ assertTrue (dbmd .supportsGroupBy ());
218
+ assertTrue (dbmd .supportsGroupByUnrelated ());
219
+ assertTrue (dbmd .supportsGroupByBeyondSelect ()); // needs checking
212
220
213
221
JDBC2Tests .closeDB (con );
214
222
} catch (SQLException ex ) {
215
- assert (ex .getMessage (), false );
223
+ fail (ex .getMessage ());
216
224
}
217
225
}
218
226
@@ -221,53 +229,53 @@ public void testDBParams() {
221
229
Connection con = JDBC2Tests .openDB ();
222
230
223
231
DatabaseMetaData dbmd = con .getMetaData ();
224
- assert (dbmd != null );
232
+ assertNotNull (dbmd );
225
233
226
- assert (dbmd .getURL ().equals (JDBC2Tests .getURL ()));
227
- assert (dbmd .getUserName ().equals (JDBC2Tests .getUser ()));
234
+ assertTrue (dbmd .getURL ().equals (JDBC2Tests .getURL ()));
235
+ assertTrue (dbmd .getUserName ().equals (JDBC2Tests .getUser ()));
228
236
229
237
JDBC2Tests .closeDB (con );
230
238
} catch (SQLException ex ) {
231
- assert (ex .getMessage (), false );
239
+ fail (ex .getMessage ());
232
240
}
233
241
}
234
242
235
243
public void testDbProductDetails () {
236
244
try {
237
245
Connection con = JDBC2Tests .openDB ();
238
- assert (con instanceof org .postgresql .Connection );
246
+ assertTrue (con instanceof org .postgresql .Connection );
239
247
org .postgresql .Connection pc = (org .postgresql .Connection ) con ;
240
248
241
249
DatabaseMetaData dbmd = con .getMetaData ();
242
- assert (dbmd != null );
250
+ assertNotNull (dbmd );
243
251
244
- assert (dbmd .getDatabaseProductName ().equals ("PostgreSQL" ));
245
- assert (dbmd .getDatabaseProductVersion ().startsWith (Integer .toString (pc .this_driver .getMajorVersion ())+"." +Integer .toString (pc .this_driver .getMinorVersion ())));
246
- assert (dbmd .getDriverName ().equals ("PostgreSQL Native Driver" ));
252
+ assertTrue (dbmd .getDatabaseProductName ().equals ("PostgreSQL" ));
253
+ assertTrue (dbmd .getDatabaseProductVersion ().startsWith (Integer .toString (pc .this_driver .getMajorVersion ())+"." +Integer .toString (pc .this_driver .getMinorVersion ())));
254
+ assertTrue (dbmd .getDriverName ().equals ("PostgreSQL Native Driver" ));
247
255
248
256
JDBC2Tests .closeDB (con );
249
257
} catch (SQLException ex ) {
250
- assert (ex .getMessage (), false );
258
+ fail (ex .getMessage ());
251
259
}
252
260
}
253
261
254
262
public void testDriverVersioning () {
255
263
try {
256
264
Connection con = JDBC2Tests .openDB ();
257
- assert (con instanceof org .postgresql .Connection );
265
+ assertTrue (con instanceof org .postgresql .Connection );
258
266
org .postgresql .Connection pc = (org .postgresql .Connection ) con ;
259
267
260
268
DatabaseMetaData dbmd = con .getMetaData ();
261
- assert (dbmd != null );
269
+ assertNotNull (dbmd );
262
270
263
- assert (dbmd .getDriverVersion ().equals (pc .this_driver .getVersion ()));
264
- assert (dbmd .getDriverMajorVersion ()==pc .this_driver .getMajorVersion ());
265
- assert (dbmd .getDriverMinorVersion ()==pc .this_driver .getMinorVersion ());
271
+ assertTrue (dbmd .getDriverVersion ().equals (pc .this_driver .getVersion ()));
272
+ assertTrue (dbmd .getDriverMajorVersion ()==pc .this_driver .getMajorVersion ());
273
+ assertTrue (dbmd .getDriverMinorVersion ()==pc .this_driver .getMinorVersion ());
266
274
267
275
268
276
JDBC2Tests .closeDB (con );
269
277
} catch (SQLException ex ) {
270
- assert (ex .getMessage (), false );
278
+ fail (ex .getMessage ());
271
279
}
272
280
}
273
- }
281
+ }
0 commit comments