1 21 22 package org.apache.derbyTesting.functionTests.tests.store; 23 24 import org.apache.derbyTesting.functionTests.util.TestUtil; 25 import org.apache.derbyTesting.junit.BaseJDBCTestCase; 26 27 import junit.framework.*; 28 import java.sql.*; 29 import java.util.Properties ; 30 import java.util.Arrays ; 31 32 38 public class BootAllTest extends BaseJDBCTestCase { 39 40 private Driver driver; 41 private String databases[] = new String [] {"wombat1", "wombat2", "wombat3"}; 42 43 final static String DATABASE_SHUT_DOWN = "08006"; 44 final static String ALL_DATABASES_SHUT_DOWN = "XJ015"; 45 46 49 public BootAllTest(String name) { 50 super(name); 51 } 52 53 56 public void setUp() throws Exception { 57 for (int i = 0; i < databases.length; i++) { 58 Connection con = openConnection(databases[i]); 59 con.close(); 60 try { 61 openConnection(databases[i] + ";shutdown=true"); 62 } catch (SQLException se) { 63 assertEquals("Expected exception on setUp " + se.getSQLState(), 64 DATABASE_SHUT_DOWN, se.getSQLState()); 65 } 66 } 67 String url = getTestConfiguration().getJDBCUrl(""); 68 driver = DriverManager.getDriver(url); 69 DriverManager.deregisterDriver(driver); 70 try { 71 driver.connect(url + ";shutdown=true", null); 72 } catch (SQLException se) { 73 assertEquals("Expected exception on tearDown " + se.getSQLState(), 74 ALL_DATABASES_SHUT_DOWN, se.getSQLState()); 75 } 76 System.runFinalization(); 77 System.gc(); 78 } 79 80 83 public void tearDown() throws Exception { 84 String driverName = getTestConfiguration().getJDBCClient().getJDBCDriverName(); 85 Class.forName(driverName); 86 println("Teardown of: " + getName()); 87 try { 88 openConnection(";shutdown=true"); 89 } catch (SQLException se) { 90 assertEquals("Expected exception on tearDown " + se.getSQLState(), 91 ALL_DATABASES_SHUT_DOWN, se.getSQLState()); 92 } 93 } 94 95 105 public void testSettingBootAllPropertyWithHomePropertySet() 106 throws Exception 107 { 108 String returnedDatabases[] = null; 109 110 setSystemProperty("derby.system.bootAll", "true"); 111 112 String driverName = getTestConfiguration().getJDBCClient().getJDBCDriverName(); 113 String url = getTestConfiguration().getJDBCUrl(""); 114 115 Class.forName(driverName).newInstance(); 116 DriverManager.registerDriver(driver); 117 118 Driver driver = DriverManager.getDriver(url); 119 120 DriverPropertyInfo[] attributes = driver.getPropertyInfo(url, null); 121 for (int i = 0; i < attributes.length; i++) { 122 if (attributes[i].name.equalsIgnoreCase("databaseName")) { 123 returnedDatabases = attributes[i].choices; 124 } 125 } 126 127 Arrays.sort(returnedDatabases); 128 129 assertEquals("The number of databases should be", 130 databases.length, 131 returnedDatabases.length); 132 133 for (int i = 0; i < databases.length; i++) { 134 assertEquals("Database names should be", 135 databases[i], 136 returnedDatabases[i]); 137 } 138 139 } 140 141 } 142 | Popular Tags |