diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-10-17 15:10:08 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-10-17 15:10:08 -0400 |
| commit | aa20e20b88d243d5277b5e1fefcd0021588feb52 (patch) | |
| tree | a9c653e5f9721dc028fab3ea7b1556c94d20eca9 | |
| parent | a8fff06cb4ffbfe8ba8d5f22ad4154f7fe088b06 (diff) | |
| download | sqlalchemy-aa20e20b88d243d5277b5e1fefcd0021588feb52.tar.gz | |
- forgot to add the immediate loader tests
| -rw-r--r-- | test/orm/test_immediate_load.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/orm/test_immediate_load.py b/test/orm/test_immediate_load.py new file mode 100644 index 000000000..f85208bff --- /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 + ) + + |
