diff options
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_defaults.py | 17 | ||||
| -rw-r--r-- | test/sql/test_metadata.py | 19 |
2 files changed, 24 insertions, 12 deletions
diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 8a0e27ebd..fd4c77555 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -1080,6 +1080,23 @@ class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL): assert not self._has_sequence('s1') assert not self._has_sequence('s2') + @testing.requires.returning + @testing.provide_metadata + def test_freestanding_sequence_via_autoinc(self): + t = Table( + 'some_table', self.metadata, + Column( + 'id', Integer, + autoincrement=True, + primary_key=True, + server_default=Sequence( + 'my_sequence', metadata=self.metadata).next_value()) + ) + self.metadata.create_all(testing.db) + + result = testing.db.execute(t.insert()) + eq_(result.inserted_primary_key, [1]) + cartitems = sometable = metadata = None diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index 24f416439..501df4671 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -1417,7 +1417,7 @@ class PKAutoIncrementTest(fixtures.TestBase): lambda: pk._autoincrement_column ) - def test_single_integer_illegal_default(self): + def test_single_integer_default(self): t = Table( 't', MetaData(), Column('a', Integer, autoincrement=True, default=lambda: 1)) @@ -1426,13 +1426,12 @@ class PKAutoIncrementTest(fixtures.TestBase): ) t.append_constraint(pk) - assert_raises_message( - exc.ArgumentError, - "Column default.*on column t.a is not compatible", - lambda: pk._autoincrement_column - ) + is_(pk._autoincrement_column, t.c.a) - def test_single_integer_illegal_server_default(self): + def test_single_integer_server_default(self): + # new as of 1.1; now that we have three states for autoincrement, + # if the user puts autoincrement=True with a server_default, trust + # them on it t = Table( 't', MetaData(), Column('a', Integer, @@ -1442,11 +1441,7 @@ class PKAutoIncrementTest(fixtures.TestBase): ) t.append_constraint(pk) - assert_raises_message( - exc.ArgumentError, - "Column server default.*on column t.a is not compatible", - lambda: pk._autoincrement_column - ) + is_(pk._autoincrement_column, t.c.a) def test_implicit_autoinc_but_fks(self): m = MetaData() |
