diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-22 21:50:53 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-22 21:50:53 +0000 |
commit | af52671e132818deaf266cd434338aff11064f01 (patch) | |
tree | c8fae0234063050f181f99c2154ea5f0d8ab6b5f /ipalib | |
parent | f60fa06ce23d25042d258bdb7ae1b782993b1e42 (diff) | |
download | freeipa-af52671e132818deaf266cd434338aff11064f01.tar.gz freeipa-af52671e132818deaf266cd434338aff11064f01.tar.xz freeipa-af52671e132818deaf266cd434338aff11064f01.zip |
187: Renamed plubic.obj to Object; reworked plublic.Object unit tests to use ClassChecker
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/plugins/example.py | 6 | ||||
-rw-r--r-- | ipalib/public.py | 20 | ||||
-rw-r--r-- | ipalib/tests/test_public.py | 19 |
3 files changed, 28 insertions, 17 deletions
diff --git a/ipalib/plugins/example.py b/ipalib/plugins/example.py index cff144bad..f7a5fe70a 100644 --- a/ipalib/plugins/example.py +++ b/ipalib/plugins/example.py @@ -126,14 +126,14 @@ api.register(service_find) # And to emphasis that the registration order doesn't matter, # we'll register the objects last: -class group(public.obj): +class group(public.Object): 'Group object' api.register(group) -class service(public.obj): +class service(public.Object): 'Service object' api.register(service) -class user(public.obj): +class user(public.Object): 'User object' api.register(user) diff --git a/ipalib/public.py b/ipalib/public.py index c0d67cd3d..c0ca52559 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -249,7 +249,7 @@ class Command(plugable.Plugin): self.execute(**kw) -class obj(plugable.Plugin): +class Object(plugable.Plugin): __public__ = frozenset(( 'Method', 'Property', @@ -266,17 +266,17 @@ class obj(plugable.Plugin): Property = property(__get_Property) def finalize(self, api): - super(obj, self).finalize(api) - self.__Method = self.__create_ns('Method') - self.__Property = self.__create_ns('Property') + super(Object, self).finalize(api) + self.__Method = self.__create_namespace('Method') + self.__Property = self.__create_namespace('Property') - def __create_ns(self, name): - return plugable.NameSpace(self.__filter(name)) + def __create_namespace(self, name): + return plugable.NameSpace(self.__filter_members(name)) - def __filter(self, name): + def __filter_members(self, name): namespace = getattr(self.api, name) assert type(namespace) is plugable.NameSpace - for proxy in namespace(): # Like dict.itervalues() + for proxy in namespace(): # Equivalent to dict.itervalues() if proxy.obj_name == self.name: yield proxy.__clone__('attr_name') @@ -312,7 +312,7 @@ class Attribute(plugable.Plugin): def finalize(self, api): super(Attribute, self).finalize(api) - self.__obj = api.obj[self.obj_name] + self.__obj = api.Object[self.obj_name] class Method(Attribute, Command): @@ -335,4 +335,4 @@ class Property(Attribute, option): class PublicAPI(plugable.API): def __init__(self): - super(PublicAPI, self).__init__(Command, obj, Method, Property) + super(PublicAPI, self).__init__(Command, Object, Method, Property) diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py index a6ae7d8e8..95bb7b9c1 100644 --- a/ipalib/tests/test_public.py +++ b/ipalib/tests/test_public.py @@ -321,10 +321,21 @@ class test_cmd(ClassChecker): assert 'execute' in self.cls.__public__ # Public -def test_obj(): - cls = public.obj - assert issubclass(cls, plugable.Plugin) +class test_Object(ClassChecker): + """ + Tests the `public.Object` class. + """ + _cls = public.Object + + def test_class(self): + assert self.cls.__bases__ == (plugable.Plugin,) + assert type(self.cls.Method) is property + assert type(self.cls.Property) is property + def test_init(self): + o = self.cls() + assert read_only(o, 'Method') is None + assert read_only(o, 'Property') is None class test_Attribute(ClassChecker): @@ -350,7 +361,7 @@ class test_Attribute(ClassChecker): def test_finalize(self): user_obj = 'The user public.Object instance' class api(object): - obj = dict(user=user_obj) + Object = dict(user=user_obj) class user_add(self.cls): pass o = user_add() |