Revision: 6214
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6214&view=rev
Author: manningr
Date: 2011-03-26 21:17:26 +0000 (Sat, 26 Mar 2011)
Log Message:
-----------
Added mocks necessary for further testing of the DB2 plugin classes.
Modified Paths:
--------------
trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/plugin/AbstractSessionPluginTest.java
trunk/sql12/fw/src/test/java/net/sourceforge/squirrel_sql/fw/util/AbstractExceptionFormatterTest.java
trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2JCCExceptionFormatterTest.java
trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2PluginTest.java
Added Paths:
-----------
trunk/sql12/plugins/db2/src/test/java/com/
trunk/sql12/plugins/db2/src/test/java/com/ibm/
trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/
trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/
trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/c/
trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/c/SqlException.java
Modified: trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/plugin/AbstractSessionPluginTest.java
===================================================================
--- trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/plugin/AbstractSessionPluginTest.java 2011-03-26 21:16:39 UTC (rev 6213)
+++ trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/plugin/AbstractSessionPluginTest.java 2011-03-26 21:17:26 UTC (rev 6214)
@@ -21,12 +21,14 @@
import static org.mockito.Mockito.when;
import java.sql.Connection;
+import java.sql.DatabaseMetaData;
import net.sourceforge.squirrel_sql.client.gui.session.SessionInternalFrame;
import net.sourceforge.squirrel_sql.client.gui.session.SessionPanel;
import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI;
import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.sql.IQueryTokenizer;
import net.sourceforge.squirrel_sql.fw.sql.ISQLConnection;
import net.sourceforge.squirrel_sql.fw.sql.ISQLDatabaseMetaData;
@@ -63,6 +65,12 @@
@Mock
protected Connection mockConnection;
+ @Mock
+ protected DatabaseMetaData mockDatabaseMetaData;
+
+ @Mock
+ protected IQueryTokenizer mockQueryTokenizer;
+
@Before
public void setUp() throws Exception
{
@@ -76,11 +84,14 @@
when(mockSession.getSessionInternalFrame()).thenReturn(mockSessionInternalFrame);
when(mockSession.getSessionSheet()).thenReturn(mockSessionPanel);
when(mockSession.getSQLConnection()).thenReturn(mockIsqlConnection);
+ when(mockSession.getQueryTokenizer()).thenReturn(mockQueryTokenizer);
when(mockIsqlConnection.getConnection()).thenReturn(mockConnection);
when(mockSQLDatabaseMetaData.getDatabaseProductName()).thenReturn(getDatabaseProductName());
when(mockSQLDatabaseMetaData.getDatabaseProductVersion()).thenReturn(getDatabaseProductVersion());
+ when(mockSQLDatabaseMetaData.getJDBCMetaData()).thenReturn(mockDatabaseMetaData);
when(mockSessionInternalFrame.getObjectTreeAPI()).thenReturn(mockObjectTreeAPI);
when(mockSessionPanel.getSQLPaneAPI()).thenReturn(mockPanelAPI);
+ when(mockQueryTokenizer.getSQLStatementSeparator()).thenReturn(";");
}
@Test
Modified: trunk/sql12/fw/src/test/java/net/sourceforge/squirrel_sql/fw/util/AbstractExceptionFormatterTest.java
===================================================================
--- trunk/sql12/fw/src/test/java/net/sourceforge/squirrel_sql/fw/util/AbstractExceptionFormatterTest.java 2011-03-26 21:16:39 UTC (rev 6213)
+++ trunk/sql12/fw/src/test/java/net/sourceforge/squirrel_sql/fw/util/AbstractExceptionFormatterTest.java 2011-03-26 21:17:26 UTC (rev 6214)
@@ -31,7 +31,7 @@
public abstract class AbstractExceptionFormatterTest
{
/** The class that will be tested. See getExceptionFormatterToTest. */
- private ExceptionFormatter classUnderTest = null;
+ protected ExceptionFormatter classUnderTest = null;
/**
* Sub-class tests need to implement this and return an instance of ExceptionFormatter to test.
Added: trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/c/SqlException.java
===================================================================
--- trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/c/SqlException.java (rev 0)
+++ trunk/sql12/plugins/db2/src/test/java/com/ibm/db2/jcc/c/SqlException.java 2011-03-26 21:17:26 UTC (rev 6214)
@@ -0,0 +1,59 @@
+package com.ibm.db2.jcc.c;
+
+/*
+ * Copyright (C) 2011 Rob Manning
+ * man...@us...
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+public class SqlException extends Throwable
+{
+
+ /**
+ * serialVersionUID
+ */
+ private static final long serialVersionUID = 1L;
+
+ private String message;
+ private int code;
+ private int state;
+
+
+ public SqlException(String message, int code, int state) {
+ this.code = code;
+ this.message = message;
+ this.state = state;
+ }
+
+ public Sqlca getSqlca() {
+ return new Sqlca();
+ }
+
+ public class Sqlca {
+
+ public String getMessage() {
+ return message;
+ }
+
+ public int getSqlCode() {
+ return code;
+ }
+
+ public int getSqlState() {
+ return state;
+ }
+ }
+}
Modified: trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2JCCExceptionFormatterTest.java
===================================================================
--- trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2JCCExceptionFormatterTest.java 2011-03-26 21:16:39 UTC (rev 6213)
+++ trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2JCCExceptionFormatterTest.java 2011-03-26 21:17:26 UTC (rev 6214)
@@ -1,9 +1,3 @@
-package net.sourceforge.squirrel_sql.plugins.db2;
-
-import net.sourceforge.squirrel_sql.fw.util.AbstractExceptionFormatterTest;
-import net.sourceforge.squirrel_sql.fw.util.ExceptionFormatter;
-
-
/*
* Copyright (C) 2010 Rob Manning
* man...@us...
@@ -23,13 +17,50 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+package net.sourceforge.squirrel_sql.plugins.db2;
+
+import static org.junit.Assert.assertTrue;
+import net.sourceforge.squirrel_sql.fw.util.AbstractExceptionFormatterTest;
+import net.sourceforge.squirrel_sql.fw.util.ExceptionFormatter;
+
+import org.junit.Test;
+
+import com.ibm.db2.jcc.c.SqlException;
+
+
public class DB2JCCExceptionFormatterTest extends AbstractExceptionFormatterTest
{
+ private static final int TEST_CODE = 222;
+ private static final int TEST_STATE = 555;
+ private static final String TEST_MESSAGE = "a Test message";
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.util.AbstractExceptionFormatterTest#getExceptionFormatterToTest()
+ */
@Override
protected ExceptionFormatter getExceptionFormatterToTest()
{
return new DB2JCCExceptionFormatter();
}
+ @Test
+ public void testFormatsJccException() {
+
+ SqlException testException = new SqlException(TEST_MESSAGE, TEST_CODE, TEST_STATE);
+ assertTrue(classUnderTest.formatsException(testException));
+ }
+
+ @Test
+ public void testFormatJccException() throws Exception
+ {
+
+ SqlException testException = new SqlException(TEST_MESSAGE, TEST_CODE, TEST_STATE);
+ String formattedMessage = classUnderTest.format(testException);
+ System.err.println("Formatted message = "+formattedMessage);
+
+ assertTrue(formattedMessage.contains(formattedMessage));
+ assertTrue(formattedMessage.contains(""+TEST_CODE));
+ assertTrue(formattedMessage.contains(""+TEST_STATE));
+ }
}
Modified: trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2PluginTest.java
===================================================================
--- trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2PluginTest.java 2011-03-26 21:16:39 UTC (rev 6213)
+++ trunk/sql12/plugins/db2/src/test/java/net/sourceforge/squirrel_sql/plugins/db2/DB2PluginTest.java 2011-03-26 21:17:26 UTC (rev 6214)
@@ -18,10 +18,18 @@
*/
package net.sourceforge.squirrel_sql.plugins.db2;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.when;
+
+import java.sql.SQLException;
+
import net.sourceforge.squirrel_sql.client.plugin.AbstractSessionPluginTest;
import net.sourceforge.squirrel_sql.client.plugin.DatabaseProductVersionData;
import net.sourceforge.squirrel_sql.client.plugin.IPlugin;
+import net.sourceforge.squirrel_sql.client.plugin.PluginSessionCallback;
+import org.junit.Test;
+
public class DB2PluginTest extends AbstractSessionPluginTest implements DatabaseProductVersionData
{
@@ -43,4 +51,12 @@
return null;
}
+ @Test
+ public void testSessionStarted() throws SQLException
+ {
+ when(mockDatabaseMetaData.getDriverName()).thenReturn(DB2Plugin.JCC_DRIVER_NAME);
+ PluginSessionCallback result = ((DB2Plugin) super.classUnderTest).sessionStarted(mockSession);
+ assertNotNull(result);
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|