summaryrefslogtreecommitdiff
path: root/test/sql/test_columns.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql/test_columns.py')
-rw-r--r--test/sql/test_columns.py43
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'
+