diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-17 14:43:19 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-17 14:43:19 +0000 |
| commit | dd96699bdd754e4aa2028fab032116af48b179c6 (patch) | |
| tree | b961afc02f29f94564db30025bae4574bea7c8d6 /test | |
| parent | 1cad4bad000c7c1adbe7a43b42eab28bb86cb5d9 (diff) | |
| download | sqlalchemy-dd96699bdd754e4aa2028fab032116af48b179c6.tar.gz | |
added test for "assign a list of objects", ensure cascade/persistence functions
Diffstat (limited to 'test')
| -rw-r--r-- | test/orm/cascade.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/orm/cascade.py b/test/orm/cascade.py index 3fed58dfa..7cb123160 100644 --- a/test/orm/cascade.py +++ b/test/orm/cascade.py @@ -72,6 +72,41 @@ class O2MCascadeTest(testbase.AssertMixin): sess.flush() sess.clear() + def testassignlist(self): + sess = create_session() + u = tables.User() + u.user_name = 'jack' + o1 = tables.Order() + o1.description ='someorder' + o2 = tables.Order() + o2.description = 'someotherorder' + l = [o1, o2] + sess.save(u) + u.orders = l + assert o1 in sess + assert o2 in sess + sess.flush() + sess.clear() + + u = sess.query(tables.User).get(u.user_id) + o3 = tables.Order() + o3.description='order3' + o4 = tables.Order() + o4.description = 'order4' + u.orders = [o3, o4] + assert o3 in sess + assert o4 in sess + sess.flush() + + o5 = tables.Order() + o5.description='order5' + sess.save(o5) + try: + sess.flush() + assert False + except exceptions.FlushError, e: + assert "is an orphan" in str(e) + def testdelete(self): sess = create_session() |
