From: Mike Bayer Date: Sun, 17 Oct 2010 19:10:08 +0000 (-0400) Subject: - forgot to add the immediate loader tests X-Git-Tag: rel_0_6_5~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa20e20b88d243d5277b5e1fefcd0021588feb52;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - forgot to add the immediate loader tests --- 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 + ) + +