summaryrefslogtreecommitdiff
path: root/test/sql/test_defaults.py
diff options
context:
space:
mode:
authorMartin J. Hsu <martin.hsu@gmail.com>2015-09-25 16:15:28 +0800
committerMartin J. Hsu <martin.hsu@gmail.com>2015-10-15 10:46:33 +0800
commitc7d04beeac6ad54d638afb01783dee2d769aef9d (patch)
treed085f54e97c06138ecbb5ce30898f5b8aeda936f /test/sql/test_defaults.py
parent91255618ddb47553774c620a23479adf88c27b74 (diff)
downloadsqlalchemy-pr/204.tar.gz
- wrap ColumnDefault empty arg callables like functools.wraps, setting __name__, __doc__, and __module__pr/204
Diffstat (limited to 'test/sql/test_defaults.py')
-rw-r--r--test/sql/test_defaults.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py
index 673085cf7..e2250e834 100644
--- a/test/sql/test_defaults.py
+++ b/test/sql/test_defaults.py
@@ -301,6 +301,67 @@ class DefaultTest(fixtures.TestBase):
c = sa.ColumnDefault(fn)
c.arg("context")
+ def test_wrapping_update_wrapper_fn(self):
+ def my_fancy_default():
+ """run the fancy default"""
+ return 10
+
+ c = sa.ColumnDefault(my_fancy_default)
+ eq_(c.arg.__name__, "my_fancy_default")
+ eq_(c.arg.__doc__, "run the fancy default")
+
+ def test_wrapping_update_wrapper_fn_nodocstring(self):
+ def my_fancy_default():
+ return 10
+
+ c = sa.ColumnDefault(my_fancy_default)
+ eq_(c.arg.__name__, "my_fancy_default")
+ eq_(c.arg.__doc__, "my_fancy_default")
+
+ def test_wrapping_update_wrapper_cls(self):
+ class MyFancyDefault(object):
+ """a fancy default"""
+
+ def __call__(self):
+ """run the fancy default"""
+ return 10
+
+ c = sa.ColumnDefault(MyFancyDefault())
+ eq_(c.arg.__name__, "MyFancyDefault")
+ eq_(c.arg.__doc__, "run the fancy default")
+
+ def test_wrapping_update_wrapper_cls_noclassdocstring(self):
+ class MyFancyDefault(object):
+
+ def __call__(self):
+ """run the fancy default"""
+ return 10
+
+ c = sa.ColumnDefault(MyFancyDefault())
+ eq_(c.arg.__name__, "MyFancyDefault")
+ eq_(c.arg.__doc__, "run the fancy default")
+
+ def test_wrapping_update_wrapper_cls_nomethoddocstring(self):
+ class MyFancyDefault(object):
+ """a fancy default"""
+
+ def __call__(self):
+ return 10
+
+ c = sa.ColumnDefault(MyFancyDefault())
+ eq_(c.arg.__name__, "MyFancyDefault")
+ eq_(c.arg.__doc__, "a fancy default")
+
+ def test_wrapping_update_wrapper_cls_noclassdocstring_nomethoddocstring(self):
+ class MyFancyDefault(object):
+
+ def __call__(self):
+ return 10
+
+ c = sa.ColumnDefault(MyFancyDefault())
+ eq_(c.arg.__name__, "MyFancyDefault")
+ eq_(c.arg.__doc__, "MyFancyDefault")
+
@testing.fails_on('firebird', 'Data type unknown')
def test_standalone(self):
c = testing.db.engine.contextual_connect()