summaryrefslogtreecommitdiff
path: root/tests/test_autogen_indexes.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_autogen_indexes.py')
-rw-r--r--tests/test_autogen_indexes.py29
1 files changed, 22 insertions, 7 deletions
diff --git a/tests/test_autogen_indexes.py b/tests/test_autogen_indexes.py
index 702e2df..f798dd3 100644
--- a/tests/test_autogen_indexes.py
+++ b/tests/test_autogen_indexes.py
@@ -36,6 +36,8 @@ class NoUqReflection(object):
class AutogenerateUniqueIndexTest(AutogenFixtureTest, TestBase):
reports_unique_constraints = True
+ reports_unique_constraints_as_indexes = False
+
__requires__ = ('unique_constraint_reflection', )
__only_on__ = 'sqlite'
@@ -441,8 +443,17 @@ class AutogenerateUniqueIndexTest(AutogenFixtureTest, TestBase):
('x' in obj.name) if obj.name is not None else False)
for cmd, obj in diffs)
if self.reports_unnamed_constraints:
- assert ("remove_constraint", True) in diffs
- assert ("add_constraint", False) in diffs
+ if self.reports_unique_constraints_as_indexes:
+ eq_(
+ diffs,
+ set([("remove_index", True), ("add_constraint", False)])
+ )
+ else:
+ eq_(
+ diffs,
+ set([("remove_constraint", True),
+ ("add_constraint", False)])
+ )
def test_remove_named_unique_index(self):
m1 = MetaData()
@@ -453,14 +464,14 @@ class AutogenerateUniqueIndexTest(AutogenFixtureTest, TestBase):
Index('xidx', 'x', unique=True)
)
Table('remove_idx', m2,
- Column('x', Integer),
+ Column('x', Integer)
)
diffs = self._fixture(m1, m2)
if self.reports_unique_constraints:
diffs = set((cmd, obj.name) for cmd, obj in diffs)
- assert ("remove_index", "xidx") in diffs
+ eq_(diffs, set([("remove_index", "xidx")]))
else:
eq_(diffs, [])
@@ -479,8 +490,11 @@ class AutogenerateUniqueIndexTest(AutogenFixtureTest, TestBase):
diffs = self._fixture(m1, m2)
if self.reports_unique_constraints:
- diffs = ((cmd, obj.name) for cmd, obj in diffs)
- assert ("remove_constraint", "xidx") in diffs
+ diffs = set((cmd, obj.name) for cmd, obj in diffs)
+ if self.reports_unique_constraints_as_indexes:
+ eq_(diffs, set([("remove_index", "xidx")]))
+ else:
+ eq_(diffs, set([("remove_constraint", "xidx")]))
else:
eq_(diffs, [])
@@ -628,6 +642,7 @@ class PGUniqueIndexTest(AutogenerateUniqueIndexTest):
class MySQLUniqueIndexTest(AutogenerateUniqueIndexTest):
reports_unnamed_constraints = True
+ reports_unique_constraints_as_indexes = True
__only_on__ = 'mysql'
def test_removed_idx_index_named_as_column(self):
@@ -640,7 +655,6 @@ class MySQLUniqueIndexTest(AutogenerateUniqueIndexTest):
assert False, "unexpected success"
-
class NoUqReflectionIndexTest(NoUqReflection, AutogenerateUniqueIndexTest):
reports_unique_constraints = False
__only_on__ = 'sqlite'
@@ -765,6 +779,7 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
eq_(len(diffs), 1)
@config.requirements.unique_constraint_reflection
+ @config.requirements.reflects_unique_constraints_unambiguously
def test_remove_connection_uq(self):
m1 = MetaData()
m2 = MetaData()