Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfd972e7

Browse files
author
Dave Cramer
committed
test files added by Kris Jurka
1 parent361f1e1 commitfd972e7

File tree

3 files changed

+397
-0
lines changed

3 files changed

+397
-0
lines changed
Lines changed: 339 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,339 @@
1+
packageorg.postgresql.test.jdbc2;
2+
3+
importorg.postgresql.test.TestUtil;
4+
importjunit.framework.TestCase;
5+
importjava.sql.*;
6+
7+
/*
8+
* TestCase to test the internal functionality of
9+
* org.postgresql.jdbc2.DatabaseMetaData's various properties.
10+
* Methods which return a ResultSet are tested elsewhere.
11+
* This avoids a complicated setUp/tearDown for something like
12+
* assertTrue(dbmd.nullPlusNonNullIsNull());
13+
*/
14+
15+
publicclassDatabaseMetaDataPropertiesTestextendsTestCase
16+
{
17+
18+
privateConnectioncon;
19+
/*
20+
* Constructor
21+
*/
22+
publicDatabaseMetaDataPropertiesTest(Stringname)
23+
{
24+
super(name);
25+
}
26+
27+
protectedvoidsetUp()throwsException
28+
{
29+
con =TestUtil.openDB();
30+
}
31+
protectedvoidtearDown()throwsException
32+
{
33+
TestUtil.closeDB(con );
34+
}
35+
36+
/*
37+
* The spec says this may return null, but we always do!
38+
*/
39+
publicvoidtestGetMetaData()
40+
{
41+
try
42+
{
43+
44+
DatabaseMetaDatadbmd =con.getMetaData();
45+
assertNotNull(dbmd);
46+
47+
}
48+
catch (SQLExceptionex)
49+
{
50+
fail(ex.getMessage());
51+
}
52+
}
53+
54+
/*
55+
* Test default capabilities
56+
*/
57+
publicvoidtestCapabilities()
58+
{
59+
try
60+
{
61+
62+
DatabaseMetaDatadbmd =con.getMetaData();
63+
assertNotNull(dbmd);
64+
65+
assertTrue(dbmd.allProceduresAreCallable());
66+
assertTrue(dbmd.allTablesAreSelectable());// not true all the time
67+
68+
// This should always be false for postgresql (at least for 7.x)
69+
assertTrue(!dbmd.isReadOnly());
70+
71+
// does the backend support this yet? The protocol does...
72+
assertTrue(!dbmd.supportsMultipleResultSets());
73+
74+
// yes, as multiple backends can have transactions open
75+
assertTrue(dbmd.supportsMultipleTransactions());
76+
77+
assertTrue(dbmd.supportsMinimumSQLGrammar());
78+
assertTrue(!dbmd.supportsCoreSQLGrammar());
79+
assertTrue(!dbmd.supportsExtendedSQLGrammar());
80+
if (TestUtil.haveMinimumServerVersion(con,"7.3"))
81+
assertTrue(dbmd.supportsANSI92EntryLevelSQL());
82+
else
83+
assertTrue(!dbmd.supportsANSI92EntryLevelSQL());
84+
assertTrue(!dbmd.supportsANSI92IntermediateSQL());
85+
assertTrue(!dbmd.supportsANSI92FullSQL());
86+
87+
assertTrue(!dbmd.supportsIntegrityEnhancementFacility());
88+
89+
}
90+
catch (SQLExceptionex)
91+
{
92+
fail(ex.getMessage());
93+
}
94+
}
95+
96+
97+
publicvoidtestJoins()
98+
{
99+
try
100+
{
101+
102+
DatabaseMetaDatadbmd =con.getMetaData();
103+
assertNotNull(dbmd);
104+
105+
assertTrue(dbmd.supportsOuterJoins());
106+
assertTrue(dbmd.supportsFullOuterJoins());
107+
assertTrue(dbmd.supportsLimitedOuterJoins());
108+
109+
}
110+
catch (SQLExceptionex)
111+
{
112+
fail(ex.getMessage());
113+
}
114+
}
115+
116+
publicvoidtestCursors()
117+
{
118+
try
119+
{
120+
121+
DatabaseMetaDatadbmd =con.getMetaData();
122+
assertNotNull(dbmd);
123+
124+
assertTrue(!dbmd.supportsPositionedDelete());
125+
assertTrue(!dbmd.supportsPositionedUpdate());
126+
127+
}
128+
catch (SQLExceptionex)
129+
{
130+
fail(ex.getMessage());
131+
}
132+
}
133+
134+
publicvoidtestValues()
135+
{
136+
try {
137+
DatabaseMetaDatadbmd =con.getMetaData();
138+
assertNotNull(dbmd);
139+
intindexMaxKeys =dbmd.getMaxColumnsInIndex();
140+
if (TestUtil.haveMinimumServerVersion(con,"7.3")) {
141+
assertEquals(indexMaxKeys,32);
142+
}else {
143+
assertEquals(indexMaxKeys,16);
144+
}
145+
}catch (SQLExceptionsqle) {
146+
fail(sqle.getMessage());
147+
}
148+
}
149+
150+
publicvoidtestNulls()
151+
{
152+
try
153+
{
154+
155+
DatabaseMetaDatadbmd =con.getMetaData();
156+
assertNotNull(dbmd);
157+
158+
assertTrue(!dbmd.nullsAreSortedAtStart());
159+
assertTrue(dbmd.nullsAreSortedAtEnd() !=TestUtil.haveMinimumServerVersion(con,"7.2"));
160+
assertTrue(dbmd.nullsAreSortedHigh() ==TestUtil.haveMinimumServerVersion(con,"7.2"));
161+
assertTrue(!dbmd.nullsAreSortedLow());
162+
163+
assertTrue(dbmd.nullPlusNonNullIsNull());
164+
165+
assertTrue(dbmd.supportsNonNullableColumns());
166+
167+
}
168+
catch (SQLExceptionex)
169+
{
170+
fail(ex.getMessage());
171+
}
172+
}
173+
174+
publicvoidtestLocalFiles()
175+
{
176+
try
177+
{
178+
179+
DatabaseMetaDatadbmd =con.getMetaData();
180+
assertNotNull(dbmd);
181+
182+
assertTrue(!dbmd.usesLocalFilePerTable());
183+
assertTrue(!dbmd.usesLocalFiles());
184+
185+
}
186+
catch (SQLExceptionex)
187+
{
188+
fail(ex.getMessage());
189+
}
190+
}
191+
192+
publicvoidtestIdentifiers()
193+
{
194+
try
195+
{
196+
197+
DatabaseMetaDatadbmd =con.getMetaData();
198+
assertNotNull(dbmd);
199+
200+
assertTrue(!dbmd.supportsMixedCaseIdentifiers());// always false
201+
assertTrue(dbmd.supportsMixedCaseQuotedIdentifiers());// always true
202+
203+
assertTrue(!dbmd.storesUpperCaseIdentifiers());// always false
204+
assertTrue(dbmd.storesLowerCaseIdentifiers());// always true
205+
assertTrue(!dbmd.storesUpperCaseQuotedIdentifiers());// always false
206+
assertTrue(!dbmd.storesLowerCaseQuotedIdentifiers());// always false
207+
assertTrue(!dbmd.storesMixedCaseQuotedIdentifiers());// always false
208+
209+
assertTrue(dbmd.getIdentifierQuoteString().equals("\""));
210+
211+
212+
}
213+
catch (SQLExceptionex)
214+
{
215+
fail(ex.getMessage());
216+
}
217+
}
218+
219+
publicvoidtestTables()
220+
{
221+
try
222+
{
223+
224+
DatabaseMetaDatadbmd =con.getMetaData();
225+
assertNotNull(dbmd);
226+
227+
// we can add columns
228+
assertTrue(dbmd.supportsAlterTableWithAddColumn());
229+
230+
// we can only drop columns in >= 7.3
231+
if (TestUtil.haveMinimumServerVersion(con,"7.3")) {
232+
assertTrue(dbmd.supportsAlterTableWithDropColumn());
233+
}else {
234+
assertTrue(!dbmd.supportsAlterTableWithDropColumn());
235+
}
236+
}
237+
catch (SQLExceptionex)
238+
{
239+
fail(ex.getMessage());
240+
}
241+
}
242+
243+
publicvoidtestSelect()
244+
{
245+
try
246+
{
247+
248+
DatabaseMetaDatadbmd =con.getMetaData();
249+
assertNotNull(dbmd);
250+
251+
// yes we can?: SELECT col a FROM a;
252+
assertTrue(dbmd.supportsColumnAliasing());
253+
254+
// yes we can have expressions in ORDERBY
255+
assertTrue(dbmd.supportsExpressionsInOrderBy());
256+
257+
// Yes, an ORDER BY clause can contain columns that are not in the
258+
// SELECT clause.
259+
assertTrue(dbmd.supportsOrderByUnrelated());
260+
261+
assertTrue(dbmd.supportsGroupBy());
262+
assertTrue(dbmd.supportsGroupByUnrelated());
263+
assertTrue(dbmd.supportsGroupByBeyondSelect());// needs checking
264+
265+
}
266+
catch (SQLExceptionex)
267+
{
268+
fail(ex.getMessage());
269+
}
270+
}
271+
272+
publicvoidtestDBParams()
273+
{
274+
try
275+
{
276+
277+
DatabaseMetaDatadbmd =con.getMetaData();
278+
assertNotNull(dbmd);
279+
280+
assertTrue(dbmd.getURL().equals(TestUtil.getURL()));
281+
assertTrue(dbmd.getUserName().equals(TestUtil.getUser()));
282+
283+
}
284+
catch (SQLExceptionex)
285+
{
286+
fail(ex.getMessage());
287+
}
288+
}
289+
290+
publicvoidtestDbProductDetails()
291+
{
292+
try
293+
{
294+
assertTrue(coninstanceoforg.postgresql.PGConnection);
295+
org.postgresql.jdbc2.AbstractJdbc2Connectionpc = (org.postgresql.jdbc2.AbstractJdbc2Connection)con;
296+
297+
DatabaseMetaDatadbmd =con.getMetaData();
298+
assertNotNull(dbmd);
299+
300+
assertTrue(dbmd.getDatabaseProductName().equals("PostgreSQL"));
301+
//The test below doesn't make sense to me, it tests that
302+
//the version of the driver = the version of the database it is connected to
303+
//since the driver should be backwardly compatible this test is commented out
304+
//assertTrue(dbmd.getDatabaseProductVersion().startsWith(
305+
// Integer.toString(pc.getDriver().getMajorVersion())
306+
// + "."
307+
// + Integer.toString(pc.getDriver().getMinorVersion())));
308+
assertTrue(dbmd.getDriverName().equals("PostgreSQL Native Driver"));
309+
310+
}
311+
catch (SQLExceptionex)
312+
{
313+
fail(ex.getMessage());
314+
}
315+
}
316+
317+
publicvoidtestDriverVersioning()
318+
{
319+
try
320+
{
321+
assertTrue(coninstanceoforg.postgresql.PGConnection);
322+
org.postgresql.jdbc2.AbstractJdbc2Connectionpc = (org.postgresql.jdbc2.AbstractJdbc2Connection)con;
323+
324+
DatabaseMetaDatadbmd =con.getMetaData();
325+
assertNotNull(dbmd);
326+
327+
assertTrue(dbmd.getDriverVersion().equals(pc.getDriver().getVersion()));
328+
assertTrue(dbmd.getDriverMajorVersion() ==pc.getDriver().getMajorVersion());
329+
assertTrue(dbmd.getDriverMinorVersion() ==pc.getDriver().getMinorVersion());
330+
331+
332+
}
333+
catch (SQLExceptionex)
334+
{
335+
fail(ex.getMessage());
336+
}
337+
}
338+
}
339+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
packageorg.postgresql.test.jdbc2;
2+
3+
importjava.io.Serializable;
4+
5+
publicclassSerializeObjectimplementsSerializable {
6+
7+
publicintintcol;
8+
publicdoubledoublecol;
9+
publicStringstringcol;
10+
11+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
packageorg.postgresql.test.jdbc2;
2+
3+
importorg.postgresql.test.TestUtil;
4+
importjunit.framework.TestCase;
5+
importjava.sql.*;
6+
importorg.postgresql.util.Serialize;
7+
8+
publicclassSerializeTestextendsTestCase {
9+
10+
privateConnectionconn;
11+
privateSerializeObjectserobj;
12+
privateSerializeser;
13+
14+
publicSerializeTest(Stringname) {
15+
super(name);
16+
}
17+
18+
protectedvoidsetUp()throwsException {
19+
conn =TestUtil.openDB();
20+
serobj =newSerializeObject();
21+
serobj.intcol =1;
22+
serobj.doublecol =3.4;
23+
serobj.stringcol ="Hello";
24+
TestUtil.dropTable(conn,Serialize.toPostgreSQL(conn,serobj.getClass().getName()));
25+
Serialize.create(conn,serobj);
26+
Serialize.create(conn,serobj);
27+
ser =newSerialize(conn,serobj);
28+
}
29+
30+
protectedvoidtearDown()throwsException {
31+
TestUtil.dropTable(conn,Serialize.toPostgreSQL(conn,serobj.getClass().getName()));
32+
}
33+
34+
publicvoidtestCreateSerialize() {
35+
try {
36+
longoid =ser.storeObject(serobj);
37+
SerializeObjectserobj2 = (SerializeObject)ser.fetch(oid);
38+
assertNotNull(serobj2);
39+
assertEquals(serobj.intcol,serobj2.intcol);
40+
assertTrue(Math.abs(serobj.doublecol-serobj2.doublecol) <0.0001);
41+
assertTrue(serobj.stringcol.equals(serobj2.stringcol));
42+
}catch (SQLExceptionsqle) {
43+
fail(sqle.getMessage());
44+
}
45+
}
46+
47+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp