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/04/24 13:32:20 UTC

svn commit: r1096312 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test: java/org/apache/cayenne/access/ resources/dml/

Author: aadamchik
Date: Sun Apr 24 11:32:19 2011
New Revision: 1096312

URL: http://svn.apache.org/viewvc?rev=1096312&view=rev
Log:
CAY-1560 CayenneCase tests conversion

    patches by Dzmitry Kazimirchyk:
DataContextObjectTrackingTest

Removed:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/dml/access.DataContextObjectTrackingTest.xml
Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingTest.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/FlattenedPrefetchTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingTest.java?rev=1096312&r1=1096311&r2=1096312&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingTest.java Sun Apr 24 11:32:19 2011
@@ -25,23 +25,74 @@ import java.util.Date;
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.DataObject;
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.Persistent;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
+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.CayenneCase;
+import org.apache.cayenne.unit.di.DataChannelInterceptor;
+import org.apache.cayenne.unit.di.UnitTestClosure;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
 
 /**
  * Tests objects registration in DataContext, transferring objects between contexts and
  * such.
- *
  */
-public class DataContextObjectTrackingTest extends CayenneCase {
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class DataContextObjectTrackingTest extends ServerCase {
 
-    public void testUnregisterObject() {
+    @Inject
+    protected DataChannelInterceptor queryInterceptor;
+
+    @Inject
+    protected DataContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    protected ServerRuntime runtime;
+
+    protected TableHelper tArtist;
+    protected TableHelper tPainting;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("PAINTING_INFO");
+        dbHelper.deleteAll("PAINTING");
+        dbHelper.deleteAll("ARTIST_EXHIBIT");
+        dbHelper.deleteAll("ARTIST");
+
+        tArtist = new TableHelper(dbHelper, "ARTIST");
+        tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
+
+        tPainting = new TableHelper(dbHelper, "PAINTING");
+        tPainting.setColumns(
+                "PAINTING_ID",
+                "PAINTING_TITLE",
+                "ARTIST_ID",
+                "ESTIMATED_PRICE");
+    }
 
-        DataContext context = createDataContext();
+    protected void createArtistsDataSet() throws Exception {
+        tArtist.insert(33001, "artist1");
+        tArtist.insert(33002, "artist2");
+        tArtist.insert(33003, "artist3");
+        tArtist.insert(33004, "artist4");
+    }
+
+    protected void createMixedDataSet() throws Exception {
+        tArtist.insert(33003, "artist3");
+        tPainting.insert(33003, "P_artist3", 33003, 3000);
+    }
+
+    public void testUnregisterObject() {
 
         DataRow row = new DataRow(10);
         row.put("ARTIST_ID", new Integer(1));
@@ -64,7 +115,6 @@ public class DataContextObjectTrackingTe
     }
 
     public void testInvalidateObject() {
-        DataContext context = createDataContext();
 
         DataRow row = new DataRow(10);
         row.put("ARTIST_ID", new Integer(1));
@@ -87,21 +137,20 @@ public class DataContextObjectTrackingTe
     }
 
     public void testLocalObjectPeerContextMap() throws Exception {
-        deleteTestData();
-        createTestData("testArtists");
+        createArtistsDataSet();
 
         // must create both contexts before running the queries, as each call to
         // 'createDataContext' clears the cache.
-        DataContext context = createDataContext();
-        DataContext peerContext = createDataContext();
+
+        final ObjectContext peerContext = runtime.getDataDomain().createDataContext();
 
         Persistent _new = context.newObject(Artist.class);
 
-        Persistent hollow = context.localObject(new ObjectId(
+        final Persistent hollow = context.localObject(new ObjectId(
                 "Artist",
                 Artist.ARTIST_ID_PK_COLUMN,
                 33001), null);
-        DataObject committed = (DataObject) Cayenne.objectForQuery(
+        final DataObject committed = (DataObject) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(new ObjectId(
                         "Artist",
@@ -109,14 +158,14 @@ public class DataContextObjectTrackingTe
                         33002)));
 
         int modifiedId = 33003;
-        Artist modified = (Artist) Cayenne.objectForQuery(
+        final Artist modified = (Artist) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(new ObjectId(
                         "Artist",
                         Artist.ARTIST_ID_PK_COLUMN,
                         modifiedId)));
         modified.setArtistName("MODDED");
-        DataObject deleted = (DataObject) Cayenne.objectForQuery(
+        final DataObject deleted = (DataObject) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(new ObjectId(
                         "Artist",
@@ -145,60 +194,60 @@ public class DataContextObjectTrackingTe
         // // expected
         // }
 
-        blockQueries();
+        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-        try {
+            public void execute() {
 
-            Persistent hollowPeer = peerContext.localObject(hollow.getObjectId(), null);
-            assertEquals(PersistenceState.HOLLOW, hollowPeer.getPersistenceState());
-            assertEquals(hollow.getObjectId(), hollowPeer.getObjectId());
-            assertSame(peerContext, hollowPeer.getObjectContext());
-            assertSame(context, hollow.getObjectContext());
-
-            Persistent committedPeer = peerContext.localObject(
-                    committed.getObjectId(),
-                    null);
-            assertEquals(PersistenceState.HOLLOW, committedPeer.getPersistenceState());
-            assertEquals(committed.getObjectId(), committedPeer.getObjectId());
-            assertSame(peerContext, committedPeer.getObjectContext());
-            assertSame(context, committed.getObjectContext());
-
-            Persistent modifiedPeer = peerContext.localObject(
-                    modified.getObjectId(),
-                    null);
-            assertEquals(PersistenceState.HOLLOW, modifiedPeer.getPersistenceState());
-            assertEquals(modified.getObjectId(), modifiedPeer.getObjectId());
-            assertSame(peerContext, modifiedPeer.getObjectContext());
-            assertSame(context, modified.getObjectContext());
-
-            Persistent deletedPeer = peerContext.localObject(deleted.getObjectId(), null);
-            assertEquals(PersistenceState.HOLLOW, deletedPeer.getPersistenceState());
-            assertEquals(deleted.getObjectId(), deletedPeer.getObjectId());
-            assertSame(peerContext, deletedPeer.getObjectContext());
-            assertSame(context, deleted.getObjectContext());
-        }
-        finally {
-            unblockQueries();
-        }
+                Persistent hollowPeer = peerContext.localObject(
+                        hollow.getObjectId(),
+                        null);
+                assertEquals(PersistenceState.HOLLOW, hollowPeer.getPersistenceState());
+                assertEquals(hollow.getObjectId(), hollowPeer.getObjectId());
+                assertSame(peerContext, hollowPeer.getObjectContext());
+                assertSame(context, hollow.getObjectContext());
+
+                Persistent committedPeer = peerContext.localObject(committed
+                        .getObjectId(), null);
+                assertEquals(PersistenceState.HOLLOW, committedPeer.getPersistenceState());
+                assertEquals(committed.getObjectId(), committedPeer.getObjectId());
+                assertSame(peerContext, committedPeer.getObjectContext());
+                assertSame(context, committed.getObjectContext());
+
+                Persistent modifiedPeer = peerContext.localObject(
+                        modified.getObjectId(),
+                        null);
+                assertEquals(PersistenceState.HOLLOW, modifiedPeer.getPersistenceState());
+                assertEquals(modified.getObjectId(), modifiedPeer.getObjectId());
+                assertSame(peerContext, modifiedPeer.getObjectContext());
+                assertSame(context, modified.getObjectContext());
+
+                Persistent deletedPeer = peerContext.localObject(
+                        deleted.getObjectId(),
+                        null);
+                assertEquals(PersistenceState.HOLLOW, deletedPeer.getPersistenceState());
+                assertEquals(deleted.getObjectId(), deletedPeer.getObjectId());
+                assertSame(peerContext, deletedPeer.getObjectContext());
+                assertSame(context, deleted.getObjectContext());
+            }
+        });
     }
 
     public void testLocalObjectPeerContextNoOverride() throws Exception {
-        deleteTestData();
-        createTestData("testArtists");
+        createArtistsDataSet();
 
         // must create both contexts before running the queries, as each call to
         // 'createDataContext' clears the cache.
-        DataContext context = createDataContext();
-        DataContext peerContext = createDataContext();
+
+        final ObjectContext peerContext = runtime.getDataDomain().createDataContext();
 
         int modifiedId = 33003;
-        Artist modified = (Artist) Cayenne.objectForQuery(
+        final Artist modified = (Artist) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(new ObjectId(
                         "Artist",
                         Artist.ARTIST_ID_PK_COLUMN,
                         modifiedId)));
-        Artist peerModified = (Artist) Cayenne.objectForQuery(
+        final Artist peerModified = (Artist) Cayenne.objectForQuery(
                 peerContext,
                 new ObjectIdQuery(new ObjectId(
                         "Artist",
@@ -211,21 +260,20 @@ public class DataContextObjectTrackingTe
         assertEquals(PersistenceState.MODIFIED, modified.getPersistenceState());
         assertEquals(PersistenceState.MODIFIED, peerModified.getPersistenceState());
 
-        blockQueries();
+        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-        try {
+            public void execute() {
 
-            Persistent peerModified2 = peerContext.localObject(
-                    modified.getObjectId(),
-                    null);
-
-            assertSame(peerModified, peerModified2);
-            assertEquals(PersistenceState.MODIFIED, peerModified2.getPersistenceState());
-            assertEquals("M2", peerModified.getArtistName());
-            assertEquals("M1", modified.getArtistName());
-        }
-        finally {
-            unblockQueries();
-        }
+                Persistent peerModified2 = peerContext.localObject(
+                        modified.getObjectId(),
+                        null);
+
+                assertSame(peerModified, peerModified2);
+                assertEquals(PersistenceState.MODIFIED, peerModified2
+                        .getPersistenceState());
+                assertEquals("M2", peerModified.getArtistName());
+                assertEquals("M1", modified.getArtistName());
+            }
+        });
     }
 }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/FlattenedPrefetchTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/FlattenedPrefetchTest.java?rev=1096312&r1=1096311&r2=1096312&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/FlattenedPrefetchTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/FlattenedPrefetchTest.java Sun Apr 24 11:32:19 2011
@@ -39,8 +39,6 @@ import org.apache.cayenne.unit.di.UnitTe
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 
-/**
- */
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class FlattenedPrefetchTest extends ServerCase {