From: Mike Bayer Date: Tue, 29 Nov 2011 17:43:20 +0000 (-0500) Subject: - add test for dialect/impl-specific affinity comparison, #5 X-Git-Tag: rel_0_1_0~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3c729dafee436a2b4e4536dda7987db45cef9a5;p=thirdparty%2Fsqlalchemy%2Falembic.git - add test for dialect/impl-specific affinity comparison, #5 --- diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 7e433665..0915fb51 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -1,5 +1,5 @@ from sqlalchemy import MetaData, Column, Table, Integer, String, Text, \ - Numeric, CHAR, ForeignKey, DATETIME + Numeric, CHAR, ForeignKey, DATETIME, TypeDecorator from sqlalchemy.types import NULLTYPE from alembic import autogenerate, context from unittest import TestCase @@ -217,6 +217,24 @@ class AutogenerateDiffTest(TestCase): ) assert not diff + def test_affinity_typedec(self): + class MyType(TypeDecorator): + impl = CHAR + + def load_dialect_impl(self, dialect): + if dialect.name == 'sqlite': + return dialect.type_descriptor(Integer()) + else: + return dialect.type_descriptor(CHAR(32)) + + diff = [] + autogenerate._compare_type("sometable", "somecol", + {"name":"somecol", "type":Integer(), + "nullable":True, "default":None}, + Column("somecol", MyType()), + diff, self.autogen_context + ) + assert not diff class AutogenRenderTest(TestCase): """test individual directives"""