diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-07-19 06:03:34 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-07-19 06:03:34 +0000 |
commit | e8257ad5311a4011625ed28bf6b308b1a9b43776 (patch) | |
tree | 1333b0763fab8278e7f72e4f145e23113154d72c /ipalib/tests | |
parent | ef7594ffe1bad349dc539f69ee90708460999a71 (diff) | |
download | freeipa-e8257ad5311a4011625ed28bf6b308b1a9b43776.tar.gz freeipa-e8257ad5311a4011625ed28bf6b308b1a9b43776.tar.xz freeipa-e8257ad5311a4011625ed28bf6b308b1a9b43776.zip |
5: Fleshed out base.Named, added corresponding unit tests
Diffstat (limited to 'ipalib/tests')
-rw-r--r-- | ipalib/tests/test_base.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/ipalib/tests/test_base.py b/ipalib/tests/test_base.py index 7a998f3c..e0e2d8e8 100644 --- a/ipalib/tests/test_base.py +++ b/ipalib/tests/test_base.py @@ -40,6 +40,77 @@ def read_only(obj, name): return getattr(obj, name) +class ClassChecker(object): + cls = None # Override this is subclasses + + def new(self, *args, **kw): + return self.cls(*args, **kw) + + def args(self): + return [] + + def kw(self): + return {} + + def std(self): + return self.new(*self.args(), **self.kw()) + + +class test_Named: + """ + Unit tests for `Named` class. + """ + cls = base.Named + + def new(self): + class tst_verb_object(self.cls): + prefix = 'tst' + return tst_verb_object() + + def test_prefix(self): + """ + Test prefix exception. + """ + # Test Example class: + class Example(self.cls): + prefix = 'eg' + + # Two test subclasses: + class do_stuff(Example): + pass + class eg_do_stuff(Example): + pass + + # Test that PrefixError is raised with incorrectly named subclass: + raised = False + try: + do_stuff() + except exceptions.PrefixError: + raised = True + assert raised + + # Test that correctly named subclass works: + eg_do_stuff() + + def test_name(self): + """ + Test Named.name property. + """ + obj = self.new() + assert read_only(obj, 'name') == 'verb_object' + + def test_name_cli(self): + """ + Test Named.name_cli property. + """ + obj = self.new() + assert read_only(obj, 'name_cli') == 'verb-object' + + + + + + class test_NameSpace: """ Unit tests for `NameSpace` class. |