diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-02-20 20:43:36 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-02-20 20:43:36 -0500 |
commit | 6713817e1186cd1e36c9aea9d89a30bc299ffe27 (patch) | |
tree | f48321ffd475db088c78620444e6ea409ad20a36 | |
parent | 8ad968f33100baeb3b13c7e0b724b6b79ab4277f (diff) | |
download | sqlalchemy-6713817e1186cd1e36c9aea9d89a30bc299ffe27.tar.gz |
- update the mssql autoincrement reflection test to accommodate
the new behavior of the autoincrement flag as per ref #3216
-rw-r--r-- | test/dialect/mssql/test_types.py | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/test/dialect/mssql/test_types.py b/test/dialect/mssql/test_types.py index 100e4e0ed..37c0e7060 100644 --- a/test/dialect/mssql/test_types.py +++ b/test/dialect/mssql/test_types.py @@ -1,5 +1,6 @@ # -*- encoding: utf-8 from sqlalchemy.testing import eq_, engines, pickleable, assert_raises_message +from sqlalchemy.testing import is_, is_not_ import datetime import os from sqlalchemy import Table, Column, MetaData, Float, \ @@ -725,44 +726,37 @@ class TypeRoundTripTest( def test_autoincrement(self): Table( 'ai_1', metadata, - Column('int_y', Integer, primary_key=True), + Column('int_y', Integer, primary_key=True, autoincrement=True), Column( - 'int_n', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False)) + 'int_n', Integer, DefaultClause('0'), primary_key=True)) Table( 'ai_2', metadata, - Column('int_y', Integer, primary_key=True), - Column('int_n', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False)) + Column('int_y', Integer, primary_key=True, autoincrement=True), + Column('int_n', Integer, DefaultClause('0'), primary_key=True)) Table( 'ai_3', metadata, - Column('int_n', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False), - Column('int_y', Integer, primary_key=True)) + Column('int_n', Integer, DefaultClause('0'), primary_key=True), + Column('int_y', Integer, primary_key=True, autoincrement=True)) Table( 'ai_4', metadata, - Column('int_n', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False), - Column('int_n2', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False)) + Column('int_n', Integer, DefaultClause('0'), primary_key=True), + Column('int_n2', Integer, DefaultClause('0'), primary_key=True)) Table( 'ai_5', metadata, - Column('int_y', Integer, primary_key=True), - Column('int_n', Integer, DefaultClause('0'), - primary_key=True, autoincrement=False)) + Column('int_y', Integer, primary_key=True, autoincrement=True), + Column('int_n', Integer, DefaultClause('0'), primary_key=True)) Table( 'ai_6', metadata, - Column('o1', String(1), DefaultClause('x'), - primary_key=True), - Column('int_y', Integer, primary_key=True)) + Column('o1', String(1), DefaultClause('x'), primary_key=True), + Column('int_y', Integer, primary_key=True, autoincrement=True)) Table( 'ai_7', metadata, Column('o1', String(1), DefaultClause('x'), primary_key=True), Column('o2', String(1), DefaultClause('x'), primary_key=True), - Column('int_y', Integer, primary_key=True)) + Column('int_y', Integer, autoincrement=True, primary_key=True)) Table( 'ai_8', metadata, Column('o1', String(1), DefaultClause('x'), @@ -778,13 +772,15 @@ class TypeRoundTripTest( for name in table_names: tbl = Table(name, mr, autoload=True) tbl = metadata.tables[name] - for c in tbl.c: - if c.name.startswith('int_y'): - assert c.autoincrement, name - assert tbl._autoincrement_column is c, name - elif c.name.startswith('int_n'): - assert not c.autoincrement, name - assert tbl._autoincrement_column is not c, name + + # test that the flag itself reflects appropriately + for col in tbl.c: + if 'int_y' in col.name: + is_(col.autoincrement, True) + is_(tbl._autoincrement_column, col) + else: + eq_(col.autoincrement, 'auto') + is_not_(tbl._autoincrement_column, col) # mxodbc can't handle scope_identity() with DEFAULT VALUES |