You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/08/25 06:29:36 UTC
svn commit: r436644 [2/6] -
/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/
Modified: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java?rev=436644&r1=436643&r2=436644&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java Thu Aug 24 21:29:34 2006
@@ -1,117 +1,117 @@
-/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.harmony.sql.tests.java.sql;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.HashMap;
-
-import junit.framework.TestCase;
-
-public class DatabaseMetaDataTest extends TestCase {
-
- /*
- * Public statics test
- */
- public void testPublicStatics() {
-
- HashMap thePublicStatics = new HashMap();
- thePublicStatics.put("sqlStateSQL99", new Integer(2));
- thePublicStatics.put("sqlStateXOpen", new Integer(1));
- thePublicStatics.put("attributeNullableUnknown", new Short((short) 2));
- thePublicStatics.put("attributeNullable", new Short((short) 1));
- thePublicStatics.put("attributeNoNulls", new Short((short) 0));
- thePublicStatics.put("tableIndexOther", new Short((short) 3));
- thePublicStatics.put("tableIndexHashed", new Short((short) 2));
- thePublicStatics.put("tableIndexClustered", new Short((short) 1));
- thePublicStatics.put("tableIndexStatistic", new Short((short) 0));
- thePublicStatics.put("typeSearchable", new Integer(3));
- thePublicStatics.put("typePredBasic", new Integer(2));
- thePublicStatics.put("typePredChar", new Integer(1));
- thePublicStatics.put("typePredNone", new Integer(0));
- thePublicStatics.put("typeNullableUnknown", new Integer(2));
- thePublicStatics.put("typeNullable", new Integer(1));
- thePublicStatics.put("typeNoNulls", new Integer(0));
- thePublicStatics.put("importedKeyNotDeferrable", new Integer(7));
- thePublicStatics.put("importedKeyInitiallyImmediate", new Integer(6));
- thePublicStatics.put("importedKeyInitiallyDeferred", new Integer(5));
- thePublicStatics.put("importedKeySetDefault", new Integer(4));
- thePublicStatics.put("importedKeyNoAction", new Integer(3));
- thePublicStatics.put("importedKeySetNull", new Integer(2));
- thePublicStatics.put("importedKeyRestrict", new Integer(1));
- thePublicStatics.put("importedKeyCascade", new Integer(0));
- thePublicStatics.put("versionColumnPseudo", new Integer(2));
- thePublicStatics.put("versionColumnNotPseudo", new Integer(1));
- thePublicStatics.put("versionColumnUnknown", new Integer(0));
- thePublicStatics.put("bestRowPseudo", new Integer(2));
- thePublicStatics.put("bestRowNotPseudo", new Integer(1));
- thePublicStatics.put("bestRowUnknown", new Integer(0));
- thePublicStatics.put("bestRowSession", new Integer(2));
- thePublicStatics.put("bestRowTransaction", new Integer(1));
- thePublicStatics.put("bestRowTemporary", new Integer(0));
- thePublicStatics.put("columnNullableUnknown", new Integer(2));
- thePublicStatics.put("columnNullable", new Integer(1));
- thePublicStatics.put("columnNoNulls", new Integer(0));
- thePublicStatics.put("procedureNullableUnknown", new Integer(2));
- thePublicStatics.put("procedureNullable", new Integer(1));
- thePublicStatics.put("procedureNoNulls", new Integer(0));
- thePublicStatics.put("procedureColumnResult", new Integer(3));
- thePublicStatics.put("procedureColumnReturn", new Integer(5));
- thePublicStatics.put("procedureColumnOut", new Integer(4));
- thePublicStatics.put("procedureColumnInOut", new Integer(2));
- thePublicStatics.put("procedureColumnIn", new Integer(1));
- thePublicStatics.put("procedureColumnUnknown", new Integer(0));
- thePublicStatics.put("procedureReturnsResult", new Integer(2));
- thePublicStatics.put("procedureNoResult", new Integer(1));
- thePublicStatics.put("procedureResultUnknown", new Integer(0));
-
- Class databaseMetaDataClass;
- try {
- databaseMetaDataClass = Class.forName("java.sql.DatabaseMetaData");
- } catch (ClassNotFoundException e) {
- fail("java.sql.DatabaseMetaData class not found!");
- return;
- } // end try
-
- Field[] theFields = databaseMetaDataClass.getDeclaredFields();
- int requiredModifier = Modifier.PUBLIC + Modifier.STATIC
- + Modifier.FINAL;
-
- int countPublicStatics = 0;
- for (int i = 0; i < theFields.length; i++) {
- String fieldName = theFields[i].getName();
- int theMods = theFields[i].getModifiers();
- if (Modifier.isPublic(theMods) && Modifier.isStatic(theMods)) {
- try {
- Object fieldValue = theFields[i].get(null);
- Object expectedValue = thePublicStatics.get(fieldName);
- if (expectedValue == null) {
- fail("Field " + fieldName + " missing!");
- } // end
- assertEquals("Field " + fieldName + " value mismatch: ",
- expectedValue, fieldValue);
- assertEquals("Field " + fieldName + " modifier mismatch: ",
- requiredModifier, theMods);
- countPublicStatics++;
- } catch (IllegalAccessException e) {
- fail("Illegal access to Field " + fieldName);
- } // end try
- } // end if
- } // end for
-
- } // end method testPublicStatics
-
-} // end class DatabaseMetaDataTest
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.sql.tests.java.sql;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.HashMap;
+
+import junit.framework.TestCase;
+
+public class DatabaseMetaDataTest extends TestCase {
+
+ /*
+ * Public statics test
+ */
+ public void testPublicStatics() {
+
+ HashMap thePublicStatics = new HashMap();
+ thePublicStatics.put("sqlStateSQL99", new Integer(2));
+ thePublicStatics.put("sqlStateXOpen", new Integer(1));
+ thePublicStatics.put("attributeNullableUnknown", new Short((short) 2));
+ thePublicStatics.put("attributeNullable", new Short((short) 1));
+ thePublicStatics.put("attributeNoNulls", new Short((short) 0));
+ thePublicStatics.put("tableIndexOther", new Short((short) 3));
+ thePublicStatics.put("tableIndexHashed", new Short((short) 2));
+ thePublicStatics.put("tableIndexClustered", new Short((short) 1));
+ thePublicStatics.put("tableIndexStatistic", new Short((short) 0));
+ thePublicStatics.put("typeSearchable", new Integer(3));
+ thePublicStatics.put("typePredBasic", new Integer(2));
+ thePublicStatics.put("typePredChar", new Integer(1));
+ thePublicStatics.put("typePredNone", new Integer(0));
+ thePublicStatics.put("typeNullableUnknown", new Integer(2));
+ thePublicStatics.put("typeNullable", new Integer(1));
+ thePublicStatics.put("typeNoNulls", new Integer(0));
+ thePublicStatics.put("importedKeyNotDeferrable", new Integer(7));
+ thePublicStatics.put("importedKeyInitiallyImmediate", new Integer(6));
+ thePublicStatics.put("importedKeyInitiallyDeferred", new Integer(5));
+ thePublicStatics.put("importedKeySetDefault", new Integer(4));
+ thePublicStatics.put("importedKeyNoAction", new Integer(3));
+ thePublicStatics.put("importedKeySetNull", new Integer(2));
+ thePublicStatics.put("importedKeyRestrict", new Integer(1));
+ thePublicStatics.put("importedKeyCascade", new Integer(0));
+ thePublicStatics.put("versionColumnPseudo", new Integer(2));
+ thePublicStatics.put("versionColumnNotPseudo", new Integer(1));
+ thePublicStatics.put("versionColumnUnknown", new Integer(0));
+ thePublicStatics.put("bestRowPseudo", new Integer(2));
+ thePublicStatics.put("bestRowNotPseudo", new Integer(1));
+ thePublicStatics.put("bestRowUnknown", new Integer(0));
+ thePublicStatics.put("bestRowSession", new Integer(2));
+ thePublicStatics.put("bestRowTransaction", new Integer(1));
+ thePublicStatics.put("bestRowTemporary", new Integer(0));
+ thePublicStatics.put("columnNullableUnknown", new Integer(2));
+ thePublicStatics.put("columnNullable", new Integer(1));
+ thePublicStatics.put("columnNoNulls", new Integer(0));
+ thePublicStatics.put("procedureNullableUnknown", new Integer(2));
+ thePublicStatics.put("procedureNullable", new Integer(1));
+ thePublicStatics.put("procedureNoNulls", new Integer(0));
+ thePublicStatics.put("procedureColumnResult", new Integer(3));
+ thePublicStatics.put("procedureColumnReturn", new Integer(5));
+ thePublicStatics.put("procedureColumnOut", new Integer(4));
+ thePublicStatics.put("procedureColumnInOut", new Integer(2));
+ thePublicStatics.put("procedureColumnIn", new Integer(1));
+ thePublicStatics.put("procedureColumnUnknown", new Integer(0));
+ thePublicStatics.put("procedureReturnsResult", new Integer(2));
+ thePublicStatics.put("procedureNoResult", new Integer(1));
+ thePublicStatics.put("procedureResultUnknown", new Integer(0));
+
+ Class databaseMetaDataClass;
+ try {
+ databaseMetaDataClass = Class.forName("java.sql.DatabaseMetaData");
+ } catch (ClassNotFoundException e) {
+ fail("java.sql.DatabaseMetaData class not found!");
+ return;
+ } // end try
+
+ Field[] theFields = databaseMetaDataClass.getDeclaredFields();
+ int requiredModifier = Modifier.PUBLIC + Modifier.STATIC
+ + Modifier.FINAL;
+
+ int countPublicStatics = 0;
+ for (int i = 0; i < theFields.length; i++) {
+ String fieldName = theFields[i].getName();
+ int theMods = theFields[i].getModifiers();
+ if (Modifier.isPublic(theMods) && Modifier.isStatic(theMods)) {
+ try {
+ Object fieldValue = theFields[i].get(null);
+ Object expectedValue = thePublicStatics.get(fieldName);
+ if (expectedValue == null) {
+ fail("Field " + fieldName + " missing!");
+ } // end
+ assertEquals("Field " + fieldName + " value mismatch: ",
+ expectedValue, fieldValue);
+ assertEquals("Field " + fieldName + " modifier mismatch: ",
+ requiredModifier, theMods);
+ countPublicStatics++;
+ } catch (IllegalAccessException e) {
+ fail("Illegal access to Field " + fieldName);
+ } // end try
+ } // end if
+ } // end for
+
+ } // end method testPublicStatics
+
+} // end class DatabaseMetaDataTest
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java?rev=436644&r1=436643&r2=436644&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java Thu Aug 24 21:29:34 2006
@@ -1,395 +1,395 @@
-/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.harmony.sql.tests.java.sql;
-
-import java.sql.Date;
-import java.util.Calendar;
-import java.util.TimeZone;
-
-import junit.framework.TestCase;
-
-/**
- * JUnit Testcase for the java.sql.Date class
- *
- */
-public class DateTest extends TestCase {
-
- // A calendar object created in the GMT time zone
- static Calendar aCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
-
- // Some interesting millisecond time values
- // These millisecond times are all in GMT, effectively
- static long TIME_AN_HOUR = 3600000; // 1000 * 60 * 60 ms
-
- static long TIME_EPOCH = 0;
-
- static long TIME_NOW = System.currentTimeMillis();
-
- static long TIME_NEGATIVE = -3600001;
-
- static long TIME_TESTDATE1 = getTime(1999, Calendar.DECEMBER, 31, 23, 59,
- 59);
-
- static long TIME_TESTDATE2 = getTime(2010, Calendar.JUNE, 10, 20, 3, 16);
-
- static long TIME_TESTDATE3 = getTime(1931, Calendar.APRIL, 21, 1, 25, 1);
-
- static long TIME_LOWERLIMIT = Long.MIN_VALUE;
-
- static long TIME_UPPERLIMIT = Long.MAX_VALUE;
-
- // Date strings
- static String SQL_DATESTRING1 = "1999-12-31";
-
- static String SQL_DATESTRING2 = "2010-06-10";
-
- static String SQL_DATESTRING3 = "1931-04-21";
-
- static String SQL_EPOCHSTRING = "1970-01-01";
-
- static String SQL_DATEDAY1 = "1970-01-02";
-
- static String SQL_NEGATIVE = "1969-12-31";
-
- static long[] TIME_ARRAY = new long[] { TIME_TESTDATE1, TIME_TESTDATE2,
- TIME_TESTDATE3, TIME_NEGATIVE, TIME_EPOCH };
-
- // Date string array for London (GMT)
- static String[] SQL_DATEARRAY = new String[] { SQL_DATESTRING1,
- SQL_DATESTRING2, SQL_DATESTRING3, SQL_NEGATIVE, SQL_EPOCHSTRING };
-
- // Date string array for New York - sometimes a day earlier than London
- static String[] SQL_NYARRAY = new String[] { "1999-12-31", "2010-06-10",
- "1931-04-20", "1969-12-31", "1969-12-31" };
-
- // Date string for Tokyo
- static String[] SQL_JAPANARRAY = new String[] { "2000-01-01", "2010-06-11",
- "1931-04-21", "1970-01-01", "1970-01-01" };
-
- static String[][] SQL_TZ_DATEARRAYS = new String[][] { SQL_DATEARRAY,
- SQL_NYARRAY, SQL_JAPANARRAY };
-
- // Timezones
- static String TZ_LONDON = "Europe/London"; // Note: != GMT
-
- static String TZ_PACIFIC = "America/Los_Angeles"; // GNT - 8
-
- static String TZ_JAPAN = "Asia/Tokyo"; // GMT + 9
-
- static String[] TIMEZONES = { TZ_LONDON, TZ_PACIFIC, TZ_JAPAN };
-
- /*
- * Helper method to create a long milliseconds time from a supplied date and
- * time
- */
- static private long getTime(int year, int month, int date, int hour,
- int minute, int second) {
- aCal.set(year, month, date, hour, minute, second);
- return aCal.getTimeInMillis();
- } // end method getTime( int, int, int, int, int, int )
-
- /*
- * Test of the Date(int, int, int) constructor - now deprecated but still
- * funtioning
- */
- public void testDateintintint() {
-
- int init1[] = { 99, 8099, 9000, 99999, 99, 99, -1, -100 };
- int init2[] = { 11, 0, 0, 0, 999, 0, 0, -111 };
- int init3[] = { 31, 0, 0, 0, 0, 999, 0, -999 };
-
- Exception theExceptions[] = { null, null, null, null, null, null, null,
- null };
-
- for (int i = 0; i < init1.length; i++) {
- try {
- Date theDate = new Date(init1[i], init2[i], init3[i]);
-
- assertNotNull(theDate);
- if (theExceptions[i] != null) {
- fail(i + "Exception expected - none thrown.");
- } // end if
- } catch (Exception e) {
- if (theExceptions[i] != null) {
- assertEquals(i + "Incorrect exception generated: ",
- theExceptions[i].getClass(), e.getClass());
- } else {
- fail(i + "Exception: " + e.getClass()
- + " not expected");
- } // end if
- } // end try
- } // end for
-
- } // end method testDateintintint
-
- /*
- * Test of the Date( long ) constructor
- */
- public void testDatelong() {
-
- long init1[] = { TIME_TESTDATE1, TIME_TESTDATE2, TIME_TESTDATE3,
- TIME_NEGATIVE, TIME_LOWERLIMIT, TIME_UPPERLIMIT, TIME_EPOCH,
- TIME_NOW };
-
- Exception theExceptions[] = { null, null, null, null, null, null, null,
- null };
-
- for (int i = 0; i < init1.length; i++) {
- try {
- Date theDate = new Date(init1[i]);
-
- assertNotNull(theDate);
- if (theExceptions[i] != null) {
- fail(i + "Exception expected - none thrown.");
- } // end if
- } catch (Exception e) {
- if (theExceptions[i] != null) {
- assertEquals(i + "Incorrect exception generated: ",
- theExceptions[i].getClass(), e.getClass());
- } else {
- fail(i + "Exception: " + e.getClass()
- + " not expected");
- } // end if
- } // end try
- } // end for
-
- } // end method testDatelong
-
- /*
- * Test of the (deprecated) int Date.getHours() method - which always throws
- * an IllegalArgumentException
- */
- public void testGetHours() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- int theHours = theDate.getHours();
-
- // If it worked, it should get the Hours setting
- assertEquals(23, theHours);
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("getHours: IllegalArgumentException thrown as
- * expected");
- */
- } // end try
- } // end method testGetHours()
-
- /*
- * Test of the (deprecated) int Date.getMinutes() method - which always
- * throws an IllegalArgumentException
- */
- public void testGetMinutes() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- int theMinutes = theDate.getMinutes();
-
- // If it worked, it should get the Hours setting
- assertEquals(59, theMinutes);
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("getMinutes: IllegalArgumentException thrown
- * as expected");
- */
- } // end try
- } // end method testGetMinutes()
-
- /*
- * Test of the (deprecated) int Date.getSeconds() method - which always
- * throws an IllegalArgumentException
- */
- public void testGetSeconds() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- int theSeconds = theDate.getSeconds();
-
- // If it worked, it should get the Hours setting
- assertEquals(23, theSeconds);
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("getSeconds: IllegalArgumentException thrown
- * as expected");
- */
- } // end try
- } // end method testGetSeconds()
-
- /*
- * Test of the (deprecated) Date.setHours( int ) method - which always
- * throws an IllegalArgumentException
- */
- public void testSetHours() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- theDate.setHours(22);
-
- // If it worked, this is incorrect
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("setHours: IllegalArgumentException thrown as
- * expected");
- */
- } // end try
- } // end method testSetHours( int )
-
- /*
- * Test of the (deprecated) Date.setMinutes( int ) method - which always
- * throws an IllegalArgumentException
- */
- public void testSetMinutes() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- theDate.setMinutes(54);
-
- // If it worked, this is incorrect
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("setMinutes: IllegalArgumentException thrown
- * as expected");
- */
- } // end try
-
- } // end method testSetMinutes( int )
-
- /*
- * Test of the (deprecated) Date.setSeconds( int ) method - which always
- * throws an IllegalArgumentException
- */
- public void testSetSeconds() {
- Date theDate = new Date(TIME_TESTDATE1);
-
- try {
- theDate.setSeconds(36);
-
- // If it worked, this is incorrect
- assertTrue(false);
- } catch (IllegalArgumentException ie) {
- /*
- * System.out.println("setSeconds: IllegalArgumentException thrown
- * as expected");
- */
- } // end try
- } // end method testSetSeconds( int )
-
- /*
- * Test of the String Date.toString() method This method is sensitive to the
- * time zone setting and this test sets the time zone before calling the
- * toString() method.
- */
- public void testToString() {
- // This test is set up for GMT time zone, so need to set the time zone
- // to GMT first
- TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
-
- for (int i = 0; i < TIME_ARRAY.length; i++) {
- Date theDate = new Date(TIME_ARRAY[i]);
-
- String theString = theDate.toString();
-
- assertTrue(theString.equals(SQL_DATEARRAY[i]));
- } // end for
-
- } // end method testToString()
-
- /*
- * Test of the void setTime(int) method This does depend on the Time Zone
- * settings and sets up the time zone to one of a group of specific time
- * zones and tests the method using each of these time zones in turn.
- */
- public void testSetTimelong() {
-
- // Loop over the array of test timezones
- for (int i = 0; i < TIMEZONES.length; i++) {
- testSetTimelong(TIMEZONES[i], SQL_TZ_DATEARRAYS[i]);
- } // end for
-
- } // end method testSetTimelong()
-
- /*
- * Internal method for testing Date.setTime with a specific time zone
- */
- private void testSetTimelong(String timeZoneName, String[] dateArray) {
-
- if (timeZoneName != null) {
- TimeZone.setDefault(TimeZone.getTimeZone(timeZoneName));
- /*
- * System.out.println("Timezone set to: " +
- * TimeZone.getDefault().getDisplayName() );
- */
- } // end if
-
- Date theDate = new Date(TIME_TESTDATE1);
-
- // Loop over the array of test times & dates
- for (int i = 0; i < dateArray.length; i++) {
- theDate.setTime(TIME_ARRAY[i]);
- String theString = theDate.toString();
- assertTrue(theString.equals(dateArray[i]));
- } // end for
-
- } // end method testSetTimelong()
-
- /*
- * Test of the Date.valueOf( String ) method This test is not dependent on
- * the default Time Zone setting
- */
- public void testValueOf() {
- String SQL_NOTVALID1 = "ABCDEF"; // Invalid date string
- String SQL_NOTVALID2 = "12321.43.56"; // Invalid date string
- String SQL_NOTVALID3 = null; // Invalid date string
- String[] SQL_INVALIDARRAY = { SQL_NOTVALID1, SQL_NOTVALID2,
- SQL_NOTVALID3 };
- Exception[] theExceptions = { new IllegalArgumentException(),
- new IllegalArgumentException(), new IllegalArgumentException() };
-
- Date theDate;
-
- // Cases where the input date string is a valid format
- for (int i = 0; i < SQL_DATEARRAY.length; i++) {
- theDate = Date.valueOf(SQL_DATEARRAY[i]);
-
- assertTrue(theDate.toString().equals(SQL_DATEARRAY[i]));
- } // end for
-
- // Cases where the input date string has an invalid format
- for (int i = 0; i < SQL_INVALIDARRAY.length; i++) {
- try {
- theDate = Date.valueOf(SQL_INVALIDARRAY[i]);
- // Shouldn't get here
- assertTrue(false);
- } catch (Exception e) {
- // System.out.println("DateTest.testValueOf: Exception thrown: "
- // + e.toString() );
- // System.out.println("DateTest.testValueOf: Exception data: " +
- // e.getMessage() );
- assertTrue(e.getClass().equals(theExceptions[i].getClass()));
- assertTrue(e.getMessage() == theExceptions[i].getMessage());
- } // end try
- } // end for
-
- } // end method testValueOf()
-
-} // end class DateTest
-
-
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.sql.tests.java.sql;
+
+import java.sql.Date;
+import java.util.Calendar;
+import java.util.TimeZone;
+
+import junit.framework.TestCase;
+
+/**
+ * JUnit Testcase for the java.sql.Date class
+ *
+ */
+public class DateTest extends TestCase {
+
+ // A calendar object created in the GMT time zone
+ static Calendar aCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+
+ // Some interesting millisecond time values
+ // These millisecond times are all in GMT, effectively
+ static long TIME_AN_HOUR = 3600000; // 1000 * 60 * 60 ms
+
+ static long TIME_EPOCH = 0;
+
+ static long TIME_NOW = System.currentTimeMillis();
+
+ static long TIME_NEGATIVE = -3600001;
+
+ static long TIME_TESTDATE1 = getTime(1999, Calendar.DECEMBER, 31, 23, 59,
+ 59);
+
+ static long TIME_TESTDATE2 = getTime(2010, Calendar.JUNE, 10, 20, 3, 16);
+
+ static long TIME_TESTDATE3 = getTime(1931, Calendar.APRIL, 21, 1, 25, 1);
+
+ static long TIME_LOWERLIMIT = Long.MIN_VALUE;
+
+ static long TIME_UPPERLIMIT = Long.MAX_VALUE;
+
+ // Date strings
+ static String SQL_DATESTRING1 = "1999-12-31";
+
+ static String SQL_DATESTRING2 = "2010-06-10";
+
+ static String SQL_DATESTRING3 = "1931-04-21";
+
+ static String SQL_EPOCHSTRING = "1970-01-01";
+
+ static String SQL_DATEDAY1 = "1970-01-02";
+
+ static String SQL_NEGATIVE = "1969-12-31";
+
+ static long[] TIME_ARRAY = new long[] { TIME_TESTDATE1, TIME_TESTDATE2,
+ TIME_TESTDATE3, TIME_NEGATIVE, TIME_EPOCH };
+
+ // Date string array for London (GMT)
+ static String[] SQL_DATEARRAY = new String[] { SQL_DATESTRING1,
+ SQL_DATESTRING2, SQL_DATESTRING3, SQL_NEGATIVE, SQL_EPOCHSTRING };
+
+ // Date string array for New York - sometimes a day earlier than London
+ static String[] SQL_NYARRAY = new String[] { "1999-12-31", "2010-06-10",
+ "1931-04-20", "1969-12-31", "1969-12-31" };
+
+ // Date string for Tokyo
+ static String[] SQL_JAPANARRAY = new String[] { "2000-01-01", "2010-06-11",
+ "1931-04-21", "1970-01-01", "1970-01-01" };
+
+ static String[][] SQL_TZ_DATEARRAYS = new String[][] { SQL_DATEARRAY,
+ SQL_NYARRAY, SQL_JAPANARRAY };
+
+ // Timezones
+ static String TZ_LONDON = "Europe/London"; // Note: != GMT
+
+ static String TZ_PACIFIC = "America/Los_Angeles"; // GNT - 8
+
+ static String TZ_JAPAN = "Asia/Tokyo"; // GMT + 9
+
+ static String[] TIMEZONES = { TZ_LONDON, TZ_PACIFIC, TZ_JAPAN };
+
+ /*
+ * Helper method to create a long milliseconds time from a supplied date and
+ * time
+ */
+ static private long getTime(int year, int month, int date, int hour,
+ int minute, int second) {
+ aCal.set(year, month, date, hour, minute, second);
+ return aCal.getTimeInMillis();
+ } // end method getTime( int, int, int, int, int, int )
+
+ /*
+ * Test of the Date(int, int, int) constructor - now deprecated but still
+ * funtioning
+ */
+ public void testDateintintint() {
+
+ int init1[] = { 99, 8099, 9000, 99999, 99, 99, -1, -100 };
+ int init2[] = { 11, 0, 0, 0, 999, 0, 0, -111 };
+ int init3[] = { 31, 0, 0, 0, 0, 999, 0, -999 };
+
+ Exception theExceptions[] = { null, null, null, null, null, null, null,
+ null };
+
+ for (int i = 0; i < init1.length; i++) {
+ try {
+ Date theDate = new Date(init1[i], init2[i], init3[i]);
+
+ assertNotNull(theDate);
+ if (theExceptions[i] != null) {
+ fail(i + "Exception expected - none thrown.");
+ } // end if
+ } catch (Exception e) {
+ if (theExceptions[i] != null) {
+ assertEquals(i + "Incorrect exception generated: ",
+ theExceptions[i].getClass(), e.getClass());
+ } else {
+ fail(i + "Exception: " + e.getClass()
+ + " not expected");
+ } // end if
+ } // end try
+ } // end for
+
+ } // end method testDateintintint
+
+ /*
+ * Test of the Date( long ) constructor
+ */
+ public void testDatelong() {
+
+ long init1[] = { TIME_TESTDATE1, TIME_TESTDATE2, TIME_TESTDATE3,
+ TIME_NEGATIVE, TIME_LOWERLIMIT, TIME_UPPERLIMIT, TIME_EPOCH,
+ TIME_NOW };
+
+ Exception theExceptions[] = { null, null, null, null, null, null, null,
+ null };
+
+ for (int i = 0; i < init1.length; i++) {
+ try {
+ Date theDate = new Date(init1[i]);
+
+ assertNotNull(theDate);
+ if (theExceptions[i] != null) {
+ fail(i + "Exception expected - none thrown.");
+ } // end if
+ } catch (Exception e) {
+ if (theExceptions[i] != null) {
+ assertEquals(i + "Incorrect exception generated: ",
+ theExceptions[i].getClass(), e.getClass());
+ } else {
+ fail(i + "Exception: " + e.getClass()
+ + " not expected");
+ } // end if
+ } // end try
+ } // end for
+
+ } // end method testDatelong
+
+ /*
+ * Test of the (deprecated) int Date.getHours() method - which always throws
+ * an IllegalArgumentException
+ */
+ public void testGetHours() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ int theHours = theDate.getHours();
+
+ // If it worked, it should get the Hours setting
+ assertEquals(23, theHours);
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("getHours: IllegalArgumentException thrown as
+ * expected");
+ */
+ } // end try
+ } // end method testGetHours()
+
+ /*
+ * Test of the (deprecated) int Date.getMinutes() method - which always
+ * throws an IllegalArgumentException
+ */
+ public void testGetMinutes() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ int theMinutes = theDate.getMinutes();
+
+ // If it worked, it should get the Hours setting
+ assertEquals(59, theMinutes);
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("getMinutes: IllegalArgumentException thrown
+ * as expected");
+ */
+ } // end try
+ } // end method testGetMinutes()
+
+ /*
+ * Test of the (deprecated) int Date.getSeconds() method - which always
+ * throws an IllegalArgumentException
+ */
+ public void testGetSeconds() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ int theSeconds = theDate.getSeconds();
+
+ // If it worked, it should get the Hours setting
+ assertEquals(23, theSeconds);
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("getSeconds: IllegalArgumentException thrown
+ * as expected");
+ */
+ } // end try
+ } // end method testGetSeconds()
+
+ /*
+ * Test of the (deprecated) Date.setHours( int ) method - which always
+ * throws an IllegalArgumentException
+ */
+ public void testSetHours() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ theDate.setHours(22);
+
+ // If it worked, this is incorrect
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("setHours: IllegalArgumentException thrown as
+ * expected");
+ */
+ } // end try
+ } // end method testSetHours( int )
+
+ /*
+ * Test of the (deprecated) Date.setMinutes( int ) method - which always
+ * throws an IllegalArgumentException
+ */
+ public void testSetMinutes() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ theDate.setMinutes(54);
+
+ // If it worked, this is incorrect
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("setMinutes: IllegalArgumentException thrown
+ * as expected");
+ */
+ } // end try
+
+ } // end method testSetMinutes( int )
+
+ /*
+ * Test of the (deprecated) Date.setSeconds( int ) method - which always
+ * throws an IllegalArgumentException
+ */
+ public void testSetSeconds() {
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ try {
+ theDate.setSeconds(36);
+
+ // If it worked, this is incorrect
+ assertTrue(false);
+ } catch (IllegalArgumentException ie) {
+ /*
+ * System.out.println("setSeconds: IllegalArgumentException thrown
+ * as expected");
+ */
+ } // end try
+ } // end method testSetSeconds( int )
+
+ /*
+ * Test of the String Date.toString() method This method is sensitive to the
+ * time zone setting and this test sets the time zone before calling the
+ * toString() method.
+ */
+ public void testToString() {
+ // This test is set up for GMT time zone, so need to set the time zone
+ // to GMT first
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+
+ for (int i = 0; i < TIME_ARRAY.length; i++) {
+ Date theDate = new Date(TIME_ARRAY[i]);
+
+ String theString = theDate.toString();
+
+ assertTrue(theString.equals(SQL_DATEARRAY[i]));
+ } // end for
+
+ } // end method testToString()
+
+ /*
+ * Test of the void setTime(int) method This does depend on the Time Zone
+ * settings and sets up the time zone to one of a group of specific time
+ * zones and tests the method using each of these time zones in turn.
+ */
+ public void testSetTimelong() {
+
+ // Loop over the array of test timezones
+ for (int i = 0; i < TIMEZONES.length; i++) {
+ testSetTimelong(TIMEZONES[i], SQL_TZ_DATEARRAYS[i]);
+ } // end for
+
+ } // end method testSetTimelong()
+
+ /*
+ * Internal method for testing Date.setTime with a specific time zone
+ */
+ private void testSetTimelong(String timeZoneName, String[] dateArray) {
+
+ if (timeZoneName != null) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZoneName));
+ /*
+ * System.out.println("Timezone set to: " +
+ * TimeZone.getDefault().getDisplayName() );
+ */
+ } // end if
+
+ Date theDate = new Date(TIME_TESTDATE1);
+
+ // Loop over the array of test times & dates
+ for (int i = 0; i < dateArray.length; i++) {
+ theDate.setTime(TIME_ARRAY[i]);
+ String theString = theDate.toString();
+ assertTrue(theString.equals(dateArray[i]));
+ } // end for
+
+ } // end method testSetTimelong()
+
+ /*
+ * Test of the Date.valueOf( String ) method This test is not dependent on
+ * the default Time Zone setting
+ */
+ public void testValueOf() {
+ String SQL_NOTVALID1 = "ABCDEF"; // Invalid date string
+ String SQL_NOTVALID2 = "12321.43.56"; // Invalid date string
+ String SQL_NOTVALID3 = null; // Invalid date string
+ String[] SQL_INVALIDARRAY = { SQL_NOTVALID1, SQL_NOTVALID2,
+ SQL_NOTVALID3 };
+ Exception[] theExceptions = { new IllegalArgumentException(),
+ new IllegalArgumentException(), new IllegalArgumentException() };
+
+ Date theDate;
+
+ // Cases where the input date string is a valid format
+ for (int i = 0; i < SQL_DATEARRAY.length; i++) {
+ theDate = Date.valueOf(SQL_DATEARRAY[i]);
+
+ assertTrue(theDate.toString().equals(SQL_DATEARRAY[i]));
+ } // end for
+
+ // Cases where the input date string has an invalid format
+ for (int i = 0; i < SQL_INVALIDARRAY.length; i++) {
+ try {
+ theDate = Date.valueOf(SQL_INVALIDARRAY[i]);
+ // Shouldn't get here
+ assertTrue(false);
+ } catch (Exception e) {
+ // System.out.println("DateTest.testValueOf: Exception thrown: "
+ // + e.toString() );
+ // System.out.println("DateTest.testValueOf: Exception data: " +
+ // e.getMessage() );
+ assertTrue(e.getClass().equals(theExceptions[i].getClass()));
+ assertTrue(e.getMessage() == theExceptions[i].getMessage());
+ } // end try
+ } // end for
+
+ } // end method testValueOf()
+
+} // end class DateTest
+
+
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java?rev=436644&r1=436643&r2=436644&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java Thu Aug 24 21:29:34 2006
@@ -1,667 +1,667 @@
-/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.harmony.sql.tests.java.sql;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.lang.reflect.Method;
-import java.security.Permission;
-import java.sql.Connection;
-import java.sql.Driver;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.SQLPermission;
-import java.util.Enumeration;
-import java.util.Properties;
-
-import junit.framework.TestCase;
-
-/**
- * JUnit Testcase for the java.sql.DriverManager class
- *
- */
-public class DriverManagerTest extends TestCase {
-
- // Set of driver names to use
- static final String DRIVER1 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver1";
-
- static final String DRIVER2 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver2";
-
- static final String DRIVER3 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver3";
-
- static final String DRIVER4 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver4";
-
- static final String DRIVER5 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver5";
-
- static final String INVALIDDRIVER1 = "abc.klm.Foo";
-
- static String[] driverNames = { DRIVER1, DRIVER2 };
-
- static int numberLoaded;
-
- static String baseURL1 = "jdbc:mikes1";
-
- static String baseURL4 = "jdbc:mikes4";
-
- static final String JDBC_PROPERTY = "jdbc.drivers";
-
- static TestHelper_ClassLoader testClassLoader = new TestHelper_ClassLoader();
-
- // Static initializer to load the drivers so that they are available to all
- // the
- // test methods as needed.
- public void setUp() {
- numberLoaded = loadDrivers();
- } // end setUp()
-
- /**
- * Test for the method DriverManager.deregisterDriver
- */
- public void testDeregisterDriver() {
- // First get one of the drivers loaded by the test
- Driver aDriver;
- try {
- aDriver = DriverManager.getDriver(baseURL4);
- } catch (SQLException e) {
- fail(
- "testDeregisterDriver: Got exception when getting valid driver.");
- return;
- } // end try
-
- // printClassLoader( aDriver );
-
- // Deregister this driver
- try {
- DriverManager.deregisterDriver(aDriver);
- } catch (Exception e) {
- fail(
- "testDeregisterDriver: Got exception when deregistering valid driver.");
- } // end try
-
- assertFalse("testDeregisterDriver: Driver was not deregistered.",
- isDriverLoaded(aDriver));
-
- // Re-register this driver (so subsequent tests have it available)
- try {
- DriverManager.registerDriver(aDriver);
- } catch (Exception e) {
- fail(
- "testDeregisterDriver: Got exception when reregistering valid driver.");
- } // end try
-
- assertTrue("testDeregisterDriver: Driver did not reload.",
- isDriverLoaded(aDriver));
-
- // Test deregistering a null driver
- try {
- DriverManager.deregisterDriver(null);
- } catch (SQLException e) {
- fail(
- "testDeregisterDriver: Got exception when deregistering null driver.");
- } // end try
-
- // Test deregistering a driver which was not loaded by this test's
- // classloader
- // TODO - need to load a driver with a different classloader!!
- try {
- aDriver = DriverManager.getDriver(baseURL1);
- } catch (SQLException e) {
- fail(
- "testDeregisterDriver: Got exception when getting valid driver1.");
- return;
- } // end try
-
- TestHelper_DriverManager testHelper;
- try {
- Class driverClass = Class.forName(
- "org.apache.harmony.sql.tests.java.sql.TestHelper_DriverManager", true,
- testClassLoader);
-
- // Give the Helper class one of our drivers....
- Class[] methodClasses = { Class.forName("java.sql.Driver") };
- Method theMethod = driverClass.getDeclaredMethod("setDriver",
- methodClasses);
- Object[] args = { aDriver };
- theMethod.invoke(null, args);
- } catch (Exception e) {
- System.out
- .println("testDeregisterDriver: Got exception allocating TestHelper");
- e.printStackTrace();
- return;
- } // end try
-
- // Check that the driver was not deregistered
- assertTrue(
- "testDeregisterDriver: Driver was incorrectly deregistered.",
- DriverManagerTest.isDriverLoaded(aDriver));
-
- } // end method testDeregisterDriver()
-
- static void printClassLoader(Object theObject) {
- Class theClass = theObject.getClass();
- ClassLoader theClassLoader = theClass.getClassLoader();
- System.out.println("ClassLoader is: " + theClassLoader.toString()
- + " for object: " + theObject.toString());
- } // end method printClassLoader( Object )
-
- static boolean isDriverLoaded(Driver theDriver) {
- Enumeration driverList = DriverManager.getDrivers();
- while (driverList.hasMoreElements()) {
- if ((Driver) driverList.nextElement() == theDriver)
- return true;
- } // end while
- return false;
- } // end method isDriverLoaded( Driver )
-
- /*
- * Class under test for Connection getConnection(String)
- */
- // valid connection - data1 does not require a user and password...
- static String validConnectionURL = "jdbc:mikes1:data1";
-
- // invalid connection - data2 requires a user & password
- static String invalidConnectionURL1 = "jdbc:mikes1:data2";
-
- // invalid connection - URL is gibberish
- static String invalidConnectionURL2 = "xyz1:abc3:456q";
-
- // invalid connection - URL is null
- static String invalidConnectionURL3 = null;
-
- static String[] invalidConnectionURLs = { invalidConnectionURL1,
- invalidConnectionURL2, invalidConnectionURL3 };
-
- static String[] exceptionMessages = {
- "Userid and/or password not supplied", "No suitable driver",
- "The url cannot be null" };
-
- public void testGetConnectionString() {
- Connection theConnection = null;
- // validConnection - no user & password required
- try {
- theConnection = DriverManager.getConnection(validConnectionURL);
- assertNotNull(theConnection);
- } catch (SQLException e) {
- assertTrue(false);
- } // end try
-
- // invalid connections
- for (int i = 0; i < invalidConnectionURLs.length; i++) {
- theConnection = null;
- try {
- theConnection = DriverManager
- .getConnection(invalidConnectionURLs[i]);
- assertFalse(theConnection != null);
- } catch (SQLException e) {
- assertNull(theConnection);
- // System.out.println("testGetConnectionString: exception
- // message: " +
- // e.getMessage() );
- assertTrue(e.getMessage().equals(exceptionMessages[i]));
- } // end try
- } // end for
- } // end method testGetConnectionString()
-
- /*
- * Class under test for Connection getConnection(String, Properties)
- */
- public void testGetConnectionStringProperties() {
- String validURL1 = "jdbc:mikes1:data2";
- String validuser1 = "theuser";
- String validpassword1 = "thepassword";
- String invalidURL1 = "xyz:abc1:foo";
- String invalidURL2 = "jdbc:mikes1:crazyone";
- String invalidURL3 = "";
- String invaliduser1 = "jonny nouser";
- String invalidpassword1 = "whizz";
- Properties nullProps = null;
- Properties validProps = new Properties();
- validProps.setProperty("user", validuser1);
- validProps.setProperty("password", validpassword1);
- Properties invalidProps1 = new Properties();
- invalidProps1.setProperty("user", invaliduser1);
- invalidProps1.setProperty("password", invalidpassword1);
- String[] invalidURLs = { null, validURL1, validURL1, invalidURL1,
- invalidURL2, invalidURL3 };
- Properties[] invalidProps = { validProps, nullProps, invalidProps1,
- validProps, validProps, validProps };
- String[] excMessage = { "The url cannot be null",
- "Properties bundle is null",
- "Userid and/or password not valid", "No suitable driver",
- "No suitable driver", "No suitable driver" };
-
- Connection theConnection = null;
- Properties theProperties = null;
- // validConnection - user & password required
- try {
- theConnection = DriverManager.getConnection(validURL1, validProps);
- assertNotNull(theConnection);
- } catch (SQLException e) {
- assertTrue(false);
- } // end try
-
- // invalid Connections
- for (int i = 0; i < invalidURLs.length; i++) {
- theConnection = null;
- try {
- theConnection = DriverManager.getConnection(invalidURLs[i],
- invalidProps[i]);
- assertFalse(theConnection != null);
- } catch (SQLException e) {
- // System.out.println("testGetConnectionStringStringString:
- // exception message: " +
- // e.getMessage() );
- assertTrue(e.getMessage().equals(excMessage[i]));
- } // end try
- } // end for
- } // end method testGetConnectionStringProperties()
-
- /*
- * Class under test for Connection getConnection(String, String, String)
- */
- public void testGetConnectionStringStringString() {
- String validURL1 = "jdbc:mikes1:data2";
- String validuser1 = "theuser";
- String validpassword1 = "thepassword";
- String invalidURL1 = "xyz:abc1:foo";
- String invaliduser1 = "jonny nouser";
- String invalidpassword1 = "whizz";
- String[] invalid1 = { null, validuser1, validpassword1 };
- String[] invalid2 = { validURL1, null, validpassword1 };
- String[] invalid3 = { validURL1, validuser1, null };
- String[] invalid4 = { invalidURL1, validuser1, validpassword1 };
- String[] invalid5 = { validURL1, invaliduser1, invalidpassword1 };
- String[] invalid6 = { validURL1, validuser1, invalidpassword1 };
- String[][] invalid = { invalid1, invalid2, invalid3, invalid4,
- invalid5, invalid6 };
- String[] excMessage = { "The url cannot be null",
- "Userid and/or password not supplied",
- "Userid and/or password not supplied", "No suitable driver",
- "Userid and/or password not valid",
- "Userid and/or password not valid" };
-
- Connection theConnection = null;
- // validConnection - user & password required
- try {
- theConnection = DriverManager.getConnection(validURL1, validuser1,
- validpassword1);
- assertNotNull(theConnection);
- } catch (SQLException e) {
- assertTrue(false);
- } // end try
-
- // invalid Connections
- for (int i = 0; i < invalid.length; i++) {
- theConnection = null;
- String[] theData = invalid[i];
- try {
- theConnection = DriverManager.getConnection(theData[0],
- theData[1], theData[2]);
- assertFalse(theConnection != null);
- } catch (SQLException e) {
- // System.out.println("testGetConnectionStringStringString:
- // exception message: " +
- // e.getMessage() );
- assertTrue(e.getMessage().equals(excMessage[i]));
- } // end try
- } // end for
- } // end method testGetConnectionStringStringString()
-
- static String validURL1 = "jdbc:mikes1";
-
- static String validURL2 = "jdbc:mikes2";
-
- static String invalidURL1 = "xyz:acb";
-
- static String invalidURL2 = null;
-
- static String[] validURLs = { validURL1, validURL2 };
-
- static String[] invalidURLs = { invalidURL1, invalidURL2 };
-
- static String exceptionMsg1 = "No suitable driver";
-
- public void testGetDriver() {
- // valid URLs
- for (int i = 0; i < validURLs.length; i++) {
- try {
- Driver validDriver = DriverManager.getDriver(validURLs[i]);
- } catch (SQLException e) {
- fail(
- "DriverManagerTest: getDriver failed for valid driver"
- + i);
- } // end try
- } // end for
-
- // invalid URLs
- for (int i = 0; i < invalidURLs.length; i++) {
- try {
- Driver invalidDriver = DriverManager.getDriver(invalidURLs[i]);
- } catch (SQLException e) {
- assertTrue(true);
- // System.out.println("DriverManagerTest: getDriver failed for
- // invalid driver");
- // System.out.println("DriverManagerTest: exception message = "
- // + e.getMessage() );
- assertTrue(e.getMessage().equals(exceptionMsg1));
- } // end try
- } // end for
-
- } // end method testGetDriver()
-
- public void testGetDrivers() {
- // Load a driver manager
- Enumeration driverList = DriverManager.getDrivers();
- int i = 0;
- while (driverList.hasMoreElements()) {
- Driver theDriver = (Driver) driverList.nextElement();
- i++;
- } // end while
-
- // Check that all the drivers are in the list...
- assertEquals("testGetDrivers: Don't see all the loaded drivers - ", i,
- numberLoaded);
- } // end method testGetDrivers()
-
- static int timeout1 = 25;
-
- public void testGetLoginTimeout() {
- int theTimeout = DriverManager.getLoginTimeout();
- // System.out.println("Default Login Timeout: " + theTimeout );
-
- DriverManager.setLoginTimeout(timeout1);
-
- assertTrue(DriverManager.getLoginTimeout() == timeout1);
- } // end method testGetLoginTimeout()
-
- public void testGetLogStream() {
- assertNull(DriverManager.getLogStream());
-
- DriverManager.setLogStream(testPrintStream);
-
- assertTrue(DriverManager.getLogStream() == testPrintStream);
-
- DriverManager.setLogStream(null);
- } // end method testGetLogStream()
-
- public void testGetLogWriter() {
- assertNull(DriverManager.getLogWriter());
-
- DriverManager.setLogWriter(testPrintWriter);
-
- assertTrue(DriverManager.getLogWriter() == testPrintWriter);
-
- DriverManager.setLogWriter(null);
- } // end method testGetLogWriter()
-
- static String testMessage = "DriverManagerTest: test message for print stream";
-
- public void testPrintln() {
- // System.out.println("testPrintln");
- DriverManager.println(testMessage);
-
- DriverManager.setLogWriter(testPrintWriter);
- DriverManager.println(testMessage);
-
- String theOutput = outputStream.toString();
- // System.out.println("testPrintln: output= " + theOutput );
- assertTrue(theOutput.startsWith(testMessage));
-
- DriverManager.setLogWriter(null);
-
- DriverManager.setLogStream(testPrintStream);
- DriverManager.println(testMessage);
-
- theOutput = outputStream2.toString();
- // System.out.println("testPrintln: output= " + theOutput );
- assertTrue(theOutput.startsWith(testMessage));
-
- DriverManager.setLogStream(null);
- } // end method testPrintln()
-
- public void testRegisterDriver() {
- String EXTRA_DRIVER_NAME = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver3";
-
- try {
- DriverManager.registerDriver(null);
- fail(
- "testRegisterDriver: Expected exception not thrown when registering null driver");
- } catch (Exception e) {
-
- } // end try
-
- Driver theDriver = null;
- // Load another Driver that isn't in the basic set
- try {
- Class driverClass = Class.forName(EXTRA_DRIVER_NAME);
- theDriver = (Driver) driverClass.newInstance();
- DriverManager.registerDriver(theDriver);
- } catch (ClassNotFoundException cfe) {
- fail("testRegisterDriver: Could not load extra driver");
- } catch (Exception e) {
- fail(
- "testRegisterDriver: Exception while registering additional driver");
- } // end try
-
- assertTrue("testRegisterDriver: driver not in loaded set",
- isDriverLoaded(theDriver));
-
- } // end testRegisterDriver()
-
- static int validTimeout1 = 15;
-
- static int validTimeout2 = 0;
-
- static int[] validTimeouts = { validTimeout1, validTimeout2 };
-
- static int invalidTimeout1 = -10;
-
- public void testSetLoginTimeout() {
- // Valid timeouts
- for (int i = 0; i < validTimeouts.length; i++) {
- DriverManager.setLoginTimeout(validTimeouts[i]);
-
- assertTrue(DriverManager.getLoginTimeout() == validTimeouts[i]);
- } // end for
- // Invalid timeouts
- try {
- DriverManager.setLoginTimeout(invalidTimeout1);
- assertTrue(DriverManager.getLoginTimeout() == invalidTimeout1);
- } catch (IllegalArgumentException e) {
- System.out.println("DriverManagerTest: exception message = "
- + e.getMessage());
- } // end try
- } // end testSetLoginTimeout()
-
- static ByteArrayOutputStream outputStream2 = new ByteArrayOutputStream();
-
- static PrintStream testPrintStream = new PrintStream(outputStream2);
-
- public void testSetLogStream() {
- // System.out.println("testSetLogStream");
- DriverManager.setLogStream(testPrintStream);
-
- assertTrue(DriverManager.getLogStream() == testPrintStream);
-
- DriverManager.setLogStream(null);
-
- assertNull(DriverManager.getLogStream());
-
- // Now let's deal with the case where there is a SecurityManager in
- // place
- TestSecurityManager theSecManager = new TestSecurityManager();
- System.setSecurityManager(theSecManager);
-
- theSecManager.setLogAccess(false);
-
- try {
- DriverManager.setLogStream(testPrintStream);
- fail("testSetLogStream: Did not get security exception ");
- } catch (SecurityException s) {
-
- } catch (Throwable t) {
- fail(
- "testSetLogStream: Got exception but not get security exception ");
- } // end try
-
- theSecManager.setLogAccess(true);
-
- try {
- DriverManager.setLogStream(testPrintStream);
- } catch (SecurityException s) {
- fail(
- "testSetLogStream: Got security exception but should not have");
- } catch (Throwable t) {
- fail(
- "testSetLogStream: Got exception but not get security exception ");
- } // end try
-
- System.setSecurityManager(null);
- } // end method testSetLogStream()
-
- static ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-
- static PrintWriter testPrintWriter = new PrintWriter(outputStream);
-
- /**
- * Test for the setLogWriter method
- */
- public void testSetLogWriter() {
- // System.out.println("testSetLogWriter");
- DriverManager.setLogWriter(testPrintWriter);
-
- assertTrue("testDriverManager: Log writer not set:", DriverManager
- .getLogWriter() == testPrintWriter);
-
- DriverManager.setLogWriter(null);
-
- assertNull("testDriverManager: Log writer not null:", DriverManager
- .getLogWriter());
-
- // Now let's deal with the case where there is a SecurityManager in
- // place
- TestSecurityManager theSecManager = new TestSecurityManager();
- System.setSecurityManager(theSecManager);
-
- theSecManager.setLogAccess(false);
-
- try {
- DriverManager.setLogWriter(testPrintWriter);
- fail("testSetLogWriter: Did not get security exception ");
- } catch (SecurityException s) {
-
- } catch (Throwable t) {
- fail(
- "testSetLogWriter: Got exception but not get security exception ");
- } // end try
-
- theSecManager.setLogAccess(true);
-
- try {
- DriverManager.setLogWriter(testPrintWriter);
- } catch (SecurityException s) {
- fail(
- "testSetLogWriter: Got security exception but should not have");
- } catch (Throwable t) {
- fail(
- "testSetLogWriter: Got exception but not get security exception ");
- } // end try
-
- System.setSecurityManager(null);
- } // end method testSetLogWriter()
-
- /*
- * Method which loads a set of JDBC drivers ready for use by the various
- * tests @return the number of drivers loaded
- */
- static boolean driversLoaded = false;
-
- private static int loadDrivers() {
- if (driversLoaded)
- return numberLoaded;
- /*
- * First define a value for the System property "jdbc.drivers" - before
- * the DriverManager class is loaded - this property defines a set of
- * drivers which the DriverManager will load during its initialization
- * and which will be loaded on the System ClassLoader - unlike the ones
- * loaded later by this method which are loaded on the Application
- * ClassLoader.
- */
- int numberLoaded = 0;
- String theSystemDrivers = DRIVER4 + ":" + DRIVER5 + ":"
- + INVALIDDRIVER1;
- System.setProperty(JDBC_PROPERTY, theSystemDrivers);
- numberLoaded += 2;
-
- /*
- * Next, dynamically load a set of drivers
- */
- for (int i = 0; i < driverNames.length; i++) {
- try {
- Class driverClass = Class.forName(driverNames[i]);
- // System.out.println("Loaded driver - classloader = " +
- // driverClass.getClassLoader());
- numberLoaded++;
- } catch (ClassNotFoundException e) {
- System.out.println("DriverManagerTest: failed to load Driver: "
- + driverNames[i]);
- } // end try
- } // end for
- /*
- * System.out.println("DriverManagerTest: number of drivers loaded: " +
- * numberLoaded);
- */
- driversLoaded = true;
- return numberLoaded;
- } // end method loadDrivers()
-
- class TestSecurityManager extends SecurityManager {
-
- boolean logAccess = true;
-
- SQLPermission sqlPermission = new SQLPermission("setLog");
-
- RuntimePermission setManagerPermission = new RuntimePermission(
- "setSecurityManager");
-
- TestSecurityManager() {
- super();
- } // end method TestSecurityManager()
-
- void setLogAccess(boolean allow) {
- logAccess = allow;
- } // end method setLogAccess( boolean )
-
- public void checkPermission(Permission thePermission) {
- if (thePermission.equals(sqlPermission)) {
- if (!logAccess) {
- throw new SecurityException("Cannot set the sql Log Writer");
- } // end if
- return;
- } // end if
-
- if (thePermission.equals(setManagerPermission)) {
- return;
- } // end if
- // super.checkPermission( thePermission );
- } // end method checkPermission( Permission )
-
- } // end class TestSecurityManager
-
-} // end class DriverManagerTest
-
-
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.sql.tests.java.sql;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.security.Permission;
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.SQLPermission;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import junit.framework.TestCase;
+
+/**
+ * JUnit Testcase for the java.sql.DriverManager class
+ *
+ */
+public class DriverManagerTest extends TestCase {
+
+ // Set of driver names to use
+ static final String DRIVER1 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver1";
+
+ static final String DRIVER2 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver2";
+
+ static final String DRIVER3 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver3";
+
+ static final String DRIVER4 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver4";
+
+ static final String DRIVER5 = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver5";
+
+ static final String INVALIDDRIVER1 = "abc.klm.Foo";
+
+ static String[] driverNames = { DRIVER1, DRIVER2 };
+
+ static int numberLoaded;
+
+ static String baseURL1 = "jdbc:mikes1";
+
+ static String baseURL4 = "jdbc:mikes4";
+
+ static final String JDBC_PROPERTY = "jdbc.drivers";
+
+ static TestHelper_ClassLoader testClassLoader = new TestHelper_ClassLoader();
+
+ // Static initializer to load the drivers so that they are available to all
+ // the
+ // test methods as needed.
+ public void setUp() {
+ numberLoaded = loadDrivers();
+ } // end setUp()
+
+ /**
+ * Test for the method DriverManager.deregisterDriver
+ */
+ public void testDeregisterDriver() {
+ // First get one of the drivers loaded by the test
+ Driver aDriver;
+ try {
+ aDriver = DriverManager.getDriver(baseURL4);
+ } catch (SQLException e) {
+ fail(
+ "testDeregisterDriver: Got exception when getting valid driver.");
+ return;
+ } // end try
+
+ // printClassLoader( aDriver );
+
+ // Deregister this driver
+ try {
+ DriverManager.deregisterDriver(aDriver);
+ } catch (Exception e) {
+ fail(
+ "testDeregisterDriver: Got exception when deregistering valid driver.");
+ } // end try
+
+ assertFalse("testDeregisterDriver: Driver was not deregistered.",
+ isDriverLoaded(aDriver));
+
+ // Re-register this driver (so subsequent tests have it available)
+ try {
+ DriverManager.registerDriver(aDriver);
+ } catch (Exception e) {
+ fail(
+ "testDeregisterDriver: Got exception when reregistering valid driver.");
+ } // end try
+
+ assertTrue("testDeregisterDriver: Driver did not reload.",
+ isDriverLoaded(aDriver));
+
+ // Test deregistering a null driver
+ try {
+ DriverManager.deregisterDriver(null);
+ } catch (SQLException e) {
+ fail(
+ "testDeregisterDriver: Got exception when deregistering null driver.");
+ } // end try
+
+ // Test deregistering a driver which was not loaded by this test's
+ // classloader
+ // TODO - need to load a driver with a different classloader!!
+ try {
+ aDriver = DriverManager.getDriver(baseURL1);
+ } catch (SQLException e) {
+ fail(
+ "testDeregisterDriver: Got exception when getting valid driver1.");
+ return;
+ } // end try
+
+ TestHelper_DriverManager testHelper;
+ try {
+ Class driverClass = Class.forName(
+ "org.apache.harmony.sql.tests.java.sql.TestHelper_DriverManager", true,
+ testClassLoader);
+
+ // Give the Helper class one of our drivers....
+ Class[] methodClasses = { Class.forName("java.sql.Driver") };
+ Method theMethod = driverClass.getDeclaredMethod("setDriver",
+ methodClasses);
+ Object[] args = { aDriver };
+ theMethod.invoke(null, args);
+ } catch (Exception e) {
+ System.out
+ .println("testDeregisterDriver: Got exception allocating TestHelper");
+ e.printStackTrace();
+ return;
+ } // end try
+
+ // Check that the driver was not deregistered
+ assertTrue(
+ "testDeregisterDriver: Driver was incorrectly deregistered.",
+ DriverManagerTest.isDriverLoaded(aDriver));
+
+ } // end method testDeregisterDriver()
+
+ static void printClassLoader(Object theObject) {
+ Class theClass = theObject.getClass();
+ ClassLoader theClassLoader = theClass.getClassLoader();
+ System.out.println("ClassLoader is: " + theClassLoader.toString()
+ + " for object: " + theObject.toString());
+ } // end method printClassLoader( Object )
+
+ static boolean isDriverLoaded(Driver theDriver) {
+ Enumeration driverList = DriverManager.getDrivers();
+ while (driverList.hasMoreElements()) {
+ if ((Driver) driverList.nextElement() == theDriver)
+ return true;
+ } // end while
+ return false;
+ } // end method isDriverLoaded( Driver )
+
+ /*
+ * Class under test for Connection getConnection(String)
+ */
+ // valid connection - data1 does not require a user and password...
+ static String validConnectionURL = "jdbc:mikes1:data1";
+
+ // invalid connection - data2 requires a user & password
+ static String invalidConnectionURL1 = "jdbc:mikes1:data2";
+
+ // invalid connection - URL is gibberish
+ static String invalidConnectionURL2 = "xyz1:abc3:456q";
+
+ // invalid connection - URL is null
+ static String invalidConnectionURL3 = null;
+
+ static String[] invalidConnectionURLs = { invalidConnectionURL1,
+ invalidConnectionURL2, invalidConnectionURL3 };
+
+ static String[] exceptionMessages = {
+ "Userid and/or password not supplied", "No suitable driver",
+ "The url cannot be null" };
+
+ public void testGetConnectionString() {
+ Connection theConnection = null;
+ // validConnection - no user & password required
+ try {
+ theConnection = DriverManager.getConnection(validConnectionURL);
+ assertNotNull(theConnection);
+ } catch (SQLException e) {
+ assertTrue(false);
+ } // end try
+
+ // invalid connections
+ for (int i = 0; i < invalidConnectionURLs.length; i++) {
+ theConnection = null;
+ try {
+ theConnection = DriverManager
+ .getConnection(invalidConnectionURLs[i]);
+ assertFalse(theConnection != null);
+ } catch (SQLException e) {
+ assertNull(theConnection);
+ // System.out.println("testGetConnectionString: exception
+ // message: " +
+ // e.getMessage() );
+ assertTrue(e.getMessage().equals(exceptionMessages[i]));
+ } // end try
+ } // end for
+ } // end method testGetConnectionString()
+
+ /*
+ * Class under test for Connection getConnection(String, Properties)
+ */
+ public void testGetConnectionStringProperties() {
+ String validURL1 = "jdbc:mikes1:data2";
+ String validuser1 = "theuser";
+ String validpassword1 = "thepassword";
+ String invalidURL1 = "xyz:abc1:foo";
+ String invalidURL2 = "jdbc:mikes1:crazyone";
+ String invalidURL3 = "";
+ String invaliduser1 = "jonny nouser";
+ String invalidpassword1 = "whizz";
+ Properties nullProps = null;
+ Properties validProps = new Properties();
+ validProps.setProperty("user", validuser1);
+ validProps.setProperty("password", validpassword1);
+ Properties invalidProps1 = new Properties();
+ invalidProps1.setProperty("user", invaliduser1);
+ invalidProps1.setProperty("password", invalidpassword1);
+ String[] invalidURLs = { null, validURL1, validURL1, invalidURL1,
+ invalidURL2, invalidURL3 };
+ Properties[] invalidProps = { validProps, nullProps, invalidProps1,
+ validProps, validProps, validProps };
+ String[] excMessage = { "The url cannot be null",
+ "Properties bundle is null",
+ "Userid and/or password not valid", "No suitable driver",
+ "No suitable driver", "No suitable driver" };
+
+ Connection theConnection = null;
+ Properties theProperties = null;
+ // validConnection - user & password required
+ try {
+ theConnection = DriverManager.getConnection(validURL1, validProps);
+ assertNotNull(theConnection);
+ } catch (SQLException e) {
+ assertTrue(false);
+ } // end try
+
+ // invalid Connections
+ for (int i = 0; i < invalidURLs.length; i++) {
+ theConnection = null;
+ try {
+ theConnection = DriverManager.getConnection(invalidURLs[i],
+ invalidProps[i]);
+ assertFalse(theConnection != null);
+ } catch (SQLException e) {
+ // System.out.println("testGetConnectionStringStringString:
+ // exception message: " +
+ // e.getMessage() );
+ assertTrue(e.getMessage().equals(excMessage[i]));
+ } // end try
+ } // end for
+ } // end method testGetConnectionStringProperties()
+
+ /*
+ * Class under test for Connection getConnection(String, String, String)
+ */
+ public void testGetConnectionStringStringString() {
+ String validURL1 = "jdbc:mikes1:data2";
+ String validuser1 = "theuser";
+ String validpassword1 = "thepassword";
+ String invalidURL1 = "xyz:abc1:foo";
+ String invaliduser1 = "jonny nouser";
+ String invalidpassword1 = "whizz";
+ String[] invalid1 = { null, validuser1, validpassword1 };
+ String[] invalid2 = { validURL1, null, validpassword1 };
+ String[] invalid3 = { validURL1, validuser1, null };
+ String[] invalid4 = { invalidURL1, validuser1, validpassword1 };
+ String[] invalid5 = { validURL1, invaliduser1, invalidpassword1 };
+ String[] invalid6 = { validURL1, validuser1, invalidpassword1 };
+ String[][] invalid = { invalid1, invalid2, invalid3, invalid4,
+ invalid5, invalid6 };
+ String[] excMessage = { "The url cannot be null",
+ "Userid and/or password not supplied",
+ "Userid and/or password not supplied", "No suitable driver",
+ "Userid and/or password not valid",
+ "Userid and/or password not valid" };
+
+ Connection theConnection = null;
+ // validConnection - user & password required
+ try {
+ theConnection = DriverManager.getConnection(validURL1, validuser1,
+ validpassword1);
+ assertNotNull(theConnection);
+ } catch (SQLException e) {
+ assertTrue(false);
+ } // end try
+
+ // invalid Connections
+ for (int i = 0; i < invalid.length; i++) {
+ theConnection = null;
+ String[] theData = invalid[i];
+ try {
+ theConnection = DriverManager.getConnection(theData[0],
+ theData[1], theData[2]);
+ assertFalse(theConnection != null);
+ } catch (SQLException e) {
+ // System.out.println("testGetConnectionStringStringString:
+ // exception message: " +
+ // e.getMessage() );
+ assertTrue(e.getMessage().equals(excMessage[i]));
+ } // end try
+ } // end for
+ } // end method testGetConnectionStringStringString()
+
+ static String validURL1 = "jdbc:mikes1";
+
+ static String validURL2 = "jdbc:mikes2";
+
+ static String invalidURL1 = "xyz:acb";
+
+ static String invalidURL2 = null;
+
+ static String[] validURLs = { validURL1, validURL2 };
+
+ static String[] invalidURLs = { invalidURL1, invalidURL2 };
+
+ static String exceptionMsg1 = "No suitable driver";
+
+ public void testGetDriver() {
+ // valid URLs
+ for (int i = 0; i < validURLs.length; i++) {
+ try {
+ Driver validDriver = DriverManager.getDriver(validURLs[i]);
+ } catch (SQLException e) {
+ fail(
+ "DriverManagerTest: getDriver failed for valid driver"
+ + i);
+ } // end try
+ } // end for
+
+ // invalid URLs
+ for (int i = 0; i < invalidURLs.length; i++) {
+ try {
+ Driver invalidDriver = DriverManager.getDriver(invalidURLs[i]);
+ } catch (SQLException e) {
+ assertTrue(true);
+ // System.out.println("DriverManagerTest: getDriver failed for
+ // invalid driver");
+ // System.out.println("DriverManagerTest: exception message = "
+ // + e.getMessage() );
+ assertTrue(e.getMessage().equals(exceptionMsg1));
+ } // end try
+ } // end for
+
+ } // end method testGetDriver()
+
+ public void testGetDrivers() {
+ // Load a driver manager
+ Enumeration driverList = DriverManager.getDrivers();
+ int i = 0;
+ while (driverList.hasMoreElements()) {
+ Driver theDriver = (Driver) driverList.nextElement();
+ i++;
+ } // end while
+
+ // Check that all the drivers are in the list...
+ assertEquals("testGetDrivers: Don't see all the loaded drivers - ", i,
+ numberLoaded);
+ } // end method testGetDrivers()
+
+ static int timeout1 = 25;
+
+ public void testGetLoginTimeout() {
+ int theTimeout = DriverManager.getLoginTimeout();
+ // System.out.println("Default Login Timeout: " + theTimeout );
+
+ DriverManager.setLoginTimeout(timeout1);
+
+ assertTrue(DriverManager.getLoginTimeout() == timeout1);
+ } // end method testGetLoginTimeout()
+
+ public void testGetLogStream() {
+ assertNull(DriverManager.getLogStream());
+
+ DriverManager.setLogStream(testPrintStream);
+
+ assertTrue(DriverManager.getLogStream() == testPrintStream);
+
+ DriverManager.setLogStream(null);
+ } // end method testGetLogStream()
+
+ public void testGetLogWriter() {
+ assertNull(DriverManager.getLogWriter());
+
+ DriverManager.setLogWriter(testPrintWriter);
+
+ assertTrue(DriverManager.getLogWriter() == testPrintWriter);
+
+ DriverManager.setLogWriter(null);
+ } // end method testGetLogWriter()
+
+ static String testMessage = "DriverManagerTest: test message for print stream";
+
+ public void testPrintln() {
+ // System.out.println("testPrintln");
+ DriverManager.println(testMessage);
+
+ DriverManager.setLogWriter(testPrintWriter);
+ DriverManager.println(testMessage);
+
+ String theOutput = outputStream.toString();
+ // System.out.println("testPrintln: output= " + theOutput );
+ assertTrue(theOutput.startsWith(testMessage));
+
+ DriverManager.setLogWriter(null);
+
+ DriverManager.setLogStream(testPrintStream);
+ DriverManager.println(testMessage);
+
+ theOutput = outputStream2.toString();
+ // System.out.println("testPrintln: output= " + theOutput );
+ assertTrue(theOutput.startsWith(testMessage));
+
+ DriverManager.setLogStream(null);
+ } // end method testPrintln()
+
+ public void testRegisterDriver() {
+ String EXTRA_DRIVER_NAME = "org.apache.harmony.sql.tests.java.sql.TestHelper_Driver3";
+
+ try {
+ DriverManager.registerDriver(null);
+ fail(
+ "testRegisterDriver: Expected exception not thrown when registering null driver");
+ } catch (Exception e) {
+
+ } // end try
+
+ Driver theDriver = null;
+ // Load another Driver that isn't in the basic set
+ try {
+ Class driverClass = Class.forName(EXTRA_DRIVER_NAME);
+ theDriver = (Driver) driverClass.newInstance();
+ DriverManager.registerDriver(theDriver);
+ } catch (ClassNotFoundException cfe) {
+ fail("testRegisterDriver: Could not load extra driver");
+ } catch (Exception e) {
+ fail(
+ "testRegisterDriver: Exception while registering additional driver");
+ } // end try
+
+ assertTrue("testRegisterDriver: driver not in loaded set",
+ isDriverLoaded(theDriver));
+
+ } // end testRegisterDriver()
+
+ static int validTimeout1 = 15;
+
+ static int validTimeout2 = 0;
+
+ static int[] validTimeouts = { validTimeout1, validTimeout2 };
+
+ static int invalidTimeout1 = -10;
+
+ public void testSetLoginTimeout() {
+ // Valid timeouts
+ for (int i = 0; i < validTimeouts.length; i++) {
+ DriverManager.setLoginTimeout(validTimeouts[i]);
+
+ assertTrue(DriverManager.getLoginTimeout() == validTimeouts[i]);
+ } // end for
+ // Invalid timeouts
+ try {
+ DriverManager.setLoginTimeout(invalidTimeout1);
+ assertTrue(DriverManager.getLoginTimeout() == invalidTimeout1);
+ } catch (IllegalArgumentException e) {
+ System.out.println("DriverManagerTest: exception message = "
+ + e.getMessage());
+ } // end try
+ } // end testSetLoginTimeout()
+
+ static ByteArrayOutputStream outputStream2 = new ByteArrayOutputStream();
+
+ static PrintStream testPrintStream = new PrintStream(outputStream2);
+
+ public void testSetLogStream() {
+ // System.out.println("testSetLogStream");
+ DriverManager.setLogStream(testPrintStream);
+
+ assertTrue(DriverManager.getLogStream() == testPrintStream);
+
+ DriverManager.setLogStream(null);
+
+ assertNull(DriverManager.getLogStream());
+
+ // Now let's deal with the case where there is a SecurityManager in
+ // place
+ TestSecurityManager theSecManager = new TestSecurityManager();
+ System.setSecurityManager(theSecManager);
+
+ theSecManager.setLogAccess(false);
+
+ try {
+ DriverManager.setLogStream(testPrintStream);
+ fail("testSetLogStream: Did not get security exception ");
+ } catch (SecurityException s) {
+
+ } catch (Throwable t) {
+ fail(
+ "testSetLogStream: Got exception but not get security exception ");
+ } // end try
+
+ theSecManager.setLogAccess(true);
+
+ try {
+ DriverManager.setLogStream(testPrintStream);
+ } catch (SecurityException s) {
+ fail(
+ "testSetLogStream: Got security exception but should not have");
+ } catch (Throwable t) {
+ fail(
+ "testSetLogStream: Got exception but not get security exception ");
+ } // end try
+
+ System.setSecurityManager(null);
+ } // end method testSetLogStream()
+
+ static ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
+ static PrintWriter testPrintWriter = new PrintWriter(outputStream);
+
+ /**
+ * Test for the setLogWriter method
+ */
+ public void testSetLogWriter() {
+ // System.out.println("testSetLogWriter");
+ DriverManager.setLogWriter(testPrintWriter);
+
+ assertTrue("testDriverManager: Log writer not set:", DriverManager
+ .getLogWriter() == testPrintWriter);
+
+ DriverManager.setLogWriter(null);
+
+ assertNull("testDriverManager: Log writer not null:", DriverManager
+ .getLogWriter());
+
+ // Now let's deal with the case where there is a SecurityManager in
+ // place
+ TestSecurityManager theSecManager = new TestSecurityManager();
+ System.setSecurityManager(theSecManager);
+
+ theSecManager.setLogAccess(false);
+
+ try {
+ DriverManager.setLogWriter(testPrintWriter);
+ fail("testSetLogWriter: Did not get security exception ");
+ } catch (SecurityException s) {
+
+ } catch (Throwable t) {
+ fail(
+ "testSetLogWriter: Got exception but not get security exception ");
+ } // end try
+
+ theSecManager.setLogAccess(true);
+
+ try {
+ DriverManager.setLogWriter(testPrintWriter);
+ } catch (SecurityException s) {
+ fail(
+ "testSetLogWriter: Got security exception but should not have");
+ } catch (Throwable t) {
+ fail(
+ "testSetLogWriter: Got exception but not get security exception ");
+ } // end try
+
+ System.setSecurityManager(null);
+ } // end method testSetLogWriter()
+
+ /*
+ * Method which loads a set of JDBC drivers ready for use by the various
+ * tests @return the number of drivers loaded
+ */
+ static boolean driversLoaded = false;
+
+ private static int loadDrivers() {
+ if (driversLoaded)
+ return numberLoaded;
+ /*
+ * First define a value for the System property "jdbc.drivers" - before
+ * the DriverManager class is loaded - this property defines a set of
+ * drivers which the DriverManager will load during its initialization
+ * and which will be loaded on the System ClassLoader - unlike the ones
+ * loaded later by this method which are loaded on the Application
+ * ClassLoader.
+ */
+ int numberLoaded = 0;
+ String theSystemDrivers = DRIVER4 + ":" + DRIVER5 + ":"
+ + INVALIDDRIVER1;
+ System.setProperty(JDBC_PROPERTY, theSystemDrivers);
+ numberLoaded += 2;
+
+ /*
+ * Next, dynamically load a set of drivers
+ */
+ for (int i = 0; i < driverNames.length; i++) {
+ try {
+ Class driverClass = Class.forName(driverNames[i]);
+ // System.out.println("Loaded driver - classloader = " +
+ // driverClass.getClassLoader());
+ numberLoaded++;
+ } catch (ClassNotFoundException e) {
+ System.out.println("DriverManagerTest: failed to load Driver: "
+ + driverNames[i]);
+ } // end try
+ } // end for
+ /*
+ * System.out.println("DriverManagerTest: number of drivers loaded: " +
+ * numberLoaded);
+ */
+ driversLoaded = true;
+ return numberLoaded;
+ } // end method loadDrivers()
+
+ class TestSecurityManager extends SecurityManager {
+
+ boolean logAccess = true;
+
+ SQLPermission sqlPermission = new SQLPermission("setLog");
+
+ RuntimePermission setManagerPermission = new RuntimePermission(
+ "setSecurityManager");
+
+ TestSecurityManager() {
+ super();
+ } // end method TestSecurityManager()
+
+ void setLogAccess(boolean allow) {
+ logAccess = allow;
+ } // end method setLogAccess( boolean )
+
+ public void checkPermission(Permission thePermission) {
+ if (thePermission.equals(sqlPermission)) {
+ if (!logAccess) {
+ throw new SecurityException("Cannot set the sql Log Writer");
+ } // end if
+ return;
+ } // end if
+
+ if (thePermission.equals(setManagerPermission)) {
+ return;
+ } // end if
+ // super.checkPermission( thePermission );
+ } // end method checkPermission( Permission )
+
+ } // end class TestSecurityManager
+
+} // end class DriverManagerTest
+
+
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java?rev=436644&r1=436643&r2=436644&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java Thu Aug 24 21:29:34 2006
@@ -1,104 +1,104 @@
-/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.harmony.sql.tests.java.sql;
-
-import java.sql.DriverPropertyInfo;
-
-import junit.framework.TestCase;
-
-/**
- * JUnit Testcase for the java.sql.DriverPropertyInfo class
- *
- */
-
-public class DriverPropertyInfoTest extends TestCase {
-
- /*
- * Public statics test
- */
- public void testPublicStatics() {
-
- } // end method testPublicStatics
-
- /*
- * Constructor test
- */
- public void testDriverPropertyInfoStringString() {
-
- DriverPropertyInfo aDriverPropertyInfo = new DriverPropertyInfo(
- validName, validValue);
-
- assertNotNull(aDriverPropertyInfo);
-
- aDriverPropertyInfo = new DriverPropertyInfo(null, null);
-
- } // end method testDriverPropertyInfoStringString
-
- /*
- * Public fields test
- */
- static String validName = "testname";
-
- static String validValue = "testvalue";
-
- static String[] updateChoices = { "Choice1", "Choice2", "Choice3" };
-
- static String updateValue = "updateValue";
-
- static boolean updateRequired = true;
-
- static String updateDescription = "update description";
-
- static String updateName = "updateName";
-
- public void testPublicFields() {
-
- // Constructor here...
- DriverPropertyInfo aDriverPropertyInfo = new DriverPropertyInfo(
- validName, validValue);
-
- assertTrue(aDriverPropertyInfo.choices == testChoices);
- assertTrue(aDriverPropertyInfo.value == testValue);
- assertTrue(aDriverPropertyInfo.required == testRequired);
- assertTrue(aDriverPropertyInfo.description == testDescription);
- assertTrue(aDriverPropertyInfo.name == testName);
-
- aDriverPropertyInfo.choices = updateChoices;
- aDriverPropertyInfo.value = updateValue;
- aDriverPropertyInfo.required = updateRequired;
- aDriverPropertyInfo.description = updateDescription;
- aDriverPropertyInfo.name = updateName;
-
- assertTrue(aDriverPropertyInfo.choices == updateChoices);
- assertTrue(aDriverPropertyInfo.value == updateValue);
- assertTrue(aDriverPropertyInfo.required == updateRequired);
- assertTrue(aDriverPropertyInfo.description == updateDescription);
- assertTrue(aDriverPropertyInfo.name == updateName);
-
- } // end method testPublicFields
-
- // Default values...
- static String[] testChoices = null;
-
- static java.lang.String testValue = validValue;
-
- static boolean testRequired = false;
-
- static java.lang.String testDescription = null;
-
- static java.lang.String testName = validName;
-
-} // end class DriverPropertyInfoTest
+/* Copyright 2004 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.sql.tests.java.sql;
+
+import java.sql.DriverPropertyInfo;
+
+import junit.framework.TestCase;
+
+/**
+ * JUnit Testcase for the java.sql.DriverPropertyInfo class
+ *
+ */
+
+public class DriverPropertyInfoTest extends TestCase {
+
+ /*
+ * Public statics test
+ */
+ public void testPublicStatics() {
+
+ } // end method testPublicStatics
+
+ /*
+ * Constructor test
+ */
+ public void testDriverPropertyInfoStringString() {
+
+ DriverPropertyInfo aDriverPropertyInfo = new DriverPropertyInfo(
+ validName, validValue);
+
+ assertNotNull(aDriverPropertyInfo);
+
+ aDriverPropertyInfo = new DriverPropertyInfo(null, null);
+
+ } // end method testDriverPropertyInfoStringString
+
+ /*
+ * Public fields test
+ */
+ static String validName = "testname";
+
+ static String validValue = "testvalue";
+
+ static String[] updateChoices = { "Choice1", "Choice2", "Choice3" };
+
+ static String updateValue = "updateValue";
+
+ static boolean updateRequired = true;
+
+ static String updateDescription = "update description";
+
+ static String updateName = "updateName";
+
+ public void testPublicFields() {
+
+ // Constructor here...
+ DriverPropertyInfo aDriverPropertyInfo = new DriverPropertyInfo(
+ validName, validValue);
+
+ assertTrue(aDriverPropertyInfo.choices == testChoices);
+ assertTrue(aDriverPropertyInfo.value == testValue);
+ assertTrue(aDriverPropertyInfo.required == testRequired);
+ assertTrue(aDriverPropertyInfo.description == testDescription);
+ assertTrue(aDriverPropertyInfo.name == testName);
+
+ aDriverPropertyInfo.choices = updateChoices;
+ aDriverPropertyInfo.value = updateValue;
+ aDriverPropertyInfo.required = updateRequired;
+ aDriverPropertyInfo.description = updateDescription;
+ aDriverPropertyInfo.name = updateName;
+
+ assertTrue(aDriverPropertyInfo.choices == updateChoices);
+ assertTrue(aDriverPropertyInfo.value == updateValue);
+ assertTrue(aDriverPropertyInfo.required == updateRequired);
+ assertTrue(aDriverPropertyInfo.description == updateDescription);
+ assertTrue(aDriverPropertyInfo.name == updateName);
+
+ } // end method testPublicFields
+
+ // Default values...
+ static String[] testChoices = null;
+
+ static java.lang.String testValue = validValue;
+
+ static boolean testRequired = false;
+
+ static java.lang.String testDescription = null;
+
+ static java.lang.String testName = validName;
+
+} // end class DriverPropertyInfoTest
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java
------------------------------------------------------------------------------
svn:eol-style = native