Univention Bugzilla – Attachment 8363 Details for
Bug 43395
Traceback: univention.admin.defaults tries to modify default values
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
unittest for univention.admin#property.default
test-univention-admin.py (text/plain), 2.87 KB, created by
Philipp Hahn
on 2017-01-23 10:20:29 CET
(
hide
)
Description:
unittest for univention.admin#property.default
Filename:
MIME Type:
Creator:
Philipp Hahn
Created:
2017-01-23 10:20:29 CET
Size:
2.87 KB
patch
obsolete
>#!/usr/bin/python > >from univention.admin import property >import unittest >from argparse import Namespace as N > > >class FakeObject(dict): > set_defaults = True > > >class TestProperty(unittest.TestCase): > > def test_default_sv(self): > p = property() > o = N(set_defaults=False) > self.assertEqual(p.default(o), '') > > def test_default_mv(self): > p = property(multivalue=True) > o = N(set_defaults=False) > self.assertEqual(p.default(o), []) > > def test_base_default_sv(self): > p = property() > o = FakeObject() > self.assertIsNone(p.default(o)) > > def test_base_default_mv(self): > p = property(multivalue=True) > o = FakeObject() > self.assertEqual(p.default(o), []) > > def test_str_default_sv(self): > p = property(default='x') > o = FakeObject() > self.assertEqual(p.default(o), 'x') > > # def test_str_default_mv(self): > # p = property(multivalue=True, default=('x', 'y')) > # o = N(set_defaults=True) > # self.assertEqual(p.default(o), ['x', 'y']) > > def test_complex_syntax(self): > s = N(subsyntaxes=()) > p = property(multivalue=False, default=(('x', 'y'),), syntax=s) > o = FakeObject() > self.assertEqual(p.default(o), ('x', 'y')) > > def test_template_sv_empty(self): > p = property(multivalue=False, default=('templ', ['prop'])) > o = FakeObject(prop='') > self.assertIsNone(p.default(o)) > > def test_template_sv_set(self): > p = property(multivalue=False, default=('<prop>', ['prop'])) > o = FakeObject(prop='value') > self.assertEqual(p.default(o), 'value') > > def test_template_mv_set(self): > p = property(multivalue=True, default=('<prop1>', '<prop2>')) > o = FakeObject(prop1='value1', prop2='value2') > self.assertEqual(p.default(o), ['value1', 'value2']) > > def test_template_mv_incomplete(self): > p = property(multivalue=True, default=('<prop>', None)) > o = FakeObject() > self.assertEqual(p.default(o), ['<prop>']) > > def test_template_mv_empty(self): > p = property(multivalue=True, default=('', None)) > o = FakeObject() > self.assertEqual(p.default(o), []) > > def test_callable_set(self): > x = object() > o = FakeObject(prop='value1') > f = lambda obj, extra: 'value2' if extra is x and obj is o else 'error' > p = property(multivalue=False, default=(f, ['prop'], x)) > self.assertEqual(p.default(o), 'value2') > > def test_callable_empty_sv(self): > x = object() > o = FakeObject(prop='') > f = lambda obj, extra: 1 / 0 > p = property(multivalue=False, default=(f, ['prop'], x)) > self.assertIsNone(p.default(o)) > > def test_callable_empty_mv(self): > x = object() > o = FakeObject(prop='') > f = lambda obj, extra: 1 / 0 > p = property(multivalue=True, default=(f, ['prop'], x)) > self.assertEqual(p.default(o), []) > > def test_fallback_sv(self): > o = FakeObject() > p = property(multivalue=False, default=(None,)) > self.assertIsNone(p.default(o)) > > def test_fallback_mv(self): > o = FakeObject() > p = property(multivalue=True, default=(None,)) > self.assertEqual(p.default(o), []) > > >if __name__ == '__main__': > unittest.main()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 43395
: 8363 |
8364