]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
added the significant test for #1247
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 3 Jan 2009 20:31:43 +0000 (20:31 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 3 Jan 2009 20:31:43 +0000 (20:31 +0000)
test/orm/merge.py

index 12c16e4b11256ea1d71af2b2e73969ce5db4ae16..ba3be1ca6d8c24826ee2058f813c715389953920 100644 (file)
@@ -665,6 +665,24 @@ class MergeTest(_fixtures.FixtureTest):
         sess.expunge(u)
         sess.merge(u)
 
+    @testing.resolve_artifact_names
+    def test_cascade_doesnt_blowaway_manytoone(self):
+        """a merge test that was fixed by [ticket:1202]"""
+        
+        s = create_session(autoflush=True)
+        mapper(User, users, properties={
+            'addresses':relation(mapper(Address, addresses),backref='user')})
+
+        a1 = Address(user=s.merge(User(id=1, name='ed')), email_address='x')
+        before_id = id(a1.user)
+        a2 = Address(user=s.merge(User(id=1, name='jack')), email_address='x')
+        after_id = id(a1.user)
+        other_id = id(a2.user)
+        eq_(before_id, other_id)
+        eq_(after_id, other_id)
+        eq_(before_id, after_id)
+        eq_(a1.user, a2.user)
+            
     @testing.resolve_artifact_names
     def test_cascades_dont_autoflush(self):
         sess = create_session(autoflush=True)