diff options
Diffstat (limited to 'test/sql/test_columns.py')
-rw-r--r-- | test/sql/test_columns.py | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/test/sql/test_columns.py b/test/sql/test_columns.py index e9dabe142..3cbb01943 100644 --- a/test/sql/test_columns.py +++ b/test/sql/test_columns.py @@ -11,11 +11,11 @@ class ColumnDefinitionTest(TestBase): # flesh this out with explicit coverage... def columns(self): - return [ Column(), - Column('b'), + return [ Column(Integer), + Column('b', Integer), Column(Integer), Column('d', Integer), - Column(name='e'), + Column(Integer, name='e'), Column(type_=Integer), Column(Integer()), Column('h', Integer()), @@ -56,3 +56,40 @@ class ColumnDefinitionTest(TestBase): assert_raises(exc.ArgumentError, Column, 'foo', Integer, type_=Integer()) + +class ColumnOptionsTest(TestBase): + + def test_default_generators(self): + g1, g2 = Sequence('foo_id_seq'), ColumnDefault('f5') + assert Column(String, default=g1).default is g1 + assert Column(String, onupdate=g1).onupdate is g1 + assert Column(String, default=g2).default is g2 + assert Column(String, onupdate=g2).onupdate is g2 + + def test_type_required(self): + assert_raises(exc.ArgumentError, Column) + assert_raises(exc.ArgumentError, Column, "foo") + assert_raises(exc.ArgumentError, Column, default="foo") + assert_raises(exc.ArgumentError, Column, Sequence("a")) + assert_raises(exc.ArgumentError, Column, "foo", default="foo") + assert_raises(exc.ArgumentError, Column, "foo", Sequence("a")) + Column(ForeignKey('bar.id')) + Column("foo", ForeignKey('bar.id')) + Column(ForeignKey('bar.id'), default="foo") + Column(ForeignKey('bar.id'), Sequence("a")) + Column("foo", ForeignKey('bar.id'), default="foo") + Column("foo", ForeignKey('bar.id'), Sequence("a")) + + def test_column_info(self): + + c1 = Column('foo', String, info={'x':'y'}) + c2 = Column('bar', String, info={}) + c3 = Column('bat', String) + assert c1.info == {'x':'y'} + assert c2.info == {} + assert c3.info == {} + + for c in (c1, c2, c3): + c.info['bar'] = 'zip' + assert c.info['bar'] == 'zip' + |