diff options
Diffstat (limited to 'test/engine/test_ddlemit.py')
| -rw-r--r-- | test/engine/test_ddlemit.py | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/test/engine/test_ddlemit.py b/test/engine/test_ddlemit.py deleted file mode 100644 index e773d0ced..000000000 --- a/test/engine/test_ddlemit.py +++ /dev/null @@ -1,176 +0,0 @@ -from sqlalchemy.testing import fixtures -from sqlalchemy.engine.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) - - return Mock(dialect=Mock( - 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): - connection = self._mock_connection(item_exists) - - return SchemaGenerator(connection.dialect, connection, - checkfirst=checkfirst, - tables=tables) - - def _mock_drop_fixture(self, checkfirst, tables, - item_exists=lambda item: True): - connection = self._mock_connection(item_exists) - - return SchemaDropper(connection.dialect, connection, - 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) - ) - - def _table_seq_fixture(self): - m = MetaData() - - s1 = Sequence('s1') - s2 = Sequence('s2') - t1 = Table('t1', m, Column("x", Integer, s1, primary_key=True)) - t2 = Table('t2', m, Column("x", Integer, s2, primary_key=True)) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - 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") - ) - - self._assert_drop_tables([t1, t2, t3, t4, t5], generator, m) - - def _assert_create_tables(self, elements, generator, argument): - self._assert_ddl(schema.CreateTable, elements, generator, argument) - - def _assert_drop_tables(self, elements, generator, argument): - self._assert_ddl(schema.DropTable, elements, generator, argument) - - def _assert_create(self, elements, generator, argument): - self._assert_ddl( - (schema.CreateTable, schema.CreateSequence), - elements, generator, argument) - - def _assert_drop(self, elements, generator, argument): - self._assert_ddl( - (schema.DropTable, schema.DropSequence), - elements, generator, argument) - - def _assert_ddl(self, ddl_cls, elements, generator, argument): - generator.traverse_single(argument) - for call_ in generator.connection.execute.mock_calls: - c = call_[1][0] - assert isinstance(c, ddl_cls) - assert c.element in elements, "element %r was not expected"\ - % c.element - elements.remove(c.element) - assert not elements, "elements remain in list: %r" % elements |
