Revision: 6625
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6625&view=rev
Author: umlawren
Date: 2012-05-16 16:34:25 +0000 (Wed, 16 May 2012)
Log Message:
-----------
Added tests for MultiSource Plugin.
Modified Paths:
--------------
trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiExportAction.java
trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePlugin.java
trunk/sql12/plugins/multisource/src/main/resources/doc/unityjdbc.jar
Added Paths:
-----------
trunk/sql12/plugins/multisource/src/test/
trunk/sql12/plugins/multisource/src/test/java/
trunk/sql12/plugins/multisource/src/test/java/net/
trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/
trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/
trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/
trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/multisource/
trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePluginTest.java
Modified: trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiExportAction.java
===================================================================
--- trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiExportAction.java 2012-05-16 05:03:44 UTC (rev 6624)
+++ trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiExportAction.java 2012-05-16 16:34:25 UTC (rev 6625)
@@ -32,7 +32,7 @@
chooser.setDialogTitle("Select location to save virtualization configuration file");
int returnVal = chooser.showSaveDialog(_session.getApplication().getMainFrame());
if (returnVal == JFileChooser.APPROVE_OPTION) {
- String sourcesFileName = chooser.getSelectedFile().getName();
+ String sourcesFileName = chooser.getSelectedFile().getPath();
MultiSourcePlugin.export(sourcesFileName, _session);
}
} catch (Exception e) {
Modified: trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePlugin.java
===================================================================
--- trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePlugin.java 2012-05-16 05:03:44 UTC (rev 6624)
+++ trunk/sql12/plugins/multisource/src/main/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePlugin.java 2012-05-16 16:34:25 UTC (rev 6625)
@@ -156,7 +156,8 @@
// Determine if this is a Unity session.
try
{
- dbName = session.getMetaData().getDatabaseProductName().toLowerCase();
+ if (session != null)
+ dbName = session.getMetaData().getDatabaseProductName().toLowerCase();
}
catch (SQLException e) {}
@@ -335,18 +336,23 @@
}
/**
- * Saves the virtualization configuration file to disk in the plugin's user directory.
+ * Saves the virtualization configuration file to disk in a given file location.
* @param sourcesFileName
* @param session
*/
public static void export(String sourcesFileName, ISession session) {
File f = new File(sourcesFileName);
- String path = f.getParent() + File.separator;
- // Make sure directory exists
- if (!f.getParentFile().exists()) {
- f.getParentFile().mkdir();
+
+ String path="";
+ if (f.getParent() != null)
+ { path = f.getParent() + File.separator;
+
+ // Make sure directory exists
+ if (!f.getParentFile().exists()) {
+ f.getParentFile().mkdir();
+ }
}
-
+
sourcesFileName = f.getName();
String sourcesNoExt = sourcesFileName;
int idx = sourcesFileName.indexOf(".xml");
@@ -354,7 +360,7 @@
sourcesNoExt = sourcesFileName.substring(0, sourcesFileName.length() - 4);
Object schema = MultiSourcePlugin.getSchema(session.getSQLConnection().getConnection()); // Retrieve schema
-
+
try {
// Each source schema file is prefixed with sources file name (no extension) plus source name.
// Export schema files of each source first as each file location is needed in the sources file listing all sources.
Modified: trunk/sql12/plugins/multisource/src/main/resources/doc/unityjdbc.jar
===================================================================
(Binary files differ)
Added: trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePluginTest.java
===================================================================
--- trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePluginTest.java (rev 0)
+++ trunk/sql12/plugins/multisource/src/test/java/net/sourceforge/squirrel_sql/plugins/multisource/MultiSourcePluginTest.java 2012-05-16 16:34:25 UTC (rev 6625)
@@ -0,0 +1,69 @@
+package net.sourceforge.squirrel_sql.plugins.multisource;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.when;
+import net.sourceforge.squirrel_sql.client.plugin.AbstractSessionPluginTest;
+import net.sourceforge.squirrel_sql.client.plugin.IPlugin;
+
+import org.junit.Test;
+
+/**
+ * This test is for MultiSource Plugin.
+ */
+public class MultiSourcePluginTest extends AbstractSessionPluginTest
+{
+ @Override
+ protected IPlugin getPluginToTest() throws Exception
+ {
+ return new MultiSourcePlugin();
+ }
+
+ /**
+ * Return the database name of sessions this plugin is interested in.
+ */
+ @Override
+ protected String getDatabaseProductName()
+ {
+ return "UnityJDBC";
+ }
+
+ /**
+ * No version is required.
+ */
+ @Override
+ protected String getDatabaseProductVersion()
+ {
+ return null;
+ }
+
+ @Test
+ public void testSessionStarted() throws Exception
+ {
+ classUnderTest.initialize();
+ ((MultiSourcePlugin) classUnderTest).sessionStarted(mockSession);
+ }
+
+ @Test
+ public void testSessionStartedNullApplication() throws Exception
+ {
+ try
+ {
+ when(mockSession.getApplication()).thenReturn(null);
+ classUnderTest.initialize();
+ ((MultiSourcePlugin) classUnderTest).sessionStarted(mockSession);
+ fail("Exception to get an exception for null IApplication returned from Session.getApplication");
+ }
+ catch (Exception e)
+ {
+ // This is expected.
+ }
+ }
+
+ @Test
+ public void testGetGlobalPreferencePanels()
+ {
+ assertNotNull(classUnderTest.getGlobalPreferencePanels());
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|