diff options
Diffstat (limited to 'test/sql/test_ddlemit.py')
-rw-r--r-- | test/sql/test_ddlemit.py | 133 |
1 files changed, 78 insertions, 55 deletions
diff --git a/test/sql/test_ddlemit.py b/test/sql/test_ddlemit.py index be75f63ec..825f8228b 100644 --- a/test/sql/test_ddlemit.py +++ b/test/sql/test_ddlemit.py @@ -1,11 +1,12 @@ from sqlalchemy.testing import fixtures from sqlalchemy.sql.ddl import SchemaGenerator, SchemaDropper -from sqlalchemy.engine import default from sqlalchemy import MetaData, Table, Column, Integer, Sequence from sqlalchemy import schema from sqlalchemy.testing.mock import Mock + class EmitDDLTest(fixtures.TestBase): + def _mock_connection(self, item_exists): def has_item(connection, name, schema): return item_exists(name) @@ -14,32 +15,32 @@ class EmitDDLTest(fixtures.TestBase): supports_sequences=True, has_table=Mock(side_effect=has_item), has_sequence=Mock(side_effect=has_item) - ) - ) + ) + ) def _mock_create_fixture(self, checkfirst, tables, - item_exists=lambda item: False): + item_exists=lambda item: False): connection = self._mock_connection(item_exists) return SchemaGenerator(connection.dialect, connection, - checkfirst=checkfirst, - tables=tables) + checkfirst=checkfirst, + tables=tables) def _mock_drop_fixture(self, checkfirst, tables, - item_exists=lambda item: True): + item_exists=lambda item: True): connection = self._mock_connection(item_exists) return SchemaDropper(connection.dialect, connection, - checkfirst=checkfirst, - tables=tables) + checkfirst=checkfirst, + tables=tables) def _table_fixture(self): m = MetaData() return (m, ) + tuple( - Table('t%d' % i, m, Column('x', Integer)) - for i in range(1, 6) - ) + Table('t%d' % i, m, Column('x', Integer)) + for i in range(1, 6) + ) def _table_seq_fixture(self): m = MetaData() @@ -51,101 +52,123 @@ class EmitDDLTest(fixtures.TestBase): return m, t1, t2, s1, s2 - def test_create_seq_checkfirst(self): m, t1, t2, s1, s2 = self._table_seq_fixture() - generator = self._mock_create_fixture(True, [t1, t2], - item_exists=lambda t: t not in ("t1", "s1") - ) + generator = self._mock_create_fixture( + True, [ + t1, t2], item_exists=lambda t: t not in ( + "t1", "s1")) self._assert_create([t1, s1], generator, m) - def test_drop_seq_checkfirst(self): m, t1, t2, s1, s2 = self._table_seq_fixture() - generator = self._mock_drop_fixture(True, [t1, t2], - item_exists=lambda t: t in ("t1", "s1") - ) + generator = self._mock_drop_fixture( + True, [ + t1, t2], item_exists=lambda t: t in ( + "t1", "s1")) self._assert_drop([t1, s1], generator, m) def test_create_collection_checkfirst(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_create_fixture(True, [t2, t3, t4], - item_exists=lambda t: t not in ("t2", "t4") - ) + generator = self._mock_create_fixture( + True, [ + t2, t3, t4], item_exists=lambda t: t not in ( + "t2", "t4")) self._assert_create_tables([t2, t4], generator, m) def test_drop_collection_checkfirst(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_drop_fixture(True, [t2, t3, t4], - item_exists=lambda t: t in ("t2", "t4") - ) + generator = self._mock_drop_fixture( + True, [ + t2, t3, t4], item_exists=lambda t: t in ( + "t2", "t4")) self._assert_drop_tables([t2, t4], generator, m) def test_create_collection_nocheck(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_create_fixture(False, [t2, t3, t4], - item_exists=lambda t: t not in ("t2", "t4") - ) + generator = self._mock_create_fixture( + False, [ + t2, t3, t4], item_exists=lambda t: t not in ( + "t2", "t4")) self._assert_create_tables([t2, t3, t4], generator, m) def test_create_empty_collection(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_create_fixture(True, [], - item_exists=lambda t: t not in ("t2", "t4") - ) + generator = self._mock_create_fixture( + True, + [], + item_exists=lambda t: t not in ( + "t2", + "t4")) self._assert_create_tables([], generator, m) def test_drop_empty_collection(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_drop_fixture(True, [], - item_exists=lambda t: t in ("t2", "t4") - ) + generator = self._mock_drop_fixture( + True, + [], + item_exists=lambda t: t in ( + "t2", + "t4")) self._assert_drop_tables([], generator, m) def test_drop_collection_nocheck(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_drop_fixture(False, [t2, t3, t4], - item_exists=lambda t: t in ("t2", "t4") - ) + generator = self._mock_drop_fixture( + False, [ + t2, t3, t4], item_exists=lambda t: t in ( + "t2", "t4")) self._assert_drop_tables([t2, t3, t4], generator, m) def test_create_metadata_checkfirst(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_create_fixture(True, None, - item_exists=lambda t: t not in ("t2", "t4") - ) + generator = self._mock_create_fixture( + True, + None, + item_exists=lambda t: t not in ( + "t2", + "t4")) self._assert_create_tables([t2, t4], generator, m) def test_drop_metadata_checkfirst(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_drop_fixture(True, None, - item_exists=lambda t: t in ("t2", "t4") - ) + generator = self._mock_drop_fixture( + True, + None, + item_exists=lambda t: t in ( + "t2", + "t4")) self._assert_drop_tables([t2, t4], generator, m) def test_create_metadata_nocheck(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_create_fixture(False, None, - item_exists=lambda t: t not in ("t2", "t4") - ) + generator = self._mock_create_fixture( + False, + None, + item_exists=lambda t: t not in ( + "t2", + "t4")) self._assert_create_tables([t1, t2, t3, t4, t5], generator, m) def test_drop_metadata_nocheck(self): m, t1, t2, t3, t4, t5 = self._table_fixture() - generator = self._mock_drop_fixture(False, None, - item_exists=lambda t: t in ("t2", "t4") - ) + generator = self._mock_drop_fixture( + False, + None, + item_exists=lambda t: t in ( + "t2", + "t4")) self._assert_drop_tables([t1, t2, t3, t4, t5], generator, m) @@ -157,13 +180,13 @@ class EmitDDLTest(fixtures.TestBase): def _assert_create(self, elements, generator, argument): self._assert_ddl( - (schema.CreateTable, schema.CreateSequence), - elements, generator, argument) + (schema.CreateTable, schema.CreateSequence), + elements, generator, argument) def _assert_drop(self, elements, generator, argument): self._assert_ddl( - (schema.DropTable, schema.DropSequence), - elements, generator, argument) + (schema.DropTable, schema.DropSequence), + elements, generator, argument) def _assert_ddl(self, ddl_cls, elements, generator, argument): generator.traverse_single(argument) @@ -171,6 +194,6 @@ class EmitDDLTest(fixtures.TestBase): c = call_[1][0] assert isinstance(c, ddl_cls) assert c.element in elements, "element %r was not expected"\ - % c.element + % c.element elements.remove(c.element) assert not elements, "elements remain in list: %r" % elements |