summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-02-25 18:34:01 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-02-25 18:34:01 -0500
commit3bda44515a1c1cae4ff77a6adda60870c8ca3e55 (patch)
tree446186991a4c38c5807366c606901c193ca16f8d /test
parenteb6e7daf8e546ec13d6d9a9693056451de55a309 (diff)
downloadsqlalchemy-3bda44515a1c1cae4ff77a6adda60870c8ca3e55.tar.gz
- add our basic tests into the suite
Diffstat (limited to 'test')
-rw-r--r--test/orm/test_loading.py90
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'