mirror of
https://github.com/samba-team/samba.git
synced 2025-02-18 17:57:55 +03:00
s4:ldap.py - enhance and activate the "description" attribute test
It tests only the "description" attribute in particular since it behaves differently from all others.
This commit is contained in:
parent
4f25eec5a5
commit
a839422fc5
@ -591,14 +591,9 @@ class BasicTests(unittest.TestCase):
|
|||||||
|
|
||||||
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
def test_multi_valued_attributes(self):
|
def test_description_attribute(self):
|
||||||
"""Test multi-valued attributes"""
|
"""Test description attribute"""
|
||||||
print "Test multi-valued attributes"""
|
print "Test description attribute"""
|
||||||
|
|
||||||
# TODO: In this test I added some special tests where I got very unusual
|
|
||||||
# results back from a real AD. s4 doesn't match them and I've no idea how to
|
|
||||||
# implement those error cases (maybe there exists a special trigger for
|
|
||||||
# "description" attributes which handle them)
|
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
"dn": "cn=ldaptestgroup,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
@ -606,6 +601,13 @@ class BasicTests(unittest.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"description": "desc1"})
|
"description": "desc1"})
|
||||||
|
|
||||||
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
|
self.assertTrue(len(res) == 1)
|
||||||
|
self.assertTrue("description" in res[0])
|
||||||
|
self.assertTrue(len(res[0]["description"]) == 1)
|
||||||
|
self.assertEquals(res[0]["description"][0], "desc1")
|
||||||
|
|
||||||
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -613,6 +615,16 @@ class BasicTests(unittest.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"description": ["desc1", "desc2"]})
|
"description": ["desc1", "desc2"]})
|
||||||
|
|
||||||
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
|
self.assertTrue(len(res) == 1)
|
||||||
|
self.assertTrue("description" in res[0])
|
||||||
|
self.assertTrue(len(res[0]["description"]) == 2)
|
||||||
|
self.assertTrue(res[0]["description"][0] == "desc1" or
|
||||||
|
res[0]["description"][1] == "desc1")
|
||||||
|
self.assertTrue(res[0]["description"][0] == "desc2" or
|
||||||
|
res[0]["description"][1] == "desc2")
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_REPLACE,
|
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_REPLACE,
|
||||||
@ -623,21 +635,60 @@ class BasicTests(unittest.TestCase):
|
|||||||
except LdbError, (num, _):
|
except LdbError, (num, _):
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_DELETE,
|
||||||
|
"description")
|
||||||
|
ldb.modify(m)
|
||||||
|
|
||||||
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
|
self.ldb.add({
|
||||||
|
"dn": "cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
"objectclass": "group" })
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
m["description"] = MessageElement("desc1", FLAG_MOD_REPLACE,
|
m["description"] = MessageElement("desc1", FLAG_MOD_REPLACE,
|
||||||
"description")
|
"description")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
|
|
||||||
# m = Message()
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
# m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
# m["description"] = MessageElement("desc3", FLAG_MOD_ADD,
|
self.assertTrue(len(res) == 1)
|
||||||
# "description")
|
self.assertTrue("description" in res[0])
|
||||||
# try:
|
self.assertTrue(len(res[0]["description"]) == 1)
|
||||||
# ldb.modify(m)
|
self.assertEquals(res[0]["description"][0], "desc1")
|
||||||
# self.fail()
|
|
||||||
# except LdbError, (num, _):
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
# self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
|
||||||
|
self.ldb.add({
|
||||||
|
"dn": "cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
"objectclass": "group",
|
||||||
|
"description": ["desc1", "desc2"]})
|
||||||
|
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
m["description"] = MessageElement("desc1", FLAG_MOD_REPLACE,
|
||||||
|
"description")
|
||||||
|
ldb.modify(m)
|
||||||
|
|
||||||
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
|
self.assertTrue(len(res) == 1)
|
||||||
|
self.assertTrue("description" in res[0])
|
||||||
|
self.assertTrue(len(res[0]["description"]) == 1)
|
||||||
|
self.assertEquals(res[0]["description"][0], "desc1")
|
||||||
|
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
m["description"] = MessageElement("desc3", FLAG_MOD_ADD,
|
||||||
|
"description")
|
||||||
|
try:
|
||||||
|
ldb.modify(m)
|
||||||
|
self.fail()
|
||||||
|
except LdbError, (num, _):
|
||||||
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -654,6 +705,10 @@ class BasicTests(unittest.TestCase):
|
|||||||
m["description"] = MessageElement("desc1", FLAG_MOD_DELETE,
|
m["description"] = MessageElement("desc1", FLAG_MOD_DELETE,
|
||||||
"description")
|
"description")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
|
self.assertTrue(len(res) == 1)
|
||||||
|
self.assertFalse("description" in res[0])
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -665,22 +720,29 @@ class BasicTests(unittest.TestCase):
|
|||||||
except LdbError, (num, _):
|
except LdbError, (num, _):
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
# m = Message()
|
m = Message()
|
||||||
# m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
# m["description"] = MessageElement(["desc3", "desc4"], FLAG_MOD_ADD,
|
m["description"] = MessageElement(["desc3", "desc4"], FLAG_MOD_ADD,
|
||||||
# "description")
|
"description")
|
||||||
# try:
|
try:
|
||||||
# ldb.modify(m)
|
ldb.modify(m)
|
||||||
# self.fail()
|
self.fail()
|
||||||
# except LdbError, (num, _):
|
except LdbError, (num, _):
|
||||||
# self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
m["description"] = MessageElement("desc3", FLAG_MOD_ADD,
|
m["description"] = MessageElement("desc1", FLAG_MOD_ADD,
|
||||||
"description")
|
"description")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
|
|
||||||
|
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["description"])
|
||||||
|
self.assertTrue(len(res) == 1)
|
||||||
|
self.assertTrue("description" in res[0])
|
||||||
|
self.assertTrue(len(res[0]["description"]) == 1)
|
||||||
|
self.assertEquals(res[0]["description"][0], "desc1")
|
||||||
|
|
||||||
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
def test_empty_messages(self):
|
def test_empty_messages(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user