diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-06-10 21:18:24 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-06-10 21:18:24 +0000 |
| commit | 45cec095b4904ba71425d2fe18c143982dd08f43 (patch) | |
| tree | af5e540fdcbf1cb2a3337157d69d4b40be010fa8 /test/sql/unicode.py | |
| parent | 698a3c1ac665e7cd2ef8d5ad3ebf51b7fe6661f4 (diff) | |
| download | sqlalchemy-45cec095b4904ba71425d2fe18c143982dd08f43.tar.gz | |
- unit tests have been migrated from unittest to nose.
See README.unittests for information on how to run
the tests. [ticket:970]
Diffstat (limited to 'test/sql/unicode.py')
| -rw-r--r-- | test/sql/unicode.py | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/test/sql/unicode.py b/test/sql/unicode.py deleted file mode 100644 index c5002aaff..000000000 --- a/test/sql/unicode.py +++ /dev/null @@ -1,139 +0,0 @@ -# coding: utf-8 -"""verrrrry basic unicode column name testing""" - -import testenv; testenv.configure_for_tests() -from sqlalchemy import * -from testlib import * -from testlib.engines import utf8_engine -from sqlalchemy.sql import column - -class UnicodeSchemaTest(TestBase): - __requires__ = ('unicode_ddl',) - - def setUpAll(self): - global unicode_bind, metadata, t1, t2, t3 - - unicode_bind = utf8_engine() - - metadata = MetaData(unicode_bind) - t1 = Table('unitable1', metadata, - Column(u'méil', Integer, primary_key=True), - Column(u'\u6e2c\u8a66', Integer), - test_needs_fk=True, - ) - t2 = Table(u'Unitéble2', metadata, - Column(u'méil', Integer, primary_key=True, key="a"), - Column(u'\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.méil'), - key="b" - ), - test_needs_fk=True, - ) - - # Few DBs support Unicode foreign keys - if testing.against('sqlite'): - t3 = Table(u'\u6e2c\u8a66', metadata, - Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, - autoincrement=False), - Column(u'unitable1_\u6e2c\u8a66', Integer, - ForeignKey(u'unitable1.\u6e2c\u8a66') - ), - Column(u'Unitéble2_b', Integer, - ForeignKey(u'Unitéble2.b') - ), - Column(u'\u6e2c\u8a66_self', Integer, - ForeignKey(u'\u6e2c\u8a66.\u6e2c\u8a66_id') - ), - test_needs_fk=True, - ) - else: - t3 = Table(u'\u6e2c\u8a66', metadata, - Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, - autoincrement=False), - Column(u'unitable1_\u6e2c\u8a66', Integer), - Column(u'Unitéble2_b', Integer), - Column(u'\u6e2c\u8a66_self', Integer), - test_needs_fk=True, - ) - metadata.create_all() - - def tearDown(self): - if metadata.tables: - t3.delete().execute() - t2.delete().execute() - t1.delete().execute() - - def tearDownAll(self): - global unicode_bind - metadata.drop_all() - del unicode_bind - - def test_insert(self): - t1.insert().execute({u'méil':1, u'\u6e2c\u8a66':5}) - t2.insert().execute({'a':1, 'b':1}) - t3.insert().execute({u'\u6e2c\u8a66_id': 1, - u'unitable1_\u6e2c\u8a66': 5, - u'Unitéble2_b': 1, - u'\u6e2c\u8a66_self': 1}) - - assert t1.select().execute().fetchall() == [(1, 5)] - assert t2.select().execute().fetchall() == [(1, 1)] - assert t3.select().execute().fetchall() == [(1, 5, 1, 1)] - - def test_reflect(self): - t1.insert().execute({u'méil':2, u'\u6e2c\u8a66':7}) - t2.insert().execute({'a':2, 'b':2}) - t3.insert().execute({u'\u6e2c\u8a66_id': 2, - u'unitable1_\u6e2c\u8a66': 7, - u'Unitéble2_b': 2, - u'\u6e2c\u8a66_self': 2}) - - meta = MetaData(unicode_bind) - tt1 = Table(t1.name, meta, autoload=True) - tt2 = Table(t2.name, meta, autoload=True) - tt3 = Table(t3.name, meta, autoload=True) - - tt1.insert().execute({u'méil':1, u'\u6e2c\u8a66':5}) - tt2.insert().execute({u'méil':1, u'\u6e2c\u8a66':1}) - tt3.insert().execute({u'\u6e2c\u8a66_id': 1, - u'unitable1_\u6e2c\u8a66': 5, - u'Unitéble2_b': 1, - u'\u6e2c\u8a66_self': 1}) - - self.assert_(tt1.select(order_by=desc(u'méil')).execute().fetchall() == - [(2, 7), (1, 5)]) - self.assert_(tt2.select(order_by=desc(u'méil')).execute().fetchall() == - [(2, 2), (1, 1)]) - self.assert_(tt3.select(order_by=desc(u'\u6e2c\u8a66_id')). - execute().fetchall() == - [(2, 7, 2, 2), (1, 5, 1, 1)]) - meta.drop_all() - metadata.create_all() - -class EscapesDefaultsTest(testing.TestBase): - def test_default_exec(self): - metadata = MetaData(testing.db) - t1 = Table('t1', metadata, - Column(u'special_col', Integer, Sequence('special_col'), primary_key=True), - Column('data', String(50)) # to appease SQLite without DEFAULT VALUES - ) - t1.create() - - try: - engine = metadata.bind - - # reset the identifier preparer, so that we can force it to cache - # a unicode identifier - engine.dialect.identifier_preparer = engine.dialect.preparer(engine.dialect) - select([column(u'special_col')]).select_from(t1).execute() - assert isinstance(engine.dialect.identifier_preparer.format_sequence(Sequence('special_col')), unicode) - - # now execute, run the sequence. it should run in u"Special_col.nextid" or similar as - # a unicode object; cx_oracle asserts that this is None or a String (postgres lets it pass thru). - # ensure that base.DefaultRunner is encoding. - t1.insert().execute(data='foo') - finally: - t1.drop() - - -if __name__ == '__main__': - testenv.main() |
