diff options
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_constraints.py | 2 | ||||
| -rw-r--r-- | test/sql/test_defaults.py | 15 | ||||
| -rw-r--r-- | test/sql/test_join_rewriting.py | 2 | ||||
| -rw-r--r-- | test/sql/test_query.py | 10 | ||||
| -rw-r--r-- | test/sql/test_quote.py | 27 | ||||
| -rw-r--r-- | test/sql/test_returning.py | 6 | ||||
| -rw-r--r-- | test/sql/test_rowcount.py | 1 | ||||
| -rw-r--r-- | test/sql/test_types.py | 1 | ||||
| -rw-r--r-- | test/sql/test_unicode.py | 1 | ||||
| -rw-r--r-- | test/sql/test_update.py | 3 |
10 files changed, 65 insertions, 3 deletions
diff --git a/test/sql/test_constraints.py b/test/sql/test_constraints.py index cb4b73ec8..b174ef3c1 100644 --- a/test/sql/test_constraints.py +++ b/test/sql/test_constraints.py @@ -14,6 +14,8 @@ from sqlalchemy.sql import table, column class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults): __dialect__ = 'default' + __backend__ = True + @testing.provide_metadata def test_pk_fk_constraint_create(self): diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 1622c4ed8..ba6166ea6 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -19,6 +19,7 @@ t = f = f2 = ts = currenttime = metadata = default_generator = None t = f = f2 = ts = currenttime = metadata = default_generator = None class DefaultTest(fixtures.TestBase): + __backend__ = True @classmethod def setup_class(cls): @@ -418,6 +419,7 @@ class DefaultTest(fixtures.TestBase): class PKDefaultTest(fixtures.TablesTest): __requires__ = ('subqueries',) + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -454,6 +456,7 @@ class PKDefaultTest(fixtures.TablesTest): class PKIncrementTest(fixtures.TablesTest): run_define_tables = 'each' + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -520,6 +523,8 @@ class PKIncrementTest(fixtures.TablesTest): class EmptyInsertTest(fixtures.TestBase): + __backend__ = True + @testing.exclude('sqlite', '<', (3, 3, 8), 'no empty insert support') @testing.fails_on('oracle', 'FIXME: unknown') @testing.provide_metadata @@ -534,6 +539,7 @@ class EmptyInsertTest(fixtures.TestBase): class AutoIncrementTest(fixtures.TablesTest): __requires__ = ('identity',) run_define_tables = 'each' + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -644,6 +650,7 @@ class AutoIncrementTest(fixtures.TablesTest): class SequenceDDLTest(fixtures.TestBase, testing.AssertsCompiledSQL): __dialect__ = 'default' + __backend__ = True def test_create_drop_ddl(self): self.assert_compile( @@ -673,6 +680,7 @@ class SequenceDDLTest(fixtures.TestBase, testing.AssertsCompiledSQL): class SequenceExecTest(fixtures.TestBase): __requires__ = ('sequences',) + __backend__ = True @classmethod def setup_class(cls): @@ -804,6 +812,7 @@ class SequenceExecTest(fixtures.TestBase): class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL): __requires__ = ('sequences',) + __backend__ = True @testing.fails_on('firebird', 'no FB support for start/increment') def test_start_increment(self): @@ -918,6 +927,7 @@ class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL): cartitems = sometable = metadata = None class TableBoundSequenceTest(fixtures.TestBase): __requires__ = ('sequences',) + __backend__ = True @classmethod def setup_class(cls): @@ -985,6 +995,7 @@ class SpecialTypePKTest(fixtures.TestBase): rather than the class of "type" itself. """ + __backend__ = True @classmethod def setup_class(cls): @@ -1065,6 +1076,8 @@ class SpecialTypePKTest(fixtures.TestBase): self._run_test(server_default='1', autoincrement=False) class ServerDefaultsOnPKTest(fixtures.TestBase): + __backend__ = True + @testing.provide_metadata def test_string_default_none_on_insert(self): """Test that without implicit returning, we return None for @@ -1193,6 +1206,8 @@ class ServerDefaultsOnPKTest(fixtures.TestBase): ) class UnicodeDefaultsTest(fixtures.TestBase): + __backend__ = True + def test_no_default(self): Column(Unicode(32)) diff --git a/test/sql/test_join_rewriting.py b/test/sql/test_join_rewriting.py index 6fb108a27..35797871a 100644 --- a/test/sql/test_join_rewriting.py +++ b/test/sql/test_join_rewriting.py @@ -509,6 +509,8 @@ class JoinNoUseLabelsTest(_JoinRewriteTestBase, fixtures.TestBase): class JoinExecTest(_JoinRewriteTestBase, fixtures.TestBase): """invoke the SQL on the current backend to ensure compatibility""" + __backend__ = True + _a_bc = _a_bc_comma_a1_selbc = _a__b_dc = _a_bkeyassoc = \ _a_bkeyassoc_aliased = _a_atobalias_balias_c_w_exists = \ _a_atobalias_balias = _b_ab1_union_c_ab2 = None diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 11bd62f64..6258e4516 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -13,6 +13,7 @@ from sqlalchemy.testing.schema import Table, Column # sqlalhcemy.testing.suite class QueryTest(fixtures.TestBase): + __backend__ = True @classmethod def setup_class(cls): @@ -1328,6 +1329,7 @@ class TableInsertTest(fixtures.TablesTest): """ run_create_tables = 'each' + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -1499,6 +1501,7 @@ class TableInsertTest(fixtures.TablesTest): class KeyTargetingTest(fixtures.TablesTest): run_inserts = 'once' run_deletes = None + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -1727,6 +1730,7 @@ class KeyTargetingTest(fixtures.TablesTest): class LimitTest(fixtures.TestBase): + __backend__ = True @classmethod def setup_class(cls): @@ -1804,6 +1808,9 @@ class LimitTest(fixtures.TestBase): class CompoundTest(fixtures.TestBase): """test compound statements like UNION, INTERSECT, particularly their ability to nest on different databases.""" + + __backend__ = True + @classmethod def setup_class(cls): global metadata, t1, t2, t3 @@ -2101,6 +2108,7 @@ class JoinTest(fixtures.TestBase): `JOIN rhs ON lhs.col=rhs.col` vs `rhs.col=lhs.col`. At least one database seems to be sensitive to this. """ + __backend__ = True @classmethod def setup_class(cls): @@ -2365,6 +2373,8 @@ class JoinTest(fixtures.TestBase): class OperatorTest(fixtures.TestBase): + __backend__ = True + @classmethod def setup_class(cls): global metadata, flds diff --git a/test/sql/test_quote.py b/test/sql/test_quote.py index 3cab3dc79..76a789242 100644 --- a/test/sql/test_quote.py +++ b/test/sql/test_quote.py @@ -6,8 +6,8 @@ from sqlalchemy import testing from sqlalchemy.sql.elements import quoted_name, _truncated_label, _anonymous_label from sqlalchemy.testing.util import picklers -class QuoteTest(fixtures.TestBase, AssertsCompiledSQL): - __dialect__ = 'default' +class QuoteExecTest(fixtures.TestBase): + __backend__ = True @classmethod def setup_class(cls): @@ -159,6 +159,28 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL): result = select(columns, use_labels=True).execute().fetchall() assert(result == [(1, 2, 3), (2, 2, 3), (4, 3, 2)]) +class QuoteTest(fixtures.TestBase, AssertsCompiledSQL): + __dialect__ = 'default' + + @classmethod + def setup_class(cls): + # TODO: figure out which databases/which identifiers allow special + # characters to be used, such as: spaces, quote characters, + # punctuation characters, set up tests for those as well. + + global table1, table2 + metadata = MetaData(testing.db) + + table1 = Table('WorstCase1', metadata, + Column('lowercase', Integer, primary_key=True), + Column('UPPERCASE', Integer), + Column('MixedCase', Integer), + Column('ASC', Integer, key='a123')) + table2 = Table('WorstCase2', metadata, + Column('desc', Integer, primary_key=True, key='d123'), + Column('Union', Integer, key='u123'), + Column('MixedCase', Integer)) + @testing.crashes('oracle', 'FIXME: unknown, verify not fails_on') @testing.requires.subqueries def test_labels(self): @@ -181,7 +203,6 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL): where the "UPPERCASE" column of "LaLa" doesn't exist. """ - x = table1.select(distinct=True).alias('LaLa').select().scalar() self.assert_compile( table1.select(distinct=True).alias('LaLa').select(), 'SELECT ' diff --git a/test/sql/test_returning.py b/test/sql/test_returning.py index e7245aa3c..394fe1002 100644 --- a/test/sql/test_returning.py +++ b/test/sql/test_returning.py @@ -10,6 +10,7 @@ import itertools class ReturningTest(fixtures.TestBase, AssertsExecutionResults): __requires__ = 'returning', + __backend__ = True def setup(self): meta = MetaData(testing.db) @@ -137,6 +138,7 @@ class ReturningTest(fixtures.TestBase, AssertsExecutionResults): class SequenceReturningTest(fixtures.TestBase): __requires__ = 'returning', 'sequences' + __backend__ = True def setup(self): meta = MetaData(testing.db) @@ -160,6 +162,7 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults): """test returning() works with columns that define 'key'.""" __requires__ = 'returning', + __backend__ = True def setup(self): meta = MetaData(testing.db) @@ -188,6 +191,7 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults): class ReturnDefaultsTest(fixtures.TablesTest): __requires__ = ('returning', ) run_define_tables = 'each' + __backend__ = True @classmethod def define_tables(cls, metadata): @@ -309,6 +313,8 @@ class ReturnDefaultsTest(fixtures.TablesTest): ) class ImplicitReturningFlag(fixtures.TestBase): + __backend__ = True + def test_flag_turned_off(self): e = engines.testing_engine(options={'implicit_returning':False}) assert e.dialect.implicit_returning is False diff --git a/test/sql/test_rowcount.py b/test/sql/test_rowcount.py index 2dbf4f3ea..2d3c51fa2 100644 --- a/test/sql/test_rowcount.py +++ b/test/sql/test_rowcount.py @@ -7,6 +7,7 @@ class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults): """tests rowcount functionality""" __requires__ = ('sane_rowcount', ) + __backend__ = True @classmethod def setup_class(cls): diff --git a/test/sql/test_types.py b/test/sql/test_types.py index c7e629837..91e467aed 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -846,6 +846,7 @@ class UnicodeTest(fixtures.TestBase): sqlalchemy/testing/suite/test_types.py. """ + __backend__ = True def test_native_unicode(self): """assert expected values for 'native unicode' mode""" diff --git a/test/sql/test_unicode.py b/test/sql/test_unicode.py index 0118b6a2b..99de16f7f 100644 --- a/test/sql/test_unicode.py +++ b/test/sql/test_unicode.py @@ -9,6 +9,7 @@ from sqlalchemy.util import u, ue class UnicodeSchemaTest(fixtures.TestBase): __requires__ = ('unicode_ddl',) + __backend__ = True @classmethod def setup_class(cls): diff --git a/test/sql/test_update.py b/test/sql/test_update.py index 272b5fcae..829739bcc 100644 --- a/test/sql/test_update.py +++ b/test/sql/test_update.py @@ -405,6 +405,7 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest, class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest): + __backend__ = True @testing.requires.update_from def test_exec_two_table(self): @@ -538,6 +539,8 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest): class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase, fixtures.TablesTest): + __backend__ = True + @classmethod def define_tables(cls, metadata): Table('users', metadata, |
