You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2011/02/23 21:37:45 UTC

svn commit: r1073933 - /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java

Author: aadamchik
Date: Wed Feb 23 20:37:45 2011
New Revision: 1073933

URL: http://svn.apache.org/viewvc?rev=1073933&view=rev
Log:
tests cleanup

switching to DI

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java?rev=1073933&r1=1073932&r2=1073933&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java Wed Feb 23 20:37:45 2011
@@ -29,36 +29,59 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import javax.sql.DataSource;
+
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.MockOperationObserver;
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.CayenneCase;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
 
 /**
  * Tests BindDirective for passed null parameters and for not passed parameters
  */
-public class BindDirectiveTest extends CayenneCase {
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class BindDirectiveTest extends ServerCase {
+
+    @Inject
+    private DataSource dataSource;
+
+    @Inject
+    private DbAdapter adapter;
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
 
     @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        deleteTestData();
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("PAINTING_INFO");
+        dbHelper.deleteAll("PAINTING");
+        dbHelper.deleteAll("ARTIST_EXHIBIT");
+        dbHelper.deleteAll("ARTIST_GROUP");
+        dbHelper.deleteAll("ARTIST");
     }
 
     public void testBindTimestamp() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
         parameters.put("name", "ArtistWithDOB");
         Calendar cal = Calendar.getInstance();
         cal.clear();
         cal.set(2010, 2, 8);
         parameters.put("dob", new Timestamp(cal.getTime().getTime()));
-        
-        //without JDBC usage
-        Map row = performInsertForParameters(parameters, false, 1);
+
+        // without JDBC usage
+        Map<String, ?> row = performInsertForParameters(parameters, false, 1);
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         assertEquals(cal.getTime(), row.get("DATE_OF_BIRTH"));
         assertNotNull(row.get("DATE_OF_BIRTH"));
@@ -66,16 +89,16 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindSQLDate() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
         parameters.put("name", "ArtistWithDOB");
         Calendar cal = Calendar.getInstance();
         cal.clear();
         cal.set(2010, 2, 8);
         parameters.put("dob", new java.sql.Date(cal.getTime().getTime()));
-        
-        //without JDBC usage
-        Map row = performInsertForParameters(parameters, false, 1);
+
+        // without JDBC usage
+        Map<String, ?> row = performInsertForParameters(parameters, false, 1);
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
         assertNotNull(row.get("DATE_OF_BIRTH"));
@@ -83,16 +106,16 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindUtilDate() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
         parameters.put("name", "ArtistWithDOB");
         Calendar cal = Calendar.getInstance();
         cal.clear();
         cal.set(2010, 2, 8);
         parameters.put("dob", cal.getTime());
-        
-        //without JDBC usage
-        Map row = performInsertForParameters(parameters, false, 1);
+
+        // without JDBC usage
+        Map<String, ?> row = performInsertForParameters(parameters, false, 1);
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
         assertNotNull(row.get("DATE_OF_BIRTH"));
@@ -100,10 +123,10 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindingForCollection() throws Exception {
+        
         // insert 3 artists
-        Map parameters;
         for (int i = 1; i < 4; i++) {
-            parameters = new HashMap();
+            Map<String, Object> parameters = new HashMap<String, Object>();
             parameters.put("id", new Long(i));
             parameters.put("name", "Artist" + i);
             performInsertForParameters(parameters, true, i);
@@ -117,19 +140,19 @@ public class BindDirectiveTest extends C
         SQLTemplate query = new SQLTemplate(Artist.class, sql);
         query.setColumnNamesCapitalization(CapsStrategy.UPPER);
         query.setParameters(Collections.singletonMap("ARTISTNAMES", artistNames));
-        List<DataRow> result = createDataContext().performQuery(query);
+        List<DataRow> result = context.performQuery(query);
         assertEquals(2, result.size());
     }
 
     public void testBindForPassedNullParam() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
         parameters.put("name", "ArtistWithoutDOB");
         // passing null in parameter
         parameters.put("dob", null);
 
         // without JDBC usage
-        Map row = performInsertForParameters(parameters, false, 1);
+        Map<String, ?> row = performInsertForParameters(parameters, false, 1);
         assertEquals(parameters.get("id"), row.get("ARTIST_ID"));
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
@@ -137,14 +160,14 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindWithJDBCForPassedNullParam() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
         parameters.put("name", "ArtistWithoutDOB");
         // passing null in parameter
         parameters.put("dob", null);
 
         // use JDBC
-        Map row = performInsertForParameters(parameters, true, 1);
+        Map<String, ?> row = performInsertForParameters(parameters, true, 1);
         assertEquals(parameters.get("id"), row.get("ARTIST_ID"));
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
@@ -152,13 +175,13 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindForNotPassedParam() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
         parameters.put("name", "ArtistWithoutDOB");
         // not passing parameter parameters.put("dob", not passed!);
 
         // without JDBC usage
-        Map row = performInsertForParameters(parameters, false, 1);
+        Map<String, ?> row = performInsertForParameters(parameters, false, 1);
         assertEquals(parameters.get("id"), row.get("ARTIST_ID"));
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         // parameter should be passed as null
@@ -166,13 +189,13 @@ public class BindDirectiveTest extends C
     }
 
     public void testBindWithJDBCForNotPassedParam() throws Exception {
-        Map parameters = new HashMap();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
         parameters.put("name", "ArtistWithoutDOB");
         // not passing parameter parameters.put("dob", not passed!);
 
         // use JDBC
-        Map row = performInsertForParameters(parameters, true, 1);
+        Map<String, ?> row = performInsertForParameters(parameters, true, 1);
         assertEquals(parameters.get("id"), row.get("ARTIST_ID"));
         assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
         // parameter should be passed as null
@@ -184,10 +207,11 @@ public class BindDirectiveTest extends C
      * 
      * @return inserted row
      */
-    private Map performInsertForParameters(
-            Map parameters,
+    private Map<String, ?> performInsertForParameters(
+            Map<String, Object> parameters,
             boolean useJDBCType,
             int expectedRowCount) throws Exception {
+
         String templateString;
         if (useJDBCType) {
             templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) "
@@ -201,13 +225,10 @@ public class BindDirectiveTest extends C
 
         template.setParameters(parameters);
 
-        SQLTemplateAction action = new SQLTemplateAction(
-                template,
-                getAccessStackAdapter().getAdapter(),
-                getDomain().getEntityResolver());
-        assertSame(getAccessStackAdapter().getAdapter(), action.getAdapter());
+        SQLTemplateAction action = new SQLTemplateAction(template, adapter, context
+                .getEntityResolver());
 
-        Connection c = getConnection();
+        Connection c = dataSource.getConnection();
         try {
             MockOperationObserver observer = new MockOperationObserver();
             action.performAction(c, observer);
@@ -221,13 +242,11 @@ public class BindDirectiveTest extends C
             c.close();
         }
 
-        MockOperationObserver observer = new MockOperationObserver();
         SelectQuery query = new SelectQuery(Artist.class);
-        getDomain().performQueries(Collections.singletonList(query), observer);
+        query.setFetchingDataRows(true);
 
-        List data = observer.rowsForQuery(query);
+        List<DataRow> data = context.performQuery(query);
         assertEquals(expectedRowCount, data.size());
-        Map row = (Map) data.get(0);
-        return row;
+        return data.get(0);
     }
 }