Here are the examples of the python api alembic.testing.eq_ taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
199 Examples
3
Example 1
Project: alembic Source File: test_autogen_indexes.py
def test_uq_added_schema(self):
m1 = MetaData()
m2 = MetaData()
Table('add_uq', m1, Column('x', String(50)), schema="test_schema")
Table('add_uq', m2, Column('x', String(50)),
UniqueConstraint('x', name='ix_1'), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs[0][0], "add_constraint")
eq_(diffs[0][1].name, 'ix_1')
3
Example 2
Project: alembic Source File: test_batch.py
def test_rename_col_boolean_no_ck(self):
impl = self._boolean_no_ck_fixture()
impl.alter_column('tname', 'flag', name='bflag')
new_table = self._assert_impl(
impl, ddl_not_contains="CHECK",
colnames=["id", "flag"])
eq_(new_table.c.flag.name, 'bflag')
eq_(
len([
const for const
in new_table.constraints
if isinstance(const, CheckConstraint)]),
0)
3
Example 3
Project: alembic Source File: test_autogen_fks.py
@config.requirements.fk_initially
@config.requirements.fk_deferrable
def test_add_initially_deferrable_nochange_two(self):
diffs = self._fk_opts_fixture(
{"deferrable": True, "initially": "deferred"},
{"deferrable": True, "initially": "deferred"}
)
eq_(diffs, [])
3
Example 4
Project: alembic Source File: test_autogen_indexes.py
def test_add_idx_non_col(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m1, Column('x', String(50)))
t2 = Table('add_ix', m2, Column('x', String(50)))
Index('foo_idx', t2.c.x.desc())
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], "add_index")
3
Example 5
Project: alembic Source File: test_autogen_indexes.py
def test_new_table_added(self):
m1 = MetaData()
m2 = MetaData()
Table('extra', m2,
Column('foo', Integer, index=True),
Column('bar', Integer),
Index('newtable_idx', 'bar')
)
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], "add_table")
eq_(diffs[1][0], "add_index")
eq_(diffs[1][1].name, "ix_extra_foo")
eq_(diffs[2][0], "add_index")
eq_(diffs[2][1].name, "newtable_idx")
3
Example 6
Project: alembic Source File: test_autogen_fks.py
def test_nochange_onupdate_restrict(self):
"""test the RESTRICT option which MySQL doesn't report on"""
diffs = self._fk_opts_fixture(
{"onupdate": "restrict"}, {"onupdate": "restrict"}
)
eq_(diffs, [])
3
Example 7
Project: alembic Source File: test_autogen_indexes.py
def test_unique_not_reported(self):
m1 = MetaData()
Table('order', m1,
Column('order_id', Integer, primary_key=True),
Column('amount', Numeric(10, 2), nullable=True),
Column('user_id', Integer),
UniqueConstraint('order_id', 'user_id',
name='order_order_id_user_id_unique'
)
)
diffs = self._fixture(m1, m1)
eq_(diffs, [])
3
Example 8
Project: alembic Source File: test_autogen_diffs.py
def test_column_type_modified_custom_compare_type_returns_True(self):
my_compare_type = Mock()
my_compare_type.return_value = True
self.context._user_compare_type = my_compare_type
ctx = self.autogen_context
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(ctx, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0][0], 'modify_type')
eq_(diffs[1][0][0], 'modify_type')
3
Example 9
Project: alembic Source File: test_batch.py
def test_rename_col_literal_ck_workaround(self):
impl = self._literal_ck_fixture(
copy_from=Table(
'tname', MetaData(),
Column('id', Integer, primary_key=True),
Column('email', String),
),
table_args=[CheckConstraint("emol LIKE '%@%'")])
impl.alter_column('tname', 'email', name='emol')
new_table = self._assert_impl(
impl, ddl_contains="CHECK (emol LIKE '%@%')",
colnames=["id", "email"])
eq_(
len([c for c in new_table.constraints
if isinstance(c, CheckConstraint)]), 1)
eq_(new_table.c.email.name, 'emol')
3
Example 10
Project: alembic Source File: test_autogen_diffs.py
def test_no_version_table(self):
diffs = []
ctx = self.autogen_context
autogenerate._produce_net_changes(ctx, diffs)
eq_(diffs, [])
3
Example 11
Project: alembic Source File: test_autogen_indexes.py
def test_add_uq_ix_on_table_create(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m2, Column('x', String(50), unique=True, index=True))
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], "add_table")
eq_(len(diffs), 2)
assert UniqueConstraint not in set(
type(c) for c in diffs[0][1].constraints)
eq_(diffs[1][0], "add_index")
eq_(diffs[1][1].unique, True)
3
Example 12
Project: alembic Source File: test_autogen_indexes.py
def test_nothing_changed_unique_w_colkeys(self):
m1 = MetaData()
m2 = MetaData()
Table('nothing_changed', m1,
Column('x', String(20), key='nx'),
UniqueConstraint('nx')
)
Table('nothing_changed', m2,
Column('x', String(20), key='nx'),
UniqueConstraint('nx')
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 13
Project: alembic Source File: test_autogen_fks.py
def test_nochange_onupdate(self):
"""test case sensitivity"""
diffs = self._fk_opts_fixture(
{"onupdate": "caSCAde"}, {"onupdate": "CasCade"}
)
eq_(diffs, [])
3
Example 14
Project: alembic Source File: test_autogen_indexes.py
def test_idx_added_schema(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m1, Column('x', String(50)), schema="test_schema")
Table('add_ix', m2, Column('x', String(50)),
Index('ix_1', 'x'), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs[0][0], "add_index")
eq_(diffs[0][1].name, 'ix_1')
3
Example 15
Project: alembic Source File: test_autogen_diffs.py
def test_dont_barf_on_already_reflected(self):
from sqlalchemy.util import OrderedSet
inspector = Inspector.from_engine(self.bind)
uo = ops.UpgradeOps(ops=[])
autogenerate.compare._compare_tables(
OrderedSet([(None, 'extra'), (None, 'user')]),
OrderedSet(), inspector,
MetaData(), uo, self.autogen_context
)
eq_(
[(rec[0], rec[1].name) for rec in uo.as_diffs()],
[('remove_table', 'extra'), ('remove_table', 'user')]
)
3
Example 16
Project: alembic Source File: test_autogen_indexes.py
def test_same_tname_two_schemas(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m1, Column('x', String(50)), Index('ix_1', 'x'))
Table('add_ix', m2, Column('x', String(50)), Index('ix_1', 'x'))
Table('add_ix', m2, Column('x', String(50)), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs[0][0], "add_table")
eq_(len(diffs), 1)
3
Example 17
Project: alembic Source File: test_autogen_fks.py
def test_nochange_onupdate_noaction(self):
"""test the NO ACTION option which generally comes back as None"""
diffs = self._fk_opts_fixture(
{"onupdate": "no action"}, {"onupdate": "no action"}
)
eq_(diffs, [])
3
Example 18
Project: alembic Source File: test_autogen_indexes.py
def test_remove_plain_index_is_reported(self):
m1 = MetaData()
Table('order', m1,
Column('order_id', Integer, primary_key=True),
Column('amount', Numeric(10, 2), nullable=True),
Column('user_id', Integer),
Index('oid_ix', 'order_id', 'user_id')
)
m2 = MetaData()
Table('order', m2,
Column('order_id', Integer, primary_key=True),
Column('amount', Numeric(10, 2), nullable=True),
Column('user_id', Integer),
)
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], 'remove_index')
3
Example 19
Project: alembic Source File: test_autogen_diffs.py
def test_uses_explcit_schema_in_default_one(self):
default_schema = self.bind.dialect.default_schema_name
m1 = MetaData()
m2 = MetaData()
Table('a', m1, Column('x', String(50)))
Table('a', m2, Column('x', String(50)), schema=default_schema)
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs, [])
3
Example 20
Project: alembic Source File: test_batch.py
def test_rename_col_literal_ck(self):
impl = self._literal_ck_fixture()
impl.alter_column('tname', 'email', name='emol')
new_table = self._assert_impl(
# note this is wrong, we don't dig into the SQL
impl, ddl_contains="CHECK (email LIKE '%@%')",
colnames=["id", "email"])
eq_(
len([c for c in new_table.constraints
if isinstance(c, CheckConstraint)]), 1)
eq_(new_table.c.email.name, 'emol')
3
Example 21
Project: alembic Source File: test_autogen_indexes.py
def test_unique_flag_nothing_changed(self):
m1 = MetaData()
m2 = MetaData()
Table('unq_idx', m1,
Column('id', Integer, primary_key=True),
Column('x', String(20)),
Index('x', 'x', unique=True)
)
Table('unq_idx', m2,
Column('id', Integer, primary_key=True),
Column('x', String(20)),
Index('x', 'x', unique=True)
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 22
Project: alembic Source File: test_autogen_indexes.py
def test_mismatch_db_named_col_flag(self):
m1 = MetaData()
m2 = MetaData()
Table('item', m1,
Column('x', Integer),
UniqueConstraint('x', name="db_generated_name")
)
# test mismatch between unique=True and
# named uq constraint
Table('item', m2,
Column('x', Integer, unique=True)
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 23
Project: alembic Source File: test_autogen_diffs.py
def test_uses_explcit_schema_in_default_two(self):
default_schema = self.bind.dialect.default_schema_name
m1 = MetaData()
m2 = MetaData()
Table('a', m1, Column('x', String(50)))
Table('a', m2, Column('x', String(50)), schema=default_schema)
Table('a', m2, Column('y', String(50)), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(len(diffs), 1)
eq_(diffs[0][0], "add_table")
eq_(diffs[0][1].schema, "test_schema")
eq_(diffs[0][1].c.keys(), ['y'])
3
Example 24
Project: alembic Source File: test_autogen_indexes.py
def test_nothing_changed_one(self):
m1 = MetaData()
m2 = MetaData()
Table('nothing_changed', m1,
Column('x', String(20), unique=True, index=True)
)
Table('nothing_changed', m2,
Column('x', String(20), unique=True, index=True)
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 25
Project: alembic Source File: test_autogen_diffs.py
def test_version_table_in_target(self):
diffs = []
Table(
self.version_table_name,
self.m2, Column('x', Integer), schema=self.version_table_schema)
ctx = self.autogen_context
autogenerate._produce_net_changes(ctx, diffs)
eq_(diffs, [])
3
Example 26
Project: alembic Source File: test_autogen_indexes.py
def test_dont_add_uq_on_table_create(self):
m1 = MetaData()
m2 = MetaData()
Table('no_uq', m2, Column('x', String(50), unique=True))
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], "add_table")
eq_(len(diffs), 1)
assert UniqueConstraint in set(
type(c) for c in diffs[0][1].constraints)
3
Example 27
Project: alembic Source File: test_autogen_indexes.py
def test_nothing_changed_index_w_colkeys(self):
m1 = MetaData()
m2 = MetaData()
Table('nothing_changed', m1,
Column('x', String(20), key='nx'),
Index('foobar', 'nx')
)
Table('nothing_changed', m2,
Column('x', String(20), key='nx'),
Index('foobar', 'nx')
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 28
Project: alembic Source File: test_autogen_fks.py
def test_nochange_ondelete(self):
"""test case sensitivity"""
diffs = self._fk_opts_fixture(
{"ondelete": "caSCAde"}, {"ondelete": "CasCade"}
)
eq_(diffs, [])
3
Example 29
def test_add_ix_on_table_create(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m2, Column('x', String(50), index=True))
diffs = self._fixture(m1, m2)
eq_(diffs[0][0], "add_table")
eq_(len(diffs), 2)
assert UniqueConstraint not in set(
type(c) for c in diffs[0][1].constraints)
eq_(diffs[1][0], "add_index")
eq_(diffs[1][1].unique, False)
3
Example 30
Project: alembic Source File: test_autogen_diffs.py
def test_no_default_schema(self):
m1 = MetaData()
m2 = MetaData()
Table('a', m1, Column('x', String(50)))
Table('a', m2, Column('x', String(50)))
def _include_object(obj, name, type_, reflected, compare_to):
if type_ == "table":
return name in 'a' and obj.schema != 'main'
else:
return True
diffs = self._fixture(
m1, m2, include_schemas=True,
object_filters=_include_object)
eq_(len(diffs), 0)
3
Example 31
Project: alembic Source File: test_autogen_indexes.py
def test_unchanged_idx_non_col(self):
m1 = MetaData()
m2 = MetaData()
t1 = Table('add_ix', m1, Column('x', String(50)))
Index('foo_idx', t1.c.x.desc())
t2 = Table('add_ix', m2, Column('x', String(50)))
Index('foo_idx', t2.c.x.desc())
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 32
Project: alembic Source File: test_autogen_fks.py
def test_nochange_ondelete_restrict(self):
"""test the RESTRICT option which MySQL doesn't report on"""
diffs = self._fk_opts_fixture(
{"ondelete": "restrict"}, {"ondelete": "restrict"}
)
eq_(diffs, [])
3
Example 33
Project: alembic Source File: test_autogen_indexes.py
def test_idx_unchanged_schema(self):
m1 = MetaData()
m2 = MetaData()
Table('add_ix', m1, Column('x', String(50)), Index('ix_1', 'x'),
schema="test_schema")
Table('add_ix', m2, Column('x', String(50)),
Index('ix_1', 'x'), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs, [])
3
Example 34
Project: alembic Source File: test_autogen_diffs.py
def test_alt_schema_included_downgrade(self):
def include_object(obj, name, type_, reflected, compare_to):
if type_ == "table":
return name == "t2"
else:
return True
self._update_context(
object_filters=include_object,
include_schemas=True,
)
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(self.autogen_context, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], "remove_table")
eq_(diffs[0][1].schema, config.test_schema)
3
Example 35
Project: alembic Source File: test_autogen_indexes.py
def test_uq_unchanged_schema(self):
m1 = MetaData()
m2 = MetaData()
Table('add_uq', m1, Column('x', String(50)),
UniqueConstraint('x', name='ix_1'),
schema="test_schema")
Table('add_uq', m2, Column('x', String(50)),
UniqueConstraint('x', name='ix_1'),
schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs, [])
3
Example 36
Project: alembic Source File: test_autogen_fks.py
def test_nochange_ondelete_noaction(self):
"""test the NO ACTION option which generally comes back as None"""
diffs = self._fk_opts_fixture(
{"ondelete": "no action"}, {"ondelete": "no action"}
)
eq_(diffs, [])
3
Example 37
Project: alembic Source File: test_autogen_indexes.py
def test_uq_dropped(self):
m1 = MetaData()
m2 = MetaData()
Table(
'add_uq', m1,
Column('id', Integer, primary_key=True),
Column('name', String),
UniqueConstraint('name', name='uq_name')
)
Table(
'add_uq', m2,
Column('id', Integer, primary_key=True),
Column('name', String),
)
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs[0][0], "remove_constraint")
eq_(diffs[0][1].name, "uq_name")
eq_(len(diffs), 1)
3
Example 38
Project: alembic Source File: test_autogen_diffs.py
def test_column_type_not_modified_custom_compare_type_returns_False(self):
my_compare_type = Mock()
my_compare_type.return_value = False
self.context._user_compare_type = my_compare_type
diffs = []
ctx = self.autogen_context
diffs = []
autogenerate._produce_net_changes(ctx, diffs)
eq_(diffs, [])
3
Example 39
Project: alembic Source File: test_autogen_indexes.py
def test_remove_unique_index_not_reported(self):
m1 = MetaData()
Table('order', m1,
Column('order_id', Integer, primary_key=True),
Column('amount', Numeric(10, 2), nullable=True),
Column('user_id', Integer),
Index('oid_ix', 'order_id', 'user_id',
unique=True
)
)
m2 = MetaData()
Table('order', m2,
Column('order_id', Integer, primary_key=True),
Column('amount', Numeric(10, 2), nullable=True),
Column('user_id', Integer),
)
diffs = self._fixture(m1, m2)
eq_(diffs, [])
3
Example 40
Project: alembic Source File: test_autogen_fks.py
@config.requirements.fk_initially
@config.requirements.fk_deferrable
def test_add_initially_deferrable_nochange_one(self):
diffs = self._fk_opts_fixture(
{"deferrable": True, "initially": "immediate"},
{"deferrable": True, "initially": "immediate"}
)
eq_(diffs, [])
3
Example 41
Project: alembic Source File: test_batch.py
def test_rename_col_boolean(self):
impl = self._boolean_fixture()
impl.alter_column('tname', 'flag', name='bflag')
new_table = self._assert_impl(
impl, ddl_contains="CHECK (bflag IN (0, 1)",
colnames=["id", "flag"])
eq_(new_table.c.flag.name, 'bflag')
eq_(
len([
const for const
in new_table.constraints
if isinstance(const, CheckConstraint)]),
1)
3
Example 42
Project: alembic Source File: test_autogen_diffs.py
def test_alt_schema_included_upgrade(self):
def include_object(obj, name, type_, reflected, compare_to):
if type_ == "table":
return name == "t4"
else:
return True
self._update_context(
object_filters=include_object,
include_schemas=True,
)
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(self.autogen_context, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], "add_table")
eq_(diffs[0][1].schema, config.test_schema)
3
Example 43
Project: alembic Source File: test_batch.py
def test_rename_col_enum(self):
impl = self._enum_fixture()
impl.alter_column('tname', 'thing', name='thang')
new_table = self._assert_impl(
impl, ddl_contains="CHECK (thang IN ('a', 'b', 'c')",
colnames=["id", "thing"])
eq_(new_table.c.thing.name, 'thang')
eq_(
len([
const for const
in new_table.constraints
if isinstance(const, CheckConstraint)]),
1)
3
Example 44
Project: alembic Source File: test_autogen_fks.py
@config.requirements.fk_initially
@config.requirements.fk_deferrable
def test_add_initially_deferrable_nochange_three(self):
diffs = self._fk_opts_fixture(
{"deferrable": None, "initially": "deferred"},
{"deferrable": None, "initially": "deferred"}
)
eq_(diffs, [])
3
Example 45
Project: alembic Source File: test_autogen_diffs.py
def test_autogen(self):
uo = ops.UpgradeOps(ops=[])
ctx = self.autogen_context
autogenerate._produce_net_changes(ctx, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], "add_table")
eq_(diffs[0][1].name, "sometable")
eq_(diffs[1][0], "add_column")
eq_(diffs[1][3].key, "otherkey")
3
Example 46
Project: alembic Source File: test_autogen_diffs.py
def test_default_schema_omitted_upgrade(self):
def include_object(obj, name, type_, reflected, compare_to):
if type_ == "table":
return name == "t3"
else:
return True
self._update_context(
object_filters=include_object,
include_schemas=True,
)
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(self.autogen_context, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], "add_table")
eq_(diffs[0][1].schema, None)
3
Example 47
Project: alembic Source File: test_autogen_diffs.py
def test_default_schema_omitted_downgrade(self):
def include_object(obj, name, type_, reflected, compare_to):
if type_ == "table":
return name == "t1"
else:
return True
self._update_context(
object_filters=include_object,
include_schemas=True,
)
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(self.autogen_context, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], "remove_table")
eq_(diffs[0][1].schema, None)
3
Example 48
Project: alembic Source File: test_autogen_diffs.py
def test_uses_explcit_schema_in_default_three(self):
default_schema = self.bind.dialect.default_schema_name
m1 = MetaData()
m2 = MetaData()
Table('a', m1, Column('y', String(50)), schema="test_schema")
Table('a', m2, Column('x', String(50)), schema=default_schema)
Table('a', m2, Column('y', String(50)), schema="test_schema")
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(len(diffs), 1)
eq_(diffs[0][0], "add_table")
eq_(diffs[0][1].schema, default_schema)
eq_(diffs[0][1].c.keys(), ['x'])
3
Example 49
Project: alembic Source File: test_autogen_diffs.py
def test_diffs_order(self):
"""
Added in order to test that child tables(tables with FKs) are generated
before their parent tables
"""
ctx = self.autogen_context
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(ctx, uo)
diffs = uo.as_diffs()
eq_(diffs[0][0], 'add_table')
eq_(diffs[0][1].name, "parent")
eq_(diffs[1][0], 'add_table')
eq_(diffs[1][1].name, "child")
3
Example 50
Project: alembic Source File: test_autogen_indexes.py
def test_remove_named_unique_index(self):
m1 = MetaData()
m2 = MetaData()
Table('remove_idx', m1,
Column('x', Integer),
Index('xidx', 'x', unique=True)
)
Table('remove_idx', m2,
Column('x', Integer)
)
diffs = self._fixture(m1, m2)
if self.reports_unique_constraints:
diffs = set((cmd, obj.name) for cmd, obj in diffs)
eq_(diffs, set([("remove_index", "xidx")]))
else:
eq_(diffs, [])