1 21 22 package org.opensubsystems.core.persist.db; 23 24 import java.util.Enumeration ; 25 26 import junit.framework.Test; 27 import junit.framework.TestResult; 28 import junit.framework.TestSuite; 29 30 import org.opensubsystems.core.error.OSSException; 31 import org.opensubsystems.core.util.Config; 32 33 43 public class DatabaseTestSuite extends TestSuite 44 { 45 48 protected String m_strDataSourceName = null; 49 50 53 static 54 { 55 if (Config.getInstance().getPropertyFileName() == null) 56 { 57 Config.getInstance().setPropertyFileName(DatabaseTest.DEFAULT_PROPERTY_FILE); 58 } 59 } 60 61 66 public DatabaseTestSuite( 67 String strName 68 ) 69 { 70 super(strName); 71 } 72 73 82 public DatabaseTestSuite( 83 String strName, 84 String strDataSourceName, 85 String strDriverName, 86 String strUrl 87 ) throws OSSException 88 { 89 super(strName); 90 91 DatabaseTest.addDataSource(strDataSourceName, strDriverName, strUrl); 92 DatabaseTest.setDataSourceName(strDataSourceName); 93 m_strDataSourceName = strDataSourceName; 94 } 95 96 107 public DatabaseTestSuite( 108 String strName, 109 String strDataSourceName, 110 String strDriverName, 111 String strUrl, 112 String strUser, 113 String strPassword 114 ) throws OSSException 115 { 116 super(strName); 117 118 DatabaseTest.addDataSource(strDataSourceName, strDriverName, strUrl, 119 strUser, strPassword); 120 m_strDataSourceName = strDataSourceName; 121 } 122 123 126 public void runTest( 127 Test testToRun, 128 TestResult result 129 ) 130 { 131 try 132 { 133 setTestDataSource(testToRun); 134 } 135 catch (OSSException bfeExc) 136 { 137 throw new RuntimeException (bfeExc); 140 } 141 142 super.runTest(testToRun, result); 143 } 144 145 151 protected void setTestDataSource( 152 Test testToSet 153 ) throws OSSException 154 { 155 if (m_strDataSourceName != null) 156 { 157 if (testToSet instanceof DatabaseTest) 158 { 159 DatabaseTest.setDataSourceName(m_strDataSourceName); 160 } 161 else if (testToSet instanceof TestSuite) 162 { 163 Enumeration enumTests; 165 Test testTemp; 166 167 for (enumTests = ((TestSuite)testToSet).tests(); enumTests.hasMoreElements();) 168 { 169 testTemp = (Test)enumTests.nextElement(); 170 if (testTemp instanceof DatabaseTest) 172 { 173 DatabaseTest.setDataSourceName(m_strDataSourceName); 174 } 175 else 176 { 177 setTestDataSource(testTemp); 178 } 179 } 180 } 181 } 182 } 183 } 184
| Popular Tags
|