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 2015/05/03 13:10:09 UTC

cayenne git commit: rewriting the unit test to avoid manual connection management

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 <aa...@apache.org>
Authored: Sun May 3 07:10:01 2015 -0400
Committer: aadamchik <aa...@apache.org>
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;
-	}
 }