[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