1 17 18 package org.apache.geronimo.derby; 19 20 import java.io.File ; 21 import java.io.IOException ; 22 import java.sql.Connection ; 23 import java.sql.DriverManager ; 24 import java.sql.SQLException ; 25 import java.util.Properties ; 26 27 import junit.framework.TestCase; 28 import org.apache.geronimo.system.serverinfo.ServerInfo; 29 import org.apache.geronimo.system.serverinfo.BasicServerInfo; 30 31 34 public class DerbySystemGBeanTest extends TestCase { 35 private File systemDir; 36 37 public void testCreateSystemUsingServerInfo() throws Exception { 38 ServerInfo serverInfo = new BasicServerInfo(systemDir.toString()); 39 String derbyDir = "var/dbderby"; 40 DerbySystemGBean gbean = new DerbySystemGBean(serverInfo, derbyDir); 41 try { 42 gbean.doStart(); 43 new org.apache.derby.jdbc.EmbeddedDriver(); 44 connect(); 45 gbean.doStop(); 46 assertTrue(new File (systemDir, derbyDir+"/derby.log").exists()); 47 } catch (Exception e) { 48 fail(e.getMessage()); 49 } 50 } 51 52 private void connect() throws SQLException { 53 Connection c = DriverManager.getConnection("jdbc:derby:testdb;create=true"); 54 c.close(); 55 } 56 57 protected void setUp() throws Exception { 58 try { 59 super.setUp(); 60 systemDir = File.createTempFile("derbyTest", ".tmp"); 61 systemDir.delete(); 62 systemDir.mkdir(); 63 64 Properties props = System.getProperties(); 65 props.remove("derby.system.home"); 66 } catch (Exception e) { 67 delete(systemDir); 68 throw e; 69 } 70 } 71 72 protected void tearDown() throws Exception { 73 delete(systemDir); 74 super.tearDown(); 75 } 76 77 private void delete(File file) throws IOException { 78 if (file == null) { 79 return; 80 } 81 82 File [] files = file.listFiles(); 83 if (files != null) { 84 for (int i = 0; i < files.length; i++) { 85 delete(files[i]); 86 } 87 } 88 file.delete(); 89 } 90 } 91 | Popular Tags |