summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-22 21:27:25 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-22 21:27:25 +0000
commitf60fa06ce23d25042d258bdb7ae1b782993b1e42 (patch)
treed8035cda77d98441ded2068fe1f9f51323f74e36 /ipalib
parent5bf6a9eb097fbaf1c048a4487e6ca6b9605b9f05 (diff)
downloadfreeipa-f60fa06ce23d25042d258bdb7ae1b782993b1e42.tar.gz
freeipa-f60fa06ce23d25042d258bdb7ae1b782993b1e42.tar.xz
freeipa-f60fa06ce23d25042d258bdb7ae1b782993b1e42.zip
186: Renamed public.attr to Attribute; reworked public.Attribute unit tests using ClassChecker
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/public.py12
-rw-r--r--ipalib/tests/test_public.py53
2 files changed, 38 insertions, 27 deletions
diff --git a/ipalib/public.py b/ipalib/public.py
index 4b988b511..c0d67cd3d 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -281,7 +281,7 @@ class obj(plugable.Plugin):
yield proxy.__clone__('attr_name')
-class attr(plugable.Plugin):
+class Attribute(plugable.Plugin):
__public__ = frozenset((
'obj',
'obj_name',
@@ -311,12 +311,12 @@ class attr(plugable.Plugin):
obj = property(__get_obj)
def finalize(self, api):
- super(attr, self).finalize(api)
+ super(Attribute, self).finalize(api)
self.__obj = api.obj[self.obj_name]
-class Method(attr, Command):
- __public__ = attr.__public__.union(Command.__public__)
+class Method(Attribute, Command):
+ __public__ = Attribute.__public__.union(Command.__public__)
def get_options(self):
for proxy in Command.get_options(self):
@@ -326,8 +326,8 @@ class Method(attr, Command):
yield proxy
-class Property(attr, option):
- __public__ = attr.__public__.union(option.__public__)
+class Property(Attribute, option):
+ __public__ = Attribute.__public__.union(option.__public__)
def get_doc(self, _):
return _('Property doc')
diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py
index dc004254f..a6ae7d8e8 100644
--- a/ipalib/tests/test_public.py
+++ b/ipalib/tests/test_public.py
@@ -327,27 +327,38 @@ def test_obj():
-def test_attr():
- cls = public.attr
- assert issubclass(cls, plugable.Plugin)
-
- class api(object):
- obj = dict(user='the user obj')
-
- class user_add(cls):
- pass
+class test_Attribute(ClassChecker):
+ """
+ Tests the `public.Attribute` class.
+ """
+ _cls = public.Attribute
- i = user_add()
- assert read_only(i, 'obj_name') == 'user'
- assert read_only(i, 'attr_name') == 'add'
- assert read_only(i, 'obj') is None
- i.finalize(api)
- assert read_only(i, 'api') is api
- assert read_only(i, 'obj') == 'the user obj'
+ def test_class(self):
+ assert self.cls.__bases__ == (plugable.Plugin,)
+ assert type(self.cls.obj) is property
+ assert type(self.cls.obj_name) is property
+ assert type(self.cls.attr_name) is property
- class example_prop0(cls):
- pass
- o = example_prop0()
+ def test_init(self):
+ class user_add(self.cls):
+ pass
+ o = user_add()
+ assert read_only(o, 'obj') is None
+ assert read_only(o, 'obj_name') == 'user'
+ assert read_only(o, 'attr_name') == 'add'
+
+ def test_finalize(self):
+ user_obj = 'The user public.Object instance'
+ class api(object):
+ obj = dict(user=user_obj)
+ class user_add(self.cls):
+ pass
+ o = user_add()
+ assert read_only(o, 'api') is None
+ assert read_only(o, 'obj') is None
+ o.finalize(api)
+ assert read_only(o, 'api') is api
+ assert read_only(o, 'obj') is user_obj
class test_Method(ClassChecker):
@@ -357,7 +368,7 @@ class test_Method(ClassChecker):
_cls = public.Method
def test_class(self):
- assert self.cls.__bases__ == (public.attr, public.Command)
+ assert self.cls.__bases__ == (public.Attribute, public.Command)
assert self.cls.implements(public.Command)
def get_subcls(self):
@@ -406,7 +417,7 @@ class test_prop(ClassChecker):
_cls = public.Property
def test_class(self):
- assert self.cls.__bases__ == (public.attr, public.option)
+ assert self.cls.__bases__ == (public.Attribute, public.option)
assert self.cls.implements(public.option)