]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- move additional enum compilation tests to postgresql/test_compiler.py
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 30 Nov 2013 21:12:20 +0000 (16:12 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 30 Nov 2013 21:12:20 +0000 (16:12 -0500)
test/dialect/postgresql/test_compiler.py
test/dialect/postgresql/test_types.py

index dd7df2be37107c65ab974056180fad4ab351a322..e64afb18669c343ccc1a948c1a3db57c6c5b68b1 100644 (file)
@@ -107,7 +107,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
                             'AS length_1', dialect=dialect)
 
 
-    def test_create_enum(self):
+    def test_create_drop_enum(self):
         # test escaping and unicode within CREATE TYPE for ENUM
         typ = postgresql.ENUM(
                     "val1", "val2", "val's 3", u('méil'), name="myname")
@@ -122,6 +122,30 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
                 "('val1', 'val2', 'val''s 3')"
         )
 
+    def test_generic_enum(self):
+        e1 = Enum('x', 'y', 'z', name='somename')
+        e2 = Enum('x', 'y', 'z', name='somename', schema='someschema')
+        self.assert_compile(postgresql.CreateEnumType(e1),
+                            "CREATE TYPE somename AS ENUM ('x', 'y', 'z')"
+                            )
+        self.assert_compile(postgresql.CreateEnumType(e2),
+                            "CREATE TYPE someschema.somename AS ENUM "
+                            "('x', 'y', 'z')")
+        self.assert_compile(postgresql.DropEnumType(e1),
+                            'DROP TYPE somename')
+        self.assert_compile(postgresql.DropEnumType(e2),
+                            'DROP TYPE someschema.somename')
+        t1 = Table('sometable', MetaData(), Column('somecolumn', e1))
+        self.assert_compile(schema.CreateTable(t1),
+                            'CREATE TABLE sometable (somecolumn '
+                            'somename)')
+        t1 = Table('sometable', MetaData(), Column('somecolumn',
+                   Enum('x', 'y', 'z', native_enum=False)))
+        self.assert_compile(schema.CreateTable(t1),
+                            "CREATE TABLE sometable (somecolumn "
+                            "VARCHAR(1), CHECK (somecolumn IN ('x', "
+                            "'y', 'z')))")
+
     def test_create_partial_index(self):
         m = MetaData()
         tbl = Table('testtbl', m, Column('data', Integer))
index aed77add53919e5d43a0970045a3f647390ef848..0675ebd5d39ee068780d18d1c09260f2b50a7f27 100644 (file)
@@ -96,34 +96,10 @@ class FloatCoercionTest(fixtures.TablesTest, AssertsExecutionResults):
             ([5], [5], [6], [decimal.Decimal("6.4")])
         )
 
-class EnumTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL):
+class EnumTest(fixtures.TestBase, AssertsExecutionResults):
 
     __only_on__ = 'postgresql'
-    __dialect__ = postgresql.dialect()
 
-    def test_compile(self):
-        e1 = Enum('x', 'y', 'z', name='somename')
-        e2 = Enum('x', 'y', 'z', name='somename', schema='someschema')
-        self.assert_compile(postgresql.CreateEnumType(e1),
-                            "CREATE TYPE somename AS ENUM ('x','y','z')"
-                            )
-        self.assert_compile(postgresql.CreateEnumType(e2),
-                            "CREATE TYPE someschema.somename AS ENUM "
-                            "('x','y','z')")
-        self.assert_compile(postgresql.DropEnumType(e1),
-                            'DROP TYPE somename')
-        self.assert_compile(postgresql.DropEnumType(e2),
-                            'DROP TYPE someschema.somename')
-        t1 = Table('sometable', MetaData(), Column('somecolumn', e1))
-        self.assert_compile(schema.CreateTable(t1),
-                            'CREATE TABLE sometable (somecolumn '
-                            'somename)')
-        t1 = Table('sometable', MetaData(), Column('somecolumn',
-                   Enum('x', 'y', 'z', native_enum=False)))
-        self.assert_compile(schema.CreateTable(t1),
-                            "CREATE TABLE sometable (somecolumn "
-                            "VARCHAR(1), CHECK (somecolumn IN ('x', "
-                            "'y', 'z')))")
 
     @testing.fails_on('postgresql+zxjdbc',
                       'zxjdbc fails on ENUM: column "XXX" is of type '