summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-10-17 15:10:08 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-10-17 15:10:08 -0400
commitaa20e20b88d243d5277b5e1fefcd0021588feb52 (patch)
treea9c653e5f9721dc028fab3ea7b1556c94d20eca9
parenta8fff06cb4ffbfe8ba8d5f22ad4154f7fe088b06 (diff)
downloadsqlalchemy-aa20e20b88d243d5277b5e1fefcd0021588feb52.tar.gz
- forgot to add the immediate loader tests
-rw-r--r--test/orm/test_immediate_load.py49
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
+ )
+
+