]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- forgot to add the immediate loader tests
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 Oct 2010 19:10:08 +0000 (15:10 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 Oct 2010 19:10:08 +0000 (15:10 -0400)
test/orm/test_immediate_load.py [new file with mode: 0644]

diff --git a/test/orm/test_immediate_load.py b/test/orm/test_immediate_load.py
new file mode 100644 (file)
index 0000000..f85208b
--- /dev/null
@@ -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
+        )
+
+