From 08a6a8b51916ab1d084a0070bbb07001cabb1c38 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 22 Sep 2013 20:35:40 -0400 Subject: - Removed some now unneeded version checks [ticket:2829] courtesy alex gaynor --- test/ext/test_serializer.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'test/ext/test_serializer.py') diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py index 84fff1304..64a2d5a42 100644 --- a/test/ext/test_serializer.py +++ b/test/ext/test_serializer.py @@ -77,7 +77,6 @@ class SerializeTest(fixtures.MappedTest): assert serializer.loads(serializer.dumps(User.name, -1), None, None) is User.name - @testing.requires.python26 # crashes in 2.5 def test_expression(self): expr = \ select([users]).select_from(users.join(addresses)).limit(5) @@ -149,7 +148,6 @@ class SerializeTest(fixtures.MappedTest): assert j2.right is j.right assert j2._target_adapter._next - @testing.requires.python26 # namedtuple workaround not serializable in 2.5 @testing.exclude('sqlite', '<=', (3, 5, 9), 'id comparison failing on the buildbot') def test_aliases(self): -- cgit v1.2.1 From 461791fb54fce93974f36f9057074d7c76c3005f Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 21 Oct 2013 23:28:19 -0400 Subject: - just comment out this test, we may have to figure out if the whole "serializer" can just be ditched, or if somehow these deterministic issues can be fixed (everyone implements __reduce__ maybe?) --- test/ext/test_serializer.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'test/ext/test_serializer.py') diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py index 64a2d5a42..1950bd2d1 100644 --- a/test/ext/test_serializer.py +++ b/test/ext/test_serializer.py @@ -123,19 +123,20 @@ class SerializeTest(fixtures.MappedTest): eq_(q2.all(), [User(name='fred')]) eq_(list(q2.values(User.id, User.name)), [(9, 'fred')]) - @testing.requires.non_broken_pickle - def test_query_three(self): - ua = aliased(User) - q = \ - Session.query(ua).join(ua.addresses).\ - filter(Address.email.like('%fred%')) - q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, - Session) - eq_(q2.all(), [User(name='fred')]) - + # fails too often/randomly + #@testing.requires.non_broken_pickle + #def test_query_three(self): + # ua = aliased(User) + # q = \ + # Session.query(ua).join(ua.addresses).\ + # filter(Address.email.like('%fred%')) + # q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, + # Session) + # eq_(q2.all(), [User(name='fred')]) + # # try to pull out the aliased entity here... - ua_2 = q2._entities[0].entity_zero.entity - eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, 'fred')]) + # ua_2 = q2._entities[0].entity_zero.entity + # eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, 'fred')]) @testing.requires.non_broken_pickle def test_orm_join(self): -- cgit v1.2.1 From 2aa00c49d7a1a783ff50832f2de7760bfaaccf6d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 21 Nov 2013 13:30:32 -0500 Subject: - Fixed bug which prevented the ``serializer`` extension from working correctly with table or column names that contain non-ASCII characters. [ticket:2869] --- test/ext/test_serializer.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'test/ext/test_serializer.py') diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py index 1950bd2d1..ffeac55c1 100644 --- a/test/ext/test_serializer.py +++ b/test/ext/test_serializer.py @@ -1,13 +1,15 @@ +# coding: utf-8 from sqlalchemy.ext import serializer from sqlalchemy import testing from sqlalchemy import Integer, String, ForeignKey, select, \ - desc, func, util + desc, func, util, MetaData from sqlalchemy.testing.schema import Table from sqlalchemy.testing.schema import Column from sqlalchemy.orm import relationship, sessionmaker, scoped_session, \ class_mapper, mapper, joinedload, configure_mappers, aliased -from sqlalchemy.testing import eq_ +from sqlalchemy.testing import eq_, AssertsCompiledSQL +from sqlalchemy.util import u, ue from sqlalchemy.testing import fixtures @@ -19,7 +21,7 @@ class Address(fixtures.ComparableEntity): users = addresses = Session = None -class SerializeTest(fixtures.MappedTest): +class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest): run_setup_mappers = 'once' run_inserts = 'once' @@ -171,6 +173,22 @@ class SerializeTest(fixtures.MappedTest): x = serializer.loads(ser, users.metadata) eq_(str(r), str(x)) + def test_unicode(self): + m = MetaData() + t = Table(ue('\u6e2c\u8a66'), m, + Column(ue('\u6e2c\u8a66_id'), Integer)) + + expr = select([t]).where(t.c[ue('\u6e2c\u8a66_id')] == 5) + + expr2 = serializer.loads(serializer.dumps(expr, -1), m) + + self.assert_compile( + expr2, + ue('SELECT "\u6e2c\u8a66"."\u6e2c\u8a66_id" FROM "\u6e2c\u8a66" ' + 'WHERE "\u6e2c\u8a66"."\u6e2c\u8a66_id" = :\u6e2c\u8a66_id_1'), + dialect="default" + ) + if __name__ == '__main__': testing.main() -- cgit v1.2.1