Update of /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/fw/util
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12311/test/src/net/sourceforge/squirrel_sql/fw/util
Modified Files:
MyURLClassLoaderTest.java
Log Message:
Removed the expectation of a certain directory structure from this test to support new Maven layout. This test now downloads the jar files needed for the test from the main SQuirreL website.
Index: MyURLClassLoaderTest.java
===================================================================
RCS file: /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/fw/util/MyURLClassLoaderTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** MyURLClassLoaderTest.java 25 Jul 2009 13:24:31 -0000 1.7
--- MyURLClassLoaderTest.java 26 Jul 2009 20:40:25 -0000 1.8
***************
*** 1,10 ****
package net.sourceforge.squirrel_sql.fw.util;
- import java.io.File;
import java.io.IOException;
import java.net.URL;
import net.sourceforge.squirrel_sql.BaseSQuirreLTestCase;
- import net.sourceforge.squirrel_sql.fw.FwTestUtil;
import net.sourceforge.squirrel_sql.fw.sql.IQueryTokenizer;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
--- 1,9 ----
package net.sourceforge.squirrel_sql.fw.util;
import java.io.IOException;
+ import java.io.InputStream;
import java.net.URL;
import net.sourceforge.squirrel_sql.BaseSQuirreLTestCase;
import net.sourceforge.squirrel_sql.fw.sql.IQueryTokenizer;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
***************
*** 14,33 ****
{
! private static String filePrefix = "file:";
! static
! {
! if (System.getProperty("os.name").toLowerCase().startsWith("windows"))
! {
! filePrefix = "file:/";
! }
! }
! private static String COMMONS_CLI_JAR = "squirrel-sql-dist/squirrel-sql/core/dist/lib/commons-cli.jar";
! private static String ORACLE_PLUGIN_JAR = "squirrel-sql-dist/squirrel-sql/plugins/oracle/dist/oracle.jar";
! private static String BOGUS_ZIP_FILE = "squirrel-sql-dist/squirrel-sql/core/dist/log4j.properties";
! private static String EXTERNAL_DEPENDS_JAR = "plugins/syntax/lib/syntax.jar";
private static final String COMMONS_CLI_OPTION_CLASS = "org.apache.commons.cli.Option";
--- 13,31 ----
{
! private static String COMMONS_CLI_JAR = "http://www.squirrelsql.org/downloads/commons-cli.jar";
! private static FileWrapper commonsCliTempFileWrapper = null;
! private static String ORACLE_PLUGIN_JAR = "http://www.squirrelsql.org/downloads/oracle.jar";
! private static FileWrapper oracleTempFileWrapper = null;
! private static String BOGUS_ZIP_FILE = "http://www.squirrelsql.org/downloads/log4j.properties";
!
! private static FileWrapper bogusZipTempFileWrapper = null;
!
! private static String EXTERNAL_DEPENDS_JAR = "http://www.squirrelsql.org/downloads/syntax.jar";
!
! private static FileWrapper extDependsTempFileWrapper = null;
private static final String COMMONS_CLI_OPTION_CLASS = "org.apache.commons.cli.Option";
***************
*** 36,39 ****
--- 34,39 ----
"net.sourceforge.squirrel_sql.plugins.oracle.OraclePlugin";
+ private static final IOUtilities ioutils = new IOUtilitiesImpl();
+
/** Logger for this class. */
private final static ILogger s_log = LoggerController.createLogger(MyURLClassLoaderTest.class);
***************
*** 42,81 ****
{
super.setUp();
!
! }
!
! /**
! * Try to locate the file using different prefixes so that the test can be run from the ant script, or from
! * in Eclipse.
! *
! * @param filename
! * @return
! */
! private String getFilePrefixedFilename(String filename)
! {
! String distDir = FwTestUtil.findAncestorSquirrelSqlDistDirBase("squirrel-sql-dist");
! if (distDir == null) { throw new IllegalStateException("Couldn't locate distDir (squirrel-sql-dist)"); }
!
! try
! {
! File distDirFile = new File(distDir);
! distDir = distDirFile.getCanonicalPath();
! }
! catch (IOException e)
! {
! e.printStackTrace();
! }
! File resultFile = new File(distDir, filename);
! String result = resultFile.getAbsolutePath();
! try
! {
! result = filePrefix + resultFile.getCanonicalPath();
! }
! catch (IOException e)
{
! e.printStackTrace();
}
- System.out.println("Found file: " + result);
- return result;
}
--- 42,49 ----
{
super.setUp();
! if (oracleTempFileWrapper == null)
{
! downloadTestFiles();
}
}
***************
*** 83,86 ****
--- 51,58 ----
{
super.tearDown();
+ oracleTempFileWrapper.deleteOnExit();
+ bogusZipTempFileWrapper.deleteOnExit();
+ extDependsTempFileWrapper.deleteOnExit();
+ commonsCliTempFileWrapper.deleteOnExit();
}
***************
*** 100,106 ****
}
! public void testMyURLClassLoaderURL()
{
! getIPluginAssignableClasses(getFilePrefixedFilename(COMMONS_CLI_JAR));
}
--- 72,119 ----
}
! public void testMyURLClassLoaderURL() throws Exception
{
! getIQueryTokenizerAssignableClasses(commonsCliTempFileWrapper.toURL().toString());
! }
!
! private void downloadTestFiles()
! {
! disableLogging(org.apache.commons.logging.impl.SimpleLog.class);
! disableLogging(org.apache.commons.httpclient.HttpMethodBase.class);
! disableLogging(org.apache.commons.httpclient.HttpConnection.class);
! disableLogging(org.apache.commons.httpclient.HttpClient.class);
! disableLogging(org.apache.commons.httpclient.params.DefaultHttpParams.class);
! disableLogging(org.apache.commons.httpclient.methods.GetMethod.class);
! disableLogging(org.apache.commons.httpclient.HttpState.class);
! disableLogging(org.apache.commons.httpclient.util.HttpURLConnection.class);
! commonsCliTempFileWrapper = downloadTestFile(COMMONS_CLI_JAR, "commons-cli", ".jar");
! oracleTempFileWrapper = downloadTestFile(ORACLE_PLUGIN_JAR, "oracle", ".jar");
! bogusZipTempFileWrapper = downloadTestFile(BOGUS_ZIP_FILE, "log4j", ".properties");
! extDependsTempFileWrapper = downloadTestFile(EXTERNAL_DEPENDS_JAR, "syntax", ".jar");
! }
!
! private FileWrapper downloadTestFile(String urlStr, String localTempFilePrefix, String localTempFileSuffix)
! {
! InputStream is = null;
! FileWrapper result = null;
! try
! {
! URL url = new URL(urlStr);
! is = url.openStream();
! String prefix = "MyURLClassLoaderTest-" + localTempFilePrefix;
! result = FileWrapperImpl.createTempFile(prefix, localTempFileSuffix);
! final int bytesRead = ioutils.downloadHttpFile(url, result, null);
! assertTrue(bytesRead > 0);
! }
! catch (Exception e)
! {
! e.printStackTrace();
! fail(e.getMessage());
! }
! finally
! {
! ioutils.closeInputStream(is);
! }
! return result;
}
***************
*** 109,114 ****
try
{
! URL url = new URL(getFilePrefixedFilename(ORACLE_PLUGIN_JAR));
! MyURLClassLoader loader = new MyURLClassLoader(new URL[] { url });
loader.findClass(ORACLE_PLUGIN_CLASS);
}
--- 122,126 ----
try
{
! MyURLClassLoader loader = new MyURLClassLoader(new URL[] { oracleTempFileWrapper.toURL() });
loader.findClass(ORACLE_PLUGIN_CLASS);
}
***************
*** 122,180 ****
// Method Tests
! public void testAddClassLoaderListener()
{
MyClassLoaderListener listener = new MyClassLoaderListener();
! MyURLClassLoader loader = getLoader(getFilePrefixedFilename(COMMONS_CLI_JAR));
loader.addClassLoaderListener(listener);
}
! public void testRemoveClassLoaderListener()
{
MyClassLoaderListener listener = new MyClassLoaderListener();
! MyURLClassLoader loader = getLoader(getFilePrefixedFilename(ORACLE_PLUGIN_JAR));
loader.addClassLoaderListener(listener);
! try
! {
! loader.getAssignableClasses(IQueryTokenizer.class, s_log);
! }
! catch (Exception e)
! {
! // fail ??
! }
assertEquals(1, listener.loadingZipFileCount);
listener.loadingZipFileCount = 0;
loader.removeClassLoaderListener(listener);
!
! try
! {
! loader.getAssignableClasses(IQueryTokenizer.class, s_log);
! }
! catch (Exception e)
! {
! // fail ??
! }
assertEquals(0, listener.loadingZipFileCount);
}
@SuppressWarnings("unchecked")
! public void testGetAssignableClasses()
{
! Class[] classes = getIPluginAssignableClasses(getFilePrefixedFilename(COMMONS_CLI_JAR));
assertEquals(0, classes.length);
! classes = getIPluginAssignableClasses(getFilePrefixedFilename(ORACLE_PLUGIN_JAR));
assertEquals(1, classes.length);
! classes = getIPluginAssignableClasses(getFilePrefixedFilename(BOGUS_ZIP_FILE));
assertEquals(0, classes.length);
! classes = getIPluginAssignableClasses(getFilePrefixedFilename(EXTERNAL_DEPENDS_JAR));
assertEquals(0, classes.length);
}
! public void testFindClassString()
{
! MyURLClassLoader loader = getLoader(getFilePrefixedFilename(COMMONS_CLI_JAR));
try
{
--- 134,177 ----
// Method Tests
! public void testAddClassLoaderListener() throws Exception
{
MyClassLoaderListener listener = new MyClassLoaderListener();
! MyURLClassLoader loader = getLoader(commonsCliTempFileWrapper.toURL().toString());
loader.addClassLoaderListener(listener);
}
! public void testRemoveClassLoaderListener() throws Exception
{
MyClassLoaderListener listener = new MyClassLoaderListener();
! MyURLClassLoader loader = getLoader(oracleTempFileWrapper.toURL().toString());
loader.addClassLoaderListener(listener);
! loader.getAssignableClasses(IQueryTokenizer.class, s_log);
assertEquals(1, listener.loadingZipFileCount);
listener.loadingZipFileCount = 0;
loader.removeClassLoaderListener(listener);
! loader.getAssignableClasses(IQueryTokenizer.class, s_log);
assertEquals(0, listener.loadingZipFileCount);
}
@SuppressWarnings("unchecked")
! public void testGetAssignableClasses() throws Exception
{
! Class[] classes = getIQueryTokenizerAssignableClasses(commonsCliTempFileWrapper.toURL().toString());
assertEquals(0, classes.length);
! classes = getIQueryTokenizerAssignableClasses(oracleTempFileWrapper.toURL().toString());
assertEquals(1, classes.length);
! classes = getIQueryTokenizerAssignableClasses(bogusZipTempFileWrapper.toURL().toString());
assertEquals(0, classes.length);
! classes = getIQueryTokenizerAssignableClasses(extDependsTempFileWrapper.toURL().toString());
assertEquals(0, classes.length);
}
! public void testFindClassString() throws Exception
{
! MyURLClassLoader loader = getLoader(commonsCliTempFileWrapper.toURL().toString());
try
{
***************
*** 191,195 ****
try
{
! MyURLClassLoader loader = getLoader(getFilePrefixedFilename(COMMONS_CLI_JAR));
loader.findClass(COMMONS_CLI_OPTION_CLASS);
loader.classHasBeenLoaded(org.apache.commons.cli.Option.class);
--- 188,192 ----
try
{
! MyURLClassLoader loader = getLoader(commonsCliTempFileWrapper.toURL().toString());
loader.findClass(COMMONS_CLI_OPTION_CLASS);
loader.classHasBeenLoaded(org.apache.commons.cli.Option.class);
***************
*** 203,207 ****
// HELPERS
@SuppressWarnings("unchecked")
! private Class[] getIPluginAssignableClasses(String urlToSearch)
{
MyURLClassLoader loader = getLoader(urlToSearch);
--- 200,204 ----
// HELPERS
@SuppressWarnings("unchecked")
! private Class[] getIQueryTokenizerAssignableClasses(String urlToSearch)
{
MyURLClassLoader loader = getLoader(urlToSearch);
|