From aa20e20b88d243d5277b5e1fefcd0021588feb52 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 17 Oct 2010 15:10:08 -0400 Subject: [PATCH] - forgot to add the immediate loader tests --- test/orm/test_immediate_load.py | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 test/orm/test_immediate_load.py diff --git a/test/orm/test_immediate_load.py b/test/orm/test_immediate_load.py new file mode 100644 index 0000000000..f85208bff1 --- /dev/null +++ b/test/orm/test_immediate_load.py @@ -0,0 +1,49 @@ +"""basic tests of lazy loaded attributes""" + +from sqlalchemy.test import testing +from sqlalchemy.orm import mapper, relationship, create_session, immediateload +from sqlalchemy.test.testing import eq_ +from test.orm import _fixtures + + +class ImmediateTest(_fixtures.FixtureTest): + run_inserts = 'once' + run_deletes = None + + @testing.resolve_artifact_names + def test_basic_option(self): + mapper(Address, addresses) + mapper(User, users, properties={ + 'addresses':relationship(Address) + }) + sess = create_session() + + l = sess.query(User).options(immediateload(User.addresses)).filter(users.c.id==7).all() + eq_(len(sess.identity_map), 2) + + sess.close() + + eq_( + [User(id=7, addresses=[Address(id=1, email_address='jack@bean.com')])], + l + ) + + + @testing.resolve_artifact_names + def test_basic(self): + mapper(Address, addresses) + mapper(User, users, properties={ + 'addresses':relationship(Address, lazy='immediate') + }) + sess = create_session() + + l = sess.query(User).filter(users.c.id==7).all() + eq_(len(sess.identity_map), 2) + sess.close() + + eq_( + [User(id=7, addresses=[Address(id=1, email_address='jack@bean.com')])], + l + ) + + -- 2.47.3