[jboss-svn-commits] JBL Code SVN: r35635 - labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 21 07:11:22 EDT 2010
Author: velias
Date: 2010-10-21 07:11:21 -0400 (Thu, 21 Oct 2010)
New Revision: 35635
Modified:
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSourceTest.java
Log:
SBSValueSource unit tests done
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSourceTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSourceTest.java 2010-10-21 08:51:55 UTC (rev 35634)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSourceTest.java 2010-10-21 11:11:21 UTC (rev 35635)
@@ -1,18 +1,21 @@
package org.jboss.community.sbs.plugin.reports.monthly.valuesource;
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
-import javax.sql.DataSource;
-
import org.jboss.community.sbs.plugin.reports.monthly.JiveSystemConfigProvider;
import org.junit.Assert;
import org.junit.Test;
+import com.mockrunner.jdbc.ParameterSets;
+import com.mockrunner.jdbc.PreparedStatementResultSetHandler;
+import com.mockrunner.mock.jdbc.MockConnection;
+import com.mockrunner.mock.jdbc.MockDataSource;
+import com.mockrunner.mock.jdbc.MockPreparedStatement;
+import com.mockrunner.mock.jdbc.MockResultSet;
+
/**
* Unit test for {@link SBSValueSource}.
*
@@ -26,9 +29,10 @@
Date to = new Date();
Date rhts = new Date();
- SBSValueSource tested = new SBSValueSource(mockDataSource, new JiveSystemConfigProvider(), from, to, rhts);
+ MockDataSource ds = new MockDataSource();
+ SBSValueSource tested = new SBSValueSource(ds, new JiveSystemConfigProvider(), from, to, rhts);
- Assert.assertTrue(tested.dataSource == mockDataSource);
+ Assert.assertTrue(tested.dataSource == ds);
Assert.assertNotNull(tested.sysConfig);
Assert.assertTrue(tested.dateFrom == from);
Assert.assertTrue(tested.dateTo == to);
@@ -98,6 +102,53 @@
assertEquals(val, getMockVal(id));
}
+ @SuppressWarnings("unchecked")
+ @Test
+ public void loadValMap() throws Exception {
+
+ Date from = new Date();
+ Date to = new Date(System.currentTimeMillis() + 10000);
+ Date rhts = new Date(System.currentTimeMillis() + 100000);
+
+ MockDataSource mockDataSource = new MockDataSource();
+ MockConnection mockConnection = new MockConnection();
+ mockDataSource.setupConnection(mockConnection);
+
+ PreparedStatementResultSetHandler rsh = mockConnection.getPreparedStatementResultSetHandler();
+ MockResultSet result = rsh.createResultSet();
+ // prepare result set data - spaceId, value
+ result.addRow(new Long[] { 1L, 11L });
+ result.addRow(new Long[] { 2L, 22L });
+ rsh.prepareGlobalResultSet(result);
+
+ SBSValueSource tested = new SBSValueSource(mockDataSource, new JiveSystemConfigProvider(), from, to, rhts);
+
+ Map<Long, Long> val = tested.loadValMap(SBSValueType.FORUM_ANSWER_CORRECT_CM);
+
+ // test return values
+ Assert.assertEquals(new Long(11), val.get(1L));
+ Assert.assertEquals(new Long(22), val.get(2L));
+ Assert.assertNull(val.get(10L));
+
+ // test correct statement is called
+ List<String> executed = rsh.getExecutedStatements();
+ Assert.assertEquals(1, executed.size());
+ Assert.assertEquals(tested.sqlStatements.get(SBSValueType.FORUM_ANSWER_CORRECT_CM), executed.get(0));
+
+ // test parameters are correctly propagated to PreparedStatement
+ Map params = ((ParameterSets) rsh.getExecutedStatementParameter().get(executed.get(0))).getParameterSet(0);
+ Assert.assertEquals(rhts.getTime(), params.get(new Integer(1)));
+ Assert.assertEquals(from.getTime(), params.get(new Integer(2)));
+ Assert.assertEquals(to.getTime(), params.get(new Integer(3)));
+
+ // test DB stuff closed correctly
+ Assert.assertTrue(mockConnection.isClosed());
+ Assert.assertTrue(((MockPreparedStatement) ((List) rsh.getPreparedStatementMap().get(executed.get(0))).get(0))
+ .isClosed());
+ Assert.assertTrue(((MockResultSet) rsh.getReturnedResultSets().get(0)).isClosed());
+
+ }
+
protected static Long getMockVal(SBSValueKey id) {
return getMockVal(id.getValueType(), id.getSpaceId());
}
@@ -136,45 +187,4 @@
}
- private DataSource mockDataSource = new DataSource() {
-
- @Override
- public <T> T unwrap(Class<T> iface) throws SQLException {
- return null;
- }
-
- @Override
- public boolean isWrapperFor(Class<?> iface) throws SQLException {
- return false;
- }
-
- @Override
- public void setLoginTimeout(int seconds) throws SQLException {
- }
-
- @Override
- public void setLogWriter(PrintWriter out) throws SQLException {
- }
-
- @Override
- public int getLoginTimeout() throws SQLException {
- return 0;
- }
-
- @Override
- public PrintWriter getLogWriter() throws SQLException {
- return null;
- }
-
- @Override
- public Connection getConnection(String username, String password) throws SQLException {
- return null;
- }
-
- @Override
- public Connection getConnection() throws SQLException {
- return null;
- }
- };
-
}
More information about the jboss-svn-commits
mailing list