Repository: cayenne
Updated Branches:
  refs/heads/master 57a04d207 -> 69be1dc00


rewriting the unit test to avoid manual connection management


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/69be1dc0
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/69be1dc0
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/69be1dc0

Branch: refs/heads/master
Commit: 69be1dc00d619a715a96b528769fb7e3d555a285
Parents: 57a04d2
Author: aadamchik <[email protected]>
Authored: Sun May 3 07:10:01 2015 -0400
Committer: aadamchik <[email protected]>
Committed: Sun May 3 07:10:01 2015 -0400

----------------------------------------------------------------------
 .../cayenne/velocity/ResultDirectiveIT.java     | 84 +++++---------------
 1 file changed, 22 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/69be1dc0/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
index d91bcfd..ceca0de 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
@@ -19,29 +19,26 @@
 package org.apache.cayenne.velocity;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 
-import java.sql.Connection;
+import java.sql.SQLException;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.MockOperationObserver;
-import org.apache.cayenne.access.jdbc.SQLTemplateAction;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.dba.JdbcAdapter;
 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.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.CayenneProjects;
 import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Before;
 import org.junit.Test;
 
 /**
@@ -61,47 +58,48 @@ public class ResultDirectiveIT extends ServerCase {
        private DataNode node;
 
        @Inject
-       private ServerCaseDataSourceFactory dataSourceFactory;
+       protected DBHelper dbHelper;
+
+       @Before
+       public void before() throws SQLException {
+               new TableHelper(dbHelper, "ARTIST").setColumns("ARTIST_ID", 
"ARTIST_NAME").insert(1l, "ArtistToTestResult");
+       }
 
        @Test
        public void testWithoutResultDirective() throws Exception {
                String sql = "SELECT ARTIST_ID, ARTIST_NAME FROM ARTIST";
-               Map<String, Object> artist = insertArtist();
                Map<String, Object> selectResult = selectForQuery(sql);
 
-               assertEquals(artist.get("ARTIST_ID"), 
selectResult.get("ARTIST_ID"));
-               assertEquals(artist.get("ARTIST_NAME"), 
selectResult.get("ARTIST_NAME"));
+               assertEquals(1l, selectResult.get("ARTIST_ID"));
+               assertEquals("ArtistToTestResult", 
selectResult.get("ARTIST_NAME"));
        }
 
        @Test
        public void testWithOnlyResultDirective() throws Exception {
-               String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer')," 
+ " #result('ARTIST_NAME' 'java.lang.String')"
+               String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer'), 
#result('ARTIST_NAME' 'java.lang.String')"
                                + " FROM ARTIST";
-               Map<String, Object> artist = insertArtist();
                Map<String, Object> selectResult = selectForQuery(sql);
 
-               assertEquals(artist.get("ARTIST_ID"), 
selectResult.get("ARTIST_ID"));
-               assertEquals(artist.get("ARTIST_NAME"), 
selectResult.get("ARTIST_NAME").toString().trim());
+               assertEquals(1l, selectResult.get("ARTIST_ID"));
+               assertEquals("ArtistToTestResult", 
selectResult.get("ARTIST_NAME").toString().trim());
        }
 
        @Test
        public void testWithMixedDirectiveUse1() throws Exception {
-               String sql = "SELECT ARTIST_ID," + " #result('ARTIST_NAME' 
'java.lang.String')" + " FROM ARTIST";
-               Map<String, Object> artist = insertArtist();
+               String sql = "SELECT ARTIST_ID, #result('ARTIST_NAME' 
'java.lang.String') FROM ARTIST";
                Map<String, Object> selectResult = selectForQuery(sql);
 
-               assertEquals(artist.get("ARTIST_ID"), 
selectResult.get("ARTIST_ID"));
-               assertEquals(artist.get("ARTIST_NAME"), 
selectResult.get("ARTIST_NAME").toString().trim());
+               assertEquals(1l, selectResult.get("ARTIST_ID"));
+               assertEquals("ArtistToTestResult", 
selectResult.get("ARTIST_NAME").toString().trim());
        }
 
        @Test
        public void testWithMixedDirectiveUse2() throws Exception {
-               String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer')," 
+ " ARTIST_NAME " + " FROM ARTIST";
-               Map<String, Object> artist = insertArtist();
+               String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer'), 
ARTIST_NAME FROM ARTIST";
                Map<String, Object> selectResult = selectForQuery(sql);
 
-               assertEquals(artist.get("ARTIST_ID"), 
selectResult.get("ARTIST_ID"));
-               assertEquals(artist.get("ARTIST_NAME"), 
selectResult.get("ARTIST_NAME"));
+               assertEquals(1l, selectResult.get("ARTIST_ID"));
+               assertEquals("ArtistToTestResult", 
selectResult.get("ARTIST_NAME"));
        }
 
        private Map<String, Object> selectForQuery(String sql) {
@@ -110,49 +108,11 @@ public class ResultDirectiveIT extends ServerCase {
                MockOperationObserver observer = new MockOperationObserver();
                
runtime.getDataDomain().performQueries(Collections.singletonList(template), 
observer);
 
+               @SuppressWarnings("unchecked")
                List<Map<String, Object>> data = 
observer.rowsForQuery(template);
                assertEquals(1, data.size());
                Map<String, Object> row = data.get(0);
                return row;
        }
 
-       /**
-        * Inserts one Artist
-        */
-       private Map<String, Object> insertArtist() throws Exception {
-               Map<String, Object> parameters = new HashMap<String, Object>();
-               parameters.put("id", 1);
-               parameters.put("name", "ArtistToTestResult");
-               String templateString = "INSERT INTO ARTIST (ARTIST_ID, 
ARTIST_NAME, DATE_OF_BIRTH) "
-                               + "VALUES (#bind($id), #bind($name), 
#bind($dob))";
-
-               SQLTemplate template = new SQLTemplate(Object.class, 
templateString);
-
-               template.setParams(parameters);
-
-               SQLTemplateAction action = new SQLTemplateAction(template, 
node);
-
-               Connection c = 
dataSourceFactory.getSharedDataSource().getConnection();
-               try {
-                       MockOperationObserver observer = new 
MockOperationObserver();
-                       action.performAction(c, observer);
-                       c.commit();
-
-                       int[] batches = observer.countsForQuery(template);
-                       assertNotNull(batches);
-                       assertEquals(1, batches.length);
-                       assertEquals(1, batches[0]);
-               } finally {
-                       c.close();
-               }
-
-               MockOperationObserver observer = new MockOperationObserver();
-               SelectQuery query = new SelectQuery(Artist.class);
-               
runtime.getDataDomain().performQueries(Collections.singletonList(query), 
observer);
-
-               List<?> data = observer.rowsForQuery(query);
-               assertEquals(1, data.size());
-               DataRow row = (DataRow) data.get(0);
-               return row;
-       }
 }

Reply via email to