diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-02-25 18:34:01 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-02-25 18:34:01 -0500 |
| commit | 3bda44515a1c1cae4ff77a6adda60870c8ca3e55 (patch) | |
| tree | 446186991a4c38c5807366c606901c193ca16f8d /test | |
| parent | eb6e7daf8e546ec13d6d9a9693056451de55a309 (diff) | |
| download | sqlalchemy-3bda44515a1c1cae4ff77a6adda60870c8ca3e55.tar.gz | |
- add our basic tests into the suite
Diffstat (limited to 'test')
| -rw-r--r-- | test/orm/test_loading.py | 90 |
1 files changed, 89 insertions, 1 deletions
diff --git a/test/orm/test_loading.py b/test/orm/test_loading.py index f86477ec2..69afdb10a 100644 --- a/test/orm/test_loading.py +++ b/test/orm/test_loading.py @@ -1,5 +1,6 @@ from . import _fixtures -from sqlalchemy.orm import loading, Session, aliased +from sqlalchemy import text +from sqlalchemy.orm import loading, Session, aliased, Bundle from sqlalchemy.testing.assertions import eq_, assert_raises from sqlalchemy.util import KeyedTuple from sqlalchemy.testing import mock @@ -34,6 +35,93 @@ class InstancesTest(_fixtures.FixtureTest): ) assert cursor.close.called, "Cursor wasn't closed" + def test_query_load_entity(self): + User = self.classes.User + s = Session() + + q = s.query(User).order_by(User.id) + rows = q.all() + + eq_( + rows, + [ + User(id=7, name='jack'), + User(id=8, name='ed'), + User(id=9, name='fred'), + User(id=10, name='chuck') + ] + ) + + def test_query_load_columns(self): + User = self.classes.User + s = Session() + + q = s.query(User.id, User.name).order_by(User.id) + rows = q.all() + + eq_( + rows, + [ + (7, 'jack'), + (8, 'ed'), + (9, 'fred'), + (10, 'chuck') + ] + ) + + def test_query_load_bundles(self): + User = self.classes.User + s = Session() + + q = s.query(Bundle('foo', User.id, User.name)).order_by(User.id) + rows = q.all() + + eq_( + rows, + [ + ((7, 'jack'),), + ((8, 'ed'),), + ((9, 'fred'),), + ((10, 'chuck'),) + ] + ) + + def test_query_load_entity_from_statement(self): + User = self.classes.User + s = Session() + + q = s.query(User).from_statement( + text("select name, id from users order by id")) + rows = q.all() + + eq_( + rows, + [ + User(id=7, name='jack'), + User(id=8, name='ed'), + User(id=9, name='fred'), + User(id=10, name='chuck') + ] + ) + + def test_query_load_columns_from_statement(self): + User = self.classes.User + s = Session() + + q = s.query(User.name, User.id).from_statement( + text("select name, id from users order by id")) + rows = q.all() + + eq_( + rows, + [ + ('jack', 7), + ('ed', 8), + ('fred', 9), + ('chuck', 10) + ] + ) + class MergeResultTest(_fixtures.FixtureTest): run_setup_mappers = 'once' |
