summaryrefslogtreecommitdiff
path: root/test/sql/test_query.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-03-14 14:34:36 -0700
committerMike Bayer <mike_mp@zzzcomputing.com>2012-03-14 14:34:36 -0700
commit7ad0c8cb2b76c1de223787785cf5c77d43192db2 (patch)
tree982a78930cc21b60c02d1cbfb7782b9bd8873cc7 /test/sql/test_query.py
parent667f8f83fe2d41a7b53d854b3dbc45bd2cd9fbb0 (diff)
downloadsqlalchemy-7ad0c8cb2b76c1de223787785cf5c77d43192db2.tar.gz
- [bug] Fixed issue whereby attribute-based
column access on a row would raise AttributeError with non-C version, NoSuchColumnError with C version. Now raises AttributeError in both cases. [ticket:2398]
Diffstat (limited to 'test/sql/test_query.py')
-rw-r--r--test/sql/test_query.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py
index 50e7eece7..9f0c2dab0 100644
--- a/test/sql/test_query.py
+++ b/test/sql/test_query.py
@@ -749,6 +749,19 @@ class QueryTest(fixtures.TestBase):
eq_(r[users.c.user_name], 'jack')
eq_(r.user_name, 'jack')
+ def test_column_accessor_err(self):
+ r = testing.db.execute(select([1])).first()
+ assert_raises_message(
+ AttributeError,
+ "Could not locate column in row for column 'foo'",
+ getattr, r, "foo"
+ )
+ assert_raises_message(
+ KeyError,
+ "Could not locate column in row for column 'foo'",
+ lambda: r['foo']
+ )
+
@testing.requires.dbapi_lastrowid
def test_native_lastrowid(self):
r = testing.db.execute(