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 2006/06/21 12:27:58 UTC

svn commit: r415955 - /incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java

Author: aadamchik
Date: Wed Jun 21 03:27:57 2006
New Revision: 415955

URL: http://svn.apache.org/viewvc?rev=415955&view=rev
Log:
CAY-575 - more unit tests

Modified:
    incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java

Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java?rev=415955&r1=415954&r2=415955&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/CayenneContextClientChannelEventsTst.java Wed Jun 21 03:27:57 2006
@@ -186,4 +186,45 @@
         assertFalse(c1.internalGraphManager().hasChanges());
         assertFalse(c2.internalGraphManager().hasChanges());
     }
+
+    public void testSyncToManyRelationship1() throws Exception {
+        // this resets snapshot cache...
+        createDataContext();
+
+        deleteTestData();
+        createTestData("testSyncToManyRelationship");
+
+        DataChannel serverChannel = new ClientServerChannel(getDomain(), false);
+        ClientChannel clientChannel = new ClientChannel(
+                new LocalConnection(serverChannel),
+                true);
+
+        CayenneContext c1 = new CayenneContext(clientChannel);
+        CayenneContext c2 = new CayenneContext(clientChannel);
+
+        ClientMtTable1 o1 = (ClientMtTable1) DataObjectUtils.objectForQuery(
+                c1,
+                new ObjectIdQuery(new ObjectId("MtTable1", "TABLE1_ID", 1)));
+
+        // do not resolve objects in question in the second context and see if the merge
+        // causes any issues...
+
+        assertEquals(1, o1.getTable2Array().size());
+
+        ClientMtTable2 o1r = (ClientMtTable2) c1.newObject(ClientMtTable2.class);
+        o1r.setGlobalAttribute("X");
+        o1.addToTable2Array(o1r);
+
+        c1.commitChanges();
+
+        assertEquals(2, o1.getTable2Array().size());
+
+        assertFalse(c1.internalGraphManager().hasChanges());
+        assertFalse(c2.internalGraphManager().hasChanges());
+
+        ClientMtTable1 o2 = (ClientMtTable1) DataObjectUtils.objectForQuery(
+                c2,
+                new ObjectIdQuery(new ObjectId("MtTable1", "TABLE1_ID", 1)));
+        assertEquals(2, o2.getTable2Array().size());
+    }
 }