summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-01-21 19:49:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-01-21 19:49:38 +0000
commitbf5a921cacf7df50a657268eeb2c81623b2626ab (patch)
tree73b7e4aefa20a23a3af14993d072ab6b61372b55
parent5f33323bc639c612e79bf2f91d4e2e7c28cfbaa8 (diff)
downloadsqlalchemy-bf5a921cacf7df50a657268eeb2c81623b2626ab.tar.gz
added merge unit test from [ticket:430]
-rw-r--r--test/orm/merge.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/orm/merge.py b/test/orm/merge.py
index cb36cc3b5..cca01f2a5 100644
--- a/test/orm/merge.py
+++ b/test/orm/merge.py
@@ -139,6 +139,28 @@ class MergeTest(AssertMixin):
sess2.merge(o)
assert o2.customer.user_name == 'also fred'
+ def test_saved_cascade_3(self):
+ """test merge of a persistent entity with one_to_one relationship"""
+ mapper(User, users, properties={
+ 'address':relation(mapper(Address, addresses),uselist = False)
+ })
+ sess = create_session()
+ u = User()
+ u.user_id = 7
+ u.user_name = "fred"
+ a1 = Address()
+ a1.email_address='foo@bar.com'
+ u.address = a1
+
+ sess.save(u)
+ sess.flush()
+
+ sess2 = create_session()
+ u2 = sess2.query(User).get(7)
+ u2.user_name = 'fred2'
+ u2.address.email_address = 'hoho@lalala.com'
+
+ u3 = sess.merge(u2)
if __name__ == "__main__":
testbase.main()