--- old/test/java/sql/test/sql/DriverManagerTests.java 2014-10-28 10:30:15.000000000 -0400 +++ /dev/null 2014-10-28 10:30:15.000000000 -0400 @@ -1,354 +0,0 @@ -/* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package test.sql; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.CharArrayReader; -import java.io.CharArrayWriter; -import java.io.File; -import java.io.InputStreamReader; -import java.io.PrintStream; -import java.io.PrintWriter; -import java.sql.Driver; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.Properties; -import static org.testng.Assert.*; -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import util.StubDriver; - -public class DriverManagerTests { - - private final String StubDriverURL = "jdbc:tennis:boy"; - private final String StubDriverDAURL = "jdbc:luckydog:tennis"; - private final String InvalidURL = "jdbc:cardio:tennis"; - private String[] results = {"output", "more output", "and more", "the end"}; - private String noOutput = "should not find this"; - - public DriverManagerTests() { - } - - @BeforeClass - public static void setUpClass() throws Exception { - } - - @AfterClass - public static void tearDownClass() throws Exception { - } - - @BeforeMethod - public void setUpMethod() throws Exception { - removeAllDrivers(); - } - - @AfterMethod - public void tearDownMethod() throws Exception { - } - - /** - * Utility method to remove all registered drivers - */ - private static void removeAllDrivers() { - java.util.Enumeration e = DriverManager.getDrivers(); - while (e.hasMoreElements()) { - try { - DriverManager.deregisterDriver((Driver) (e.nextElement())); - } catch (SQLException ex) { - System.out.print(ex.getMessage()); - } - } - } - - /** - * Utility method to see if a driver is registered - */ - private boolean isDriverRegistered(Driver d) { - boolean foundDriver = false; - java.util.Enumeration e = DriverManager.getDrivers(); - while (e.hasMoreElements()) { - if (d == (Driver) e.nextElement()) { - foundDriver = true; - break; - } - } - return foundDriver; - } - - /** - * Validate that values set using setLoginTimeout will be returned by - * getLoginTimeout - */ - @Test - public void test() { - int[] vals = {-1, 0, 5}; - for (int val : vals) { - DriverManager.setLoginTimeout(val); - assertEquals(val, DriverManager.getLoginTimeout()); - } - } - - /** - * Validate that NullPointerException is thrown when null is passed to - * registerDriver - */ - @Test(expectedExceptions = NullPointerException.class) - public void test1() throws Exception { - Driver d = null; - DriverManager.registerDriver(d); - } - - /** - * Validate that NullPointerException is thrown when null is passed to - * registerDriver - */ - @Test(expectedExceptions = NullPointerException.class) - public void test2() throws Exception { - Driver d = null; - DriverManager.registerDriver(d, null); - } - - /** - * Validate that a null value allows for deRegisterDriver to return - */ - @Test - public void test3() throws Exception { - DriverManager.deregisterDriver(null); - - } - - /** - * Validate that SQLException is thrown when there is no Driver to service - * the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test4() throws Exception { - DriverManager.getConnection(InvalidURL); - } - - /** - * Validate that SQLException is thrown when there is no Driver to service - * the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test5() throws Exception { - DriverManager.getConnection(InvalidURL, new Properties()); - } - - /** - * Validate that SQLException is thrown when there is no Driver to service - * the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test6() throws Exception { - DriverManager.getConnection(InvalidURL, "LuckyDog", "tennisanyone"); - } - - /** - * Validate that SQLException is thrown when null is passed for the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test7() throws Exception { - DriverManager.getConnection(null); - } - - /** - * Validate that SQLException is thrown when null is passed for the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test8() throws Exception { - DriverManager.getConnection(null, new Properties()); - } - - /** - * Validate that SQLException is thrown when null is passed for the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test9() throws Exception { - DriverManager.getConnection(null, "LuckyDog", "tennisanyone"); - } - - /** - * Validate that SQLException is thrown when there is no Driver to service - * the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test10() throws Exception { - DriverManager.getDriver(InvalidURL); - } - - /** - * Validate that SQLException is thrown when null is passed for the URL - */ - @Test(expectedExceptions = SQLException.class) - public void test11() throws Exception { - DriverManager.getDriver(null); - } - - /** - * Validate that a non-null Driver is returned by getDriver when a valid URL - * is specified - */ - @Test - public void test12() throws Exception { - - DriverManager.registerDriver(new StubDriver()); - assertTrue(DriverManager.getDriver(StubDriverURL) != null); - } - - /** - * Validate that SQLException is thrown when the URL is not valid for any of - * the registered drivers - */ - @Test(expectedExceptions = SQLException.class) - public void test13() throws Exception { - DriverManager.registerDriver(new StubDriver()); - DriverManager.getDriver(InvalidURL); - } - - /** - * Validate that a Connection object is returned when a valid URL is - * specified to getConnection - * - */ - @Test - public void test14() throws Exception { - - DriverManager.registerDriver(new StubDriver()); - assertTrue( - DriverManager.getConnection(StubDriverURL) != null); - assertTrue(DriverManager.getConnection(StubDriverURL, - "LuckyDog", "tennisanyone") != null); - Properties props = new Properties(); - props.put("user", "LuckyDog"); - props.put("password", "tennisanyone"); - assertTrue( - DriverManager.getConnection(StubDriverURL, - props) != null); - } - - /** - * Register a driver and make sure you find it via its URL. Deregister the - * driver and validate it is not longer registered - * - * @throws Exception - */ - @Test() - public void test15() throws Exception { - DriverManager.registerDriver(new StubDriver()); - Driver d = DriverManager.getDriver(StubDriverURL); - assertTrue(d != null); - assertTrue(isDriverRegistered(d)); - DriverManager.deregisterDriver(d); - assertFalse(isDriverRegistered(d)); - } - - /** - * Validate that DriverAction.release is called when a driver is registered - * via registerDriver(Driver, DriverAction) - * - * @throws Exception - */ - @Test - public void test16() throws Exception { - File file = new File(util.StubDriverDA.DriverActionCalled); - file.delete(); - assertFalse(file.exists()); - Driver d = null; - Class.forName("util.StubDriverDA"); - d = DriverManager.getDriver(StubDriverDAURL); - DriverManager.deregisterDriver(d); - assertFalse(isDriverRegistered(d), "Driver is registered"); - assertTrue(file.exists()); - } - - /** - * Create a PrintStream and use to send output via DriverManager.println - * Validate that if you disable the stream, the output sent is not present - */ - @Test - public void tests17() throws Exception { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(os); - DriverManager.setLogStream(ps); - assertTrue(DriverManager.getLogStream() == ps); - - DriverManager.println(results[0]); - DriverManager.setLogStream((PrintStream) null); - assertTrue(DriverManager.getLogStream() == null); - DriverManager.println(noOutput); - DriverManager.setLogStream(ps); - DriverManager.println(results[1]); - DriverManager.println(results[2]); - DriverManager.println(results[3]); - DriverManager.setLogStream((PrintStream) null); - DriverManager.println(noOutput); - - /* - * Check we do not get the output when the stream is disabled - */ - InputStreamReader is - = new InputStreamReader(new ByteArrayInputStream(os.toByteArray())); - BufferedReader reader = new BufferedReader(is); - for (String result : results) { - assertTrue(result.equals(reader.readLine())); - } - } - - /** - * Create a PrintWriter and use to to send output via DriverManager.println - * Validate that if you disable the writer, the output sent is not present - */ - @Test - public void tests18() throws Exception { - CharArrayWriter cw = new CharArrayWriter(); - PrintWriter pw = new PrintWriter(cw); - DriverManager.setLogWriter(pw); - assertTrue(DriverManager.getLogWriter() == pw); - - DriverManager.println(results[0]); - DriverManager.setLogWriter(null); - assertTrue(DriverManager.getLogWriter() == null); - DriverManager.println(noOutput); - DriverManager.setLogWriter(pw); - DriverManager.println(results[1]); - DriverManager.println(results[2]); - DriverManager.println(results[3]); - DriverManager.setLogWriter(null); - DriverManager.println(noOutput); - - /* - * Check we do not get the output when the stream is disabled - */ - BufferedReader reader - = new BufferedReader(new CharArrayReader(cw.toCharArray())); - for (String result : results) { - assertTrue(result.equals(reader.readLine())); - } - } -}