Add a new objectclass, ipaObject, that will add a UUID to many IPA objects

ipaObject is defined as an auxiliary objectclass so it is up to the
plugin author to ensure that the objectclass is included an a UUID generated.
ipaUniqueId is a MUST attribute so if you include the objectclass you must
ensure that the uuid is generated.

This also fixes up some unrelated unit test failures.
This commit is contained in:
Rob Crittenden
2009-08-10 16:24:10 -04:00
committed by Jason Gerard DeRose
parent dbeb409ebd
commit c781e8a57d
16 changed files with 54 additions and 31 deletions

View File

@@ -45,6 +45,7 @@ class test_group(XMLRPC_test):
assert res
assert_attr_equal(res, 'description', self.description)
assert_attr_equal(res, 'cn', self.cn)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_group_add(self):
"""
@@ -136,24 +137,24 @@ class test_group(XMLRPC_test):
assert_attr_equal(res, 'cn', self.cn)
assert res.get('gidnumber', '')
def test_9_group_del_member(self):
def test_9_group_remove_member(self):
"""
Test the `xmlrpc.group_del_member` method.
Test the `xmlrpc.group_remove_member` method.
"""
kw = {}
kw['groups'] = self.cn2
(total, failed, res) = api.Command['group_del_member'](self.cn, **kw)
(total, failed, res) = api.Command['group_remove_member'](self.cn, **kw)
assert res
assert total == 1
def test_a_group_del_member(self):
def test_a_group_remove_member(self):
"""
Test the `xmlrpc.group_del_member` method with non-member
Test the `xmlrpc.group_remove_member` method with non-member
"""
kw = {}
kw['groups'] = u'notfound'
# an error isn't thrown, the list of failed members is returned
(total, failed, res) = api.Command['group_del_member'](self.cn, **kw)
(total, failed, res) = api.Command['group_remove_member'](self.cn, **kw)
assert total == 0
assert 'notfound' in failed

View File

@@ -45,6 +45,7 @@ class test_host(XMLRPC_test):
assert_attr_equal(res, 'description', self.description)
assert_attr_equal(res, 'fqdn', self.fqdn)
assert_attr_equal(res, 'localityname', self.localityname)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_host_show(self):
"""

View File

@@ -47,6 +47,7 @@ class test_hostgroup(XMLRPC_test):
assert res
assert_attr_equal(res, 'description', self.description)
assert_attr_equal(res, 'cn', self.cn)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_host_add(self):
"""
@@ -101,13 +102,13 @@ class test_hostgroup(XMLRPC_test):
assert_attr_equal(res, 'description', newdesc)
assert_attr_equal(res, 'cn', self.cn)
def test_7_hostgroup_del_member(self):
def test_7_hostgroup_remove_member(self):
"""
Test the `xmlrpc.hostgroup_del_member` method.
Test the `xmlrpc.hostgroup_remove_member` method.
"""
kw = {}
kw['hosts'] = self.host_fqdn
(total, failed, res) = api.Command['hostgroup_del_member'](self.cn, **kw)
(total, failed, res) = api.Command['hostgroup_remove_member'](self.cn, **kw)
assert res
assert res[1].get('member', []) == []

View File

@@ -164,7 +164,7 @@ class test_netgroup(XMLRPC_test):
"""
Test the `xmlrpc.netgroup_show` method.
"""
(dn, res) = api.Command['netgroup_show'](self.ng_cn)
(dn, res) = api.Command['netgroup_show'](self.ng_cn, all=True)
assert res
assert_attr_equal(res, 'description', self.ng_description)
assert_attr_equal(res, 'cn', self.ng_cn)
@@ -172,6 +172,7 @@ class test_netgroup(XMLRPC_test):
assert_is_member(res, 'cn=%s' % self.hg_cn)
assert_is_member(res, 'uid=%s' % self.user_uid)
assert_is_member(res, 'cn=%s' % self.group_cn)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_7_netgroup_find(self):
"""
@@ -198,56 +199,56 @@ class test_netgroup(XMLRPC_test):
assert_attr_equal(res, 'description', newdesc)
assert_attr_equal(res, 'cn', self.ng_cn)
def test_9_netgroup_del_member(self):
def test_9_netgroup_remove_member(self):
"""
Test the `xmlrpc.hostgroup_del_member` method.
Test the `xmlrpc.hostgroup_remove_member` method.
"""
kw = {}
kw['hosts'] = self.host_fqdn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 1
kw = {}
kw['hostgroups'] = self.hg_cn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 1
kw = {}
kw['users'] = self.user_uid
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 1
kw = {}
kw['groups'] = self.group_cn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 1
def test_a_netgroup_del_member(self):
def test_a_netgroup_remove_member(self):
"""
Test the `xmlrpc.netgroup_del_member` method again to test not found.
Test the `xmlrpc.netgroup_remove_member` method again to test not found.
"""
kw = {}
kw['hosts'] = self.host_fqdn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 0
assert self.host_fqdn in failed
kw = {}
kw['hostgroups'] = self.hg_cn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 0
assert self.hg_cn in failed
kw = {}
kw['users'] = self.user_uid
(dn, res) = api.Command['netgroup_show'](self.ng_cn, all=True)
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 0
assert self.user_uid in failed
kw = {}
kw['groups'] = self.group_cn
(total, failed, res) = api.Command['netgroup_del_member'](self.ng_cn, **kw)
(total, failed, res) = api.Command['netgroup_remove_member'](self.ng_cn, **kw)
assert total == 0
assert self.group_cn in failed

View File

@@ -47,6 +47,7 @@ class test_passwd(XMLRPC_test):
assert_attr_equal(res, 'sn', self.sn)
assert_attr_equal(res, 'uid', self.uid)
assert_attr_equal(res, 'homedirectory', self.home)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_set_passwd(self):
"""

View File

@@ -46,6 +46,7 @@ class test_rolegroup(XMLRPC_test):
assert res
assert_attr_equal(res, 'description', self.description)
assert_attr_equal(res, 'cn', self.cn)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_add_group(self):
"""
@@ -102,13 +103,13 @@ class test_rolegroup(XMLRPC_test):
assert_attr_equal(res, 'description', newdesc)
assert_attr_equal(res, 'cn', self.cn)
def test_7_rolegroup_del_member(self):
def test_7_rolegroup_remove_member(self):
"""
Test the `xmlrpc.rolegroup_del_member` method.
Test the `xmlrpc.rolegroup_remove_member` method.
"""
kw = {}
kw['groups'] = self.rolegroup_cn
(total, failed, res) = api.Command['rolegroup_del_member'](self.cn, **kw)
(total, failed, res) = api.Command['rolegroup_remove_member'](self.cn, **kw)
assert total == 1
def test_8_rolegroup_del(self):

View File

@@ -42,6 +42,7 @@ class test_service(XMLRPC_test):
(dn, res) = api.Command['service_add'](**self.kw)
assert res
assert_attr_equal(res, 'krbprincipalname', self.principal)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_service_add(self):
"""

View File

@@ -49,6 +49,7 @@ class test_taskgroup(XMLRPC_test):
assert res
assert_attr_equal(res, 'description', self.description)
assert_attr_equal(res, 'cn', self.cn)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_add_rolegroup(self):
"""
@@ -124,7 +125,7 @@ class test_taskgroup(XMLRPC_test):
"""
kw = {}
kw['groups'] = self.taskgroup_cn
(total, failed, res) = api.Command['taskgroup_del_member'](self.cn, **kw)
(total, failed, res) = api.Command['taskgroup_remove_member'](self.cn, **kw)
assert total == 1
def test_9_taskgroup_del(self):

View File

@@ -48,6 +48,7 @@ class test_user(XMLRPC_test):
assert_attr_equal(res, 'sn', self.sn)
assert_attr_equal(res, 'uid', self.uid)
assert_attr_equal(res, 'homedirectory', self.home)
assert_attr_equal(res, 'objectclass', 'ipaobject')
def test_2_user_add(self):
"""