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/08/07 03:10:07 UTC

svn commit: r429225 - /incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java

Author: aadamchik
Date: Sun Aug  6 18:10:07 2006
New Revision: 429225

URL: http://svn.apache.org/viewvc?rev=429225&view=rev
Log:
testing many-to-many behavior in multiple contexts

Modified:
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java?rev=429225&r1=429224&r2=429225&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsTst.java Sun Aug  6 18:10:07 2006
@@ -232,4 +232,34 @@
         assertFalse(c1.internalGraphManager().hasChanges());
         assertFalse(c2.internalGraphManager().hasChanges());
     }
+
+    public void testSyncManyToManyRelationship1() throws Exception {
+        // this resets snapshot cache...
+        createDataContext();
+
+        deleteTestData();
+
+        DataChannel serverChannel = new ClientServerChannel(getDomain(), false);
+        ClientChannel clientChannel = new ClientChannel(
+                new LocalConnection(serverChannel),
+                true);
+
+        CayenneContext c1 = new CayenneContext(clientChannel);
+        CayenneContext c2 = new CayenneContext(clientChannel);
+
+        ClientMtTable4 o1 = (ClientMtTable4) c1.newObject(ClientMtTable4.class);
+        ClientMtTable5 o1r = (ClientMtTable5) c1.newObject(ClientMtTable5.class);
+        c1.commitChanges();
+
+        ClientMtTable4 o2 = (ClientMtTable4) c2.localObject(o1.getObjectId(), null);
+        ClientMtTable5 o2r = (ClientMtTable5) c2.localObject(o1r.getObjectId(), null);
+
+        o2.addToTable5s(o2r);
+        c2.commitChanges();
+
+        assertEquals(1, o1.getTable5s().size());
+        assertEquals(1, o2.getTable5s().size());
+        assertFalse(c1.internalGraphManager().hasChanges());
+        assertFalse(c2.internalGraphManager().hasChanges());
+    }
 }