From: Mike Bayer Date: Wed, 7 Dec 2011 03:00:35 +0000 (-0500) Subject: tests for FK/autoincrement selection X-Git-Tag: rel_0_7_4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c718ad227efe4b389c09f167a375c57969cf4bb4;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git tests for FK/autoincrement selection --- diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 334a9d97c7..c0d3c2d499 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -552,6 +552,30 @@ class AutoIncrementTest(fixtures.TablesTest): ) assert t._autoincrement_column is None + def test_autoincrement_ignore_fk(self): + m = MetaData() + y = Table('y', m, + Column('id', Integer(), primary_key=True) + ) + x = Table('x', m, + Column('id', Integer(), + ForeignKey('y.id'), + autoincrement="ignore_fk", primary_key=True) + ) + assert x._autoincrement_column is x.c.id + + def test_autoincrement_fk_disqualifies(self): + m = MetaData() + y = Table('y', m, + Column('id', Integer(), primary_key=True) + ) + x = Table('x', m, + Column('id', Integer(), + ForeignKey('y.id'), + primary_key=True) + ) + assert x._autoincrement_column is None + @testing.fails_on('sqlite', 'FIXME: unknown') def test_non_autoincrement(self): # sqlite INT primary keys can be non-unique! (only for ints)