From: Mike Bayer Date: Sat, 3 Jan 2009 20:31:43 +0000 (+0000) Subject: added the significant test for #1247 X-Git-Tag: rel_0_5_0~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=db0d59191b6241ed5a173aee2e88d44358f6d224;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git added the significant test for #1247 --- diff --git a/test/orm/merge.py b/test/orm/merge.py index 12c16e4b11..ba3be1ca6d 100644 --- a/test/orm/merge.py +++ b/test/orm/merge.py @@ -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)