diff options
Diffstat (limited to 'tests/test_autogen_render.py')
-rw-r--r-- | tests/test_autogen_render.py | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py index 8d08f66..52f3601 100644 --- a/tests/test_autogen_render.py +++ b/tests/test_autogen_render.py @@ -269,6 +269,81 @@ unique=False, """ "op.create_foreign_key('fk_a_id', 'b', 'a', ['a_id'], ['id'])" ) + def test_add_fk_constraint_kwarg(self): + m = MetaData() + t1 = Table('t', m, Column('c', Integer)) + t2 = Table('t2', m, Column('c_rem', Integer)) + + fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], onupdate="CASCADE") + if not util.sqla_08: + t1.append_constraint(fk) + + # SQLA 0.9 generates a u'' here for remote cols while 0.8 does not, + # so just whack out "'u" here from the generated + + eq_ignore_whitespace( + re.sub( + r"u'", "'", + autogenerate.render._add_fk_constraint( + fk, self.autogen_context)), + "op.create_foreign_key(None, 't', 't2', ['c'], ['c_rem'], " + "onupdate='CASCADE')" + ) + + fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], ondelete="CASCADE") + if not util.sqla_08: + t1.append_constraint(fk) + + eq_ignore_whitespace( + re.sub( + r"u'", "'", + autogenerate.render._add_fk_constraint( + fk, self.autogen_context)), + "op.create_foreign_key(None, 't', 't2', ['c'], ['c_rem'], " + "ondelete='CASCADE')" + ) + + fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], deferrable=True) + if not util.sqla_08: + t1.append_constraint(fk) + eq_ignore_whitespace( + re.sub( + r"u'", "'", + autogenerate.render._add_fk_constraint( + fk, self.autogen_context), + ), + "op.create_foreign_key(None, 't', 't2', ['c'], ['c_rem'], " + "deferrable=True)" + ) + + fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], initially="XYZ") + if not util.sqla_08: + t1.append_constraint(fk) + eq_ignore_whitespace( + re.sub( + r"u'", "'", + autogenerate.render._add_fk_constraint( + fk, self.autogen_context) + ), + "op.create_foreign_key(None, 't', 't2', ['c'], ['c_rem'], " + "initially='XYZ')" + ) + + fk = ForeignKeyConstraint( + [t1.c.c], [t2.c.c_rem], + initially="XYZ", ondelete="CASCADE", deferrable=True) + if not util.sqla_08: + t1.append_constraint(fk) + eq_ignore_whitespace( + re.sub( + r"u'", "'", + autogenerate.render._add_fk_constraint( + fk, self.autogen_context) + ), + "op.create_foreign_key(None, 't', 't2', ['c'], ['c_rem'], " + "ondelete='CASCADE', initially='XYZ', deferrable=True)" + ) + def test_add_fk_constraint_inline_colkeys(self): m = MetaData() Table('a', m, Column('id', Integer, key='aid', primary_key=True)) |