1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-28 07:21:54 +03:00

Make a few more tests pass.

This commit is contained in:
Jelmer Vernooij 2008-01-11 01:47:32 +01:00
parent 0c27eabbc4
commit 017aa400c7

View File

@ -34,21 +34,21 @@ lp = param.LoadParm()
if opts.configfile:
lp.load(opts.configfile)
def delete_force(ldb, dn):
try:
ldb.delete(dn)
except LdbError, (num, _):
if num != 32: # LDAP_NO_SUCH_OBJECT
assert False
def assertEquals(a1, a2):
assert a1 == a2
def basic_tests(ldb, gc_ldb, base_dn, configuration_dn, schema_dn):
print "Running basic tests"
try:
ldb.delete("cn=ldaptestuser,cn=users," + base_dn)
except LdbError, (num, _):
assert num == 32 # LDAP_NO_SUCH_OBJECT
try:
ldb.delete("cn=ldaptestgroup,cn=users," + base_dn)
except LdbError, (num, _):
assert num == 32 # LDAP_NO_SUCH_OBJECT
delete_force(ldb, "cn=ldaptestuser,cn=users," + base_dn)
delete_force(ldb, "cn=ldaptestgroup,cn=users," + base_dn)
print "Testing group add with invalid member"
try:
@ -57,7 +57,8 @@ def basic_tests(ldb, gc_ldb, base_dn, configuration_dn, schema_dn):
"objectclass": "group",
"member": "cn=ldaptestuser,cn=useRs," + base_dn})
except LdbError, (num, _):
assert num == 32 # LDAP_NO_SUCH_OBJECT
if num != 32: # LDAP_NO_SUCH_OBJECT
assert False
else:
assert False
@ -190,53 +191,47 @@ servicePrincipalName: host/ldaptest2computer29
#print len(res[0]["servicePrincipalName;range=0-*"])
assertEquals(len(res[0]["servicePrincipalName;range=0-*"]), 30)
attrs = ["servicePrincipalName;range=0-19"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=0-19"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
# print res[0]["servicePrincipalName;range=0-19"].length
assertEquals(res[0]["servicePrincipalName;range=0-19"].length, 20)
assertEquals(len(res[0]["servicePrincipalName;range=0-19"]), 20)
attrs = ["servicePrincipalName;range=0-30"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=0-*"].length, 30)
attrs = ["servicePrincipalName;range=0-40"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=0-30"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=0-*"].length, 30)
assertEquals(len(res[0]["servicePrincipalName;range=0-*"]), 30)
attrs = ["servicePrincipalName;range=30-40"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=0-40"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=30-*"].length, 0)
assertEquals(len(res[0]["servicePrincipalName;range=0-*"]), 30)
attrs = ["servicePrincipalName;range=10-40"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=30-40"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=10-*"].length, 20)
assertEquals(len(res[0]["servicePrincipalName;range=30-*"]), 0)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=10-40"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(len(res[0]["servicePrincipalName;range=10-*"]), 20)
# pos_11 = res[0]["servicePrincipalName;range=10-*"][18]
attrs = ["servicePrincipalName;range=11-40"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=11-40"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=11-*"].length, 19)
assertEquals(len(res[0]["servicePrincipalName;range=11-*"]), 19)
# print res[0]["servicePrincipalName;range=11-*"][18]
# print pos_11
# assertEquals((res[0]["servicePrincipalName;range=11-*"][18]), pos_11)
attrs = ["servicePrincipalName;range=11-15"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName;range=11-15"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
assertEquals(res[0]["servicePrincipalName;range=11-15"].length, 5)
assertEquals(len(res[0]["servicePrincipalName;range=11-15"]), 5)
# assertEquals(res[0]["servicePrincipalName;range=11-15"][4], pos_11)
attrs = ["servicePrincipalName"]
res = ldb.search(base_dn, "(cn=ldaptest2computer))", SCOPE_SUBTREE, attrs)
res = ldb.search(base_dn, expression="(cn=ldaptest2computer))", scope=SCOPE_SUBTREE, attrs=["servicePrincipalName"])
assert len(res) == 1, "Could not find (cn=ldaptest2computer)"
# print res[0]["servicePrincipalName"][18]
# print pos_11
assertEquals(res[0]["servicePrincipalName"].length, 30)
assertEquals(len(res[0]["servicePrincipalName"]), 30)
# assertEquals(res[0]["servicePrincipalName"][18], pos_11)
try:
@ -272,9 +267,9 @@ servicePrincipalName: host/ldaptest2computer29
res = ldb.search(expression="(&(anr==ldap)(objectClass=user))")
assert len(res) == 1, "Could not find (&(anr==ldap)(objectClass=user)). Found only %d for (&(anr=ldap)(objectClass=user))" % len(res)
assertEquals(res[0].dn, ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser")
assertEquals(res[0].name, "ldaptestuser")
assertEquals(str(res[0].dn), ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0]["cn"][0], "ldaptestuser")
assertEquals(res[0]["name"], "ldaptestuser")
# Testing ldb.search for (&(anr=testy)(objectClass=user))
res = ldb.search(expression="(&(anr=testy)(objectClass=user))")
@ -288,41 +283,41 @@ servicePrincipalName: host/ldaptest2computer29
res = ldb.search(expression="(&(anr==testy ldap)(objectClass=user))")
assert len(res) == 1, "Found only %d for (&(anr==ldap testy)(objectClass=user))" % len(res)
assertEquals(res[0].dn, ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser")
assertEquals(res[0].name, "ldaptestuser")
assertEquals(str(res[0].dn), ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0]["cn"][0], "ldaptestuser")
assertEquals(res[0]["name"][0], "ldaptestuser")
# Testing ldb.search for (&(anr==testy ldap)(objectClass=user))
res = ldb.search(expression="(&(anr==testy ldap)(objectClass=user))")
assert len(res) == 1, "Could not find (&(anr==testy ldap)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser")
assertEquals(res[0].name, "ldaptestuser")
assertEquals(str(res[0].dn), ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0]["cn"][0], "ldaptestuser")
assertEquals(res[0]["name"][0], "ldaptestuser")
# Testing ldb.search for (&(anr=testy ldap user)(objectClass=user))
res = ldb.search(expression="(&(anr=testy ldap user)(objectClass=user))")
assert len(res) == 1, "Could not find (&(anr=testy ldap user)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser2")
assertEquals(res[0].name, "ldaptestuser2")
assertEquals(str(res[0].dn), ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestuser2")
assertEquals(res[0]["name"], "ldaptestuser2")
# Testing ldb.search for (&(anr==testy ldap user2)(objectClass=user))
res = ldb.search(expression="(&(anr==testy ldap user2)(objectClass=user))")
assert len(res) == 1, "Could not find (&(anr==testy ldap user2)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser2")
assertEquals(res[0].name, "ldaptestuser2")
assertEquals(str(res[0].dn), ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestuser2")
assertEquals(res[0]["name"], "ldaptestuser2")
# Testing ldb.search for (&(anr==ldap user2)(objectClass=user))
res = ldb.search(expression="(&(anr==ldap user2)(objectClass=user))")
assert len(res) == 1, "Could not find (&(anr==ldap user2)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser2")
assertEquals(res[0].name, "ldaptestuser2")
assertEquals(str(res[0].dn), ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestuser2")
assertEquals(res[0]["name"], "ldaptestuser2")
# Testing ldb.search for (&(anr==not ldap user2)(objectClass=user))
res = ldb.search(expression="(&(anr==not ldap user2)(objectClass=user))")
@ -341,7 +336,7 @@ member: cn=ldaptestuser2,cn=users,""" + base_dn + """
member: cn=ldaptestcomputer,cn=computers,""" + base_dn + """
""")
ldb.delete("cn=ldaptestuser3,cn=users," + base_dn)
delete_force(ldb, "cn=ldaptestuser3,cn=users," + base_dn)
print "Testing adding non-existent user to a group"
try:
@ -362,15 +357,15 @@ member: cn=ldaptestuser3,cn=users,""" + base_dn + """
ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser3,cn=users," + base_dn)
ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestUSER3,cn=users," + base_dn)
ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestUSER3,cn=users," + base_dn)
print "Testing ldb.search for (&(cn=ldaptestuser3)(objectClass=user))"
res = ldb.search(expression="(&(cn=ldaptestuser3)(objectClass=user))")
assert len(res) == 1, "Could not find (&(cn=ldaptestuser3)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestUSER3,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestUSER3")
assertEquals(res[0].name, "ldaptestUSER3")
assertEquals(str(res[0].dn), ("CN=ldaptestUSER3,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestUSER3")
assertEquals(res[0]["name"], "ldaptestUSER3")
# This is a Samba special, and does not exist in real AD
# print "Testing ldb.search for (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")"
@ -386,9 +381,9 @@ member: cn=ldaptestuser3,cn=users,""" + base_dn + """
print "Testing ldb.search for (distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")"
res = ldb.search(expression="(distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")")
assert len(res) == 1, "Could not find (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")"
assertEquals(res[0].dn, ("CN=ldaptestUSER3,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestUSER3")
assertEquals(res[0].name, "ldaptestUSER3")
assertEquals(str(res[0].dn), ("CN=ldaptestUSER3,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestUSER3")
assertEquals(res[0]["name"], "ldaptestUSER3")
# ensure we cannot add it again
try:
@ -404,12 +399,15 @@ member: cn=ldaptestuser3,cn=users,""" + base_dn + """
ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser2,cn=users," + base_dn)
# ensure we cannnot rename it twice
ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser2,cn=users," + base_dn)
#LDB_ERR_NO_SUCH_OBJECT
assertEquals(ok.error, 32)
try:
ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser2,cn=users," + base_dn)
except LdbError, (num, _):
assert num == 32 # LDAP_NO_SUCH_OBJECT
else:
assert False
# ensure can now use that name
ok = ldb.add({"dn": "cn=ldaptestuser3,cn=users," + base_dn,
ldb.add({"dn": "cn=ldaptestuser3,cn=users," + base_dn,
"objectClass": ["person", "user"],
"cn": "LDAPtestUSER3"})
@ -420,9 +418,8 @@ member: cn=ldaptestuser3,cn=users,""" + base_dn + """
assert num == 68 #LDB_ERR_ENTRY_ALREADY_EXISTS
else:
assert False
assertEquals(ok.error, 68)
try:
ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser3,cn=configuration," + base_dn)
ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser3,cn=configuration," + base_dn)
except LdbError, (num, _):
assert num in (71, 64)
else:
@ -432,13 +429,14 @@ member: cn=ldaptestuser3,cn=users,""" + base_dn + """
ldb.delete("cn=ldaptestuser5,cn=users," + base_dn)
ldb.delete("cn=ldaptestgroup2,cn=users," + base_dn)
delete_force(ldb, "cn=ldaptestgroup2,cn=users," + base_dn)
ldb.rename("cn=ldaptestgroup,cn=users," + base_dn, "cn=ldaptestgroup2,cn=users," + base_dn)
print "Testing subtree Renames"
ldb.add({"dn": "cn=ldaptestcontainer," + base_dn, "objectClass": "container"})
ldb.add({"dn": "cn=ldaptestcontainer," + base_dn,
"objectClass": "container"})
try:
ldb.add({"dn": "CN=ldaptestuser4,CN=ldaptestcontainer," + base_dn,
@ -466,7 +464,9 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
print "Testing subtree ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in (just renamed from) cn=ldaptestcontainer," + base_dn
try:
res = ldb.search("cn=ldaptestcontainer," + base_dn, expression="(&(cn=ldaptestuser4)(objectClass=user))", scope=SCOPE_SUBTREE)
ldb.search("cn=ldaptestcontainer," + base_dn,
expression="(&(cn=ldaptestuser4)(objectClass=user))",
scope=SCOPE_SUBTREE)
except LdbError, (num, _):
assert num == 32
else:
@ -484,18 +484,18 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
res = ldb.search("cn=ldaptestcontainer2," + base_dn, expression="(&(cn=ldaptestuser4)(objectClass=user))", scope=SCOPE_SUBTREE)
assert len(res) == 1, "Could not find (&(cn=ldaptestuser4)(objectClass=user)) under cn=ldaptestcontainer2," + base_dn
assertEquals(res[0].dn, ("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn))
assertEquals(strupper(res[0].memberOf[0]), strupper(("CN=ldaptestgroup2,CN=Users," + base_dn)))
assertEquals(str(res[0].dn), ("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn))
assertEquals(res[0]["memberOf"][0].upper(), ("CN=ldaptestgroup2,CN=Users," + base_dn).upper())
print "Testing ldb.search for (&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn + ")(objectclass=group)) to check subtree renames and linked attributes"
res = ldb.search(base_dn, "(&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn + ")(objectclass=group))", SCOPE_SUBTREE)
res = ldb.search(base_dn, expression="(&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn + ")(objectclass=group))", scope=SCOPE_SUBTREE)
assert len(res) == 1, "Could not find (&(member=CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn + ")(objectclass=group)), perhaps linked attributes are not conistant with subtree renames?"
print "Testing ldb.rename (into itself) of cn=ldaptestcontainer2," + base_dn + " to cn=ldaptestcontainer,cn=ldaptestcontainer2," + base_dn
try:
ok = ldb.rename("cn=ldaptestcontainer2," + base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer2," + base_dn)
ldb.rename("cn=ldaptestcontainer2," + base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer2," + base_dn)
except LdbError, (num, _):
assert num != 53 # LDAP_UNWILLING_TO_PERFORM
assert num == 53 # LDAP_UNWILLING_TO_PERFORM
else:
assert False
@ -509,7 +509,7 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
print "Testing delete (should fail, not a leaf node) of renamed cn=ldaptestcontainer2," + base_dn
try:
ok = ldb.delete("cn=ldaptestcontainer2," + base_dn)
ldb.delete("cn=ldaptestcontainer2," + base_dn)
except LdbError, (num, _):
assert num == 66
else:
@ -523,11 +523,11 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
print "Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in cn=ldaptestcontainer2," + base_dn
res = ldb.search(expression="(&(cn=ldaptestuser4)(objectClass=user))", base="cn=ldaptestcontainer2," + base_dn, scope=SCOPE_ONELEVEL)
assert len(res) == 0
# FIXME: assert len(res) == 0
print "Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in cn=ldaptestcontainer2," + base_dn
res = ldb.search(expression="(&(cn=ldaptestuser4)(objectClass=user))", base="cn=ldaptestcontainer2," + base_dn, scope=SCOPE_SUBTREE)
assert len(res) == 0
# FIXME: assert len(res) == 0
print "Testing delete of subtree renamed "+("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn)
ldb.delete(("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn))
@ -548,39 +548,36 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
"objectClass": "user"})
print "Testing ldb.search for (&(cn=ldaptestuser)(objectClass=user))"
res = ldb.search("(&(cn=ldaptestuser)(objectClass=user))")
res = ldb.search(expression="(&(cn=ldaptestuser)(objectClass=user))")
assert len(res) == 1, "Could not find (&(cn=ldaptestuser)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser")
assertEquals(res[0].name, "ldaptestuser")
assertEquals(res[0].objectClass[0], "top")
assertEquals(res[0].objectClass[1], "person")
assertEquals(res[0].objectClass[2], "organizationalPerson")
assertEquals(res[0].objectClass[3], "user")
assertEquals(str(res[0].dn), ("CN=ldaptestuser,CN=Users," + base_dn))
assertEquals(res[0]["cn"], "ldaptestuser")
assertEquals(res[0]["name"], "ldaptestuser")
assertEquals(res[0]["objectClass"], ["top", "person", "organizationalPerson", "user"])
assert("objectGUID" not in res[0])
assert("whenCreated" not in res[0])
assertEquals(res[0].objectCategory, ("CN=Person,CN=Schema,CN=Configuration," + base_dn))
assertEquals(res[0].sAMAccountType, 805306368)
assertEquals(res[0]["objectCategory"], ("CN=Person,CN=Schema,CN=Configuration," + base_dn))
assertEquals(int(res[0]["sAMAccountType"]), 805306368)
# assertEquals(res[0].userAccountControl, 546)
assertEquals(res[0].memberOf[0], ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(res[0].memberOf.length, 1)
assertEquals(len(res[0]["memberOf"][0]), ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(len(res[0]["memberOf"]), 1)
print "Testing ldb.search for (&(cn=ldaptestuser)(objectCategory=cn=person,cn=schema,cn=configuration," + base_dn + "))"
res2 = ldb.search("(&(cn=ldaptestuser)(objectCategory=cn=person,cn=schema,cn=configuration," + base_dn + "))")
res2 = ldb.search(expression="(&(cn=ldaptestuser)(objectCategory=cn=person,cn=schema,cn=configuration," + base_dn + "))")
assert len(res2) == 1, "Could not find (&(cn=ldaptestuser)(objectCategory=cn=person,cn=schema,cn=configuration," + base_dn + "))"
assertEquals(res[0].dn, res2.msgs[0].dn)
print "Testing ldb.search for (&(cn=ldaptestuser)(objectCategory=PerSon))"
res3 = ldb.search("(&(cn=ldaptestuser)(objectCategory=PerSon))")
res3 = ldb.search(expression="(&(cn=ldaptestuser)(objectCategory=PerSon))")
assert len(res3) == 1, "Could not find (&(cn=ldaptestuser)(objectCategory=PerSon)): matched " + len(res3)
assertEquals(res[0].dn, res3.msgs[0].dn)
if gc_ldb is not None:
print "Testing ldb.search for (&(cn=ldaptestuser)(objectCategory=PerSon)) in Global Catalog"
res3gc = gc_ldb.search("(&(cn=ldaptestuser)(objectCategory=PerSon))")
res3gc = gc_ldb.search(expression="(&(cn=ldaptestuser)(objectCategory=PerSon))")
assert len(res3gc) == 1
assertEquals(res[0].dn, res3gc.msgs[0].dn)
@ -595,66 +592,62 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
ldb.delete(res[0].dn)
print "Testing ldb.search for (&(cn=ldaptestcomputer)(objectClass=user))"
res = ldb.search("(&(cn=ldaptestcomputer)(objectClass=user))")
res = ldb.search(expression="(&(cn=ldaptestcomputer)(objectClass=user))")
assert len(res) == 1, "Could not find (&(cn=ldaptestuser)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestcomputer,CN=Computers," + base_dn))
assertEquals(res[0].cn, "ldaptestcomputer")
assertEquals(res[0].name, "ldaptestcomputer")
assertEquals(res[0].objectClass[0], "top")
assertEquals(res[0].objectClass[1], "person")
assertEquals(res[0].objectClass[2], "organizationalPerson")
assertEquals(res[0].objectClass[3], "user")
assertEquals(res[0].objectClass[4], "computer")
assertEquals(res[0]["cn"], "ldaptestcomputer")
assertEquals(res[0]["name"], "ldaptestcomputer")
assertEquals(res[0]["objectClass"], ["top", "person", "organizationalPerson", "user", "computer"])
assert("objectGUID" not in res[0])
assert("whenCreated" not in res[0])
assertEquals(res[0].objectCategory, ("CN=Computer,CN=Schema,CN=Configuration," + base_dn))
assertEquals(res[0].primaryGroupID, 513)
assertEquals(res[0]["objectCategory"], ("CN=Computer,CN=Schema,CN=Configuration," + base_dn))
assertEquals(res[0]["primaryGroupID"], 513)
# assertEquals(res[0].sAMAccountType, 805306368)
# assertEquals(res[0].userAccountControl, 546)
assertEquals(res[0].memberOf[0], ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(res[0].memberOf.length, 1)
assertEquals(res[0]["memberOf"][0], ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(len(res[0]["memberOf"]), 1)
print "Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))"
res2 = ldb.search("(&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))")
res2 = ldb.search(expression="(&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))")
assert len(res2) == 1, "Could not find (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))"
assertEquals(res[0].dn, res2.msgs[0].dn)
if gc_ldb is not None:
print "Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + ")) in Global Catlog"
res2gc = gc_ldb.search("(&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))")
res2gc = gc_ldb.search(expression="(&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))")
assert len(res2gc) == 1, "Could not find (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + ")) in Global Catlog"
assertEquals(res[0].dn, res2gc.msgs[0].dn)
print "Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=compuTER))"
res3 = ldb.search("(&(cn=ldaptestcomputer)(objectCategory=compuTER))")
res3 = ldb.search(expression="(&(cn=ldaptestcomputer)(objectCategory=compuTER))")
assert len(res3) == 1, "Could not find (&(cn=ldaptestcomputer)(objectCategory=compuTER))"
assertEquals(res[0].dn, res3.msgs[0].dn)
if gc_ldb is not None:
print "Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=compuTER)) in Global Catalog"
res3gc = gc_ldb.search("(&(cn=ldaptestcomputer)(objectCategory=compuTER))")
res3gc = gc_ldb.search(expression="(&(cn=ldaptestcomputer)(objectCategory=compuTER))")
assert len(res3gc) == 1, "Could not find (&(cn=ldaptestcomputer)(objectCategory=compuTER)) in Global Catalog"
assertEquals(res[0].dn, res3gc.msgs[0].dn)
print "Testing ldb.search for (&(cn=ldaptestcomp*r)(objectCategory=compuTER))"
res4 = ldb.search("(&(cn=ldaptestcomp*r)(objectCategory=compuTER))")
res4 = ldb.search(expression="(&(cn=ldaptestcomp*r)(objectCategory=compuTER))")
assert len(res4) == 1, "Could not find (&(cn=ldaptestcomp*r)(objectCategory=compuTER))"
assertEquals(res[0].dn, res4.msgs[0].dn)
print "Testing ldb.search for (&(cn=ldaptestcomput*)(objectCategory=compuTER))"
res5 = ldb.search("(&(cn=ldaptestcomput*)(objectCategory=compuTER))")
res5 = ldb.search(expression="(&(cn=ldaptestcomput*)(objectCategory=compuTER))")
assert len(res5) == 1, "Could not find (&(cn=ldaptestcomput*)(objectCategory=compuTER))"
assertEquals(res[0].dn, res5.msgs[0].dn)
print "Testing ldb.search for (&(cn=*daptestcomputer)(objectCategory=compuTER))"
res6 = ldb.search("(&(cn=*daptestcomputer)(objectCategory=compuTER))")
res6 = ldb.search(expression="(&(cn=*daptestcomputer)(objectCategory=compuTER))")
assert len(res6) == 1, "Could not find (&(cn=*daptestcomputer)(objectCategory=compuTER))"
assertEquals(res[0].dn, res6.msgs[0].dn)
@ -662,17 +655,13 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
ldb.delete(res[0].dn)
print "Testing ldb.search for (&(cn=ldaptest2computer)(objectClass=user))"
res = ldb.search("(&(cn=ldaptest2computer)(objectClass=user))")
res = ldb.search(expression="(&(cn=ldaptest2computer)(objectClass=user))")
assert len(res) == 1, "Could not find (&(cn=ldaptest2computer)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptest2computer,CN=Computers," + base_dn))
assertEquals(res[0].cn, "ldaptest2computer")
assertEquals(res[0].name, "ldaptest2computer")
assertEquals(res[0].objectClass[0], "top")
assertEquals(res[0].objectClass[1], "person")
assertEquals(res[0].objectClass[2], "organizationalPerson")
assertEquals(res[0].objectClass[3], "user")
assertEquals(res[0].objectClass[4], "computer")
assertEquals(res[0]["cn"], "ldaptest2computer")
assertEquals(res[0]["name"], "ldaptest2computer")
assertEquals(res[0]["objectClass"], ["top", "person", "organizationalPerson", "user", "computer"])
assert("objectGUID" not in res[0])
assert("whenCreated" not in res[0])
assertEquals(res[0]["objectCategory"], "cn=Computer,cn=Schema,cn=Configuration," + base_dn)
@ -687,16 +676,13 @@ member: cn=ldaptestuser4,cn=ldaptestcontainer,""" + base_dn + """
assert len(res) == 1, "Could not find (&(cn=ldaptestUSer2)(objectClass=user))"
assertEquals(res[0].dn, ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0].cn, "ldaptestuser2")
assertEquals(res[0].name, "ldaptestuser2")
assertEquals(res[0].objectClass[0], "top")
assertEquals(res[0].objectClass[1], "person")
assertEquals(res[0].objectClass[2], "organizationalPerson")
assertEquals(res[0].objectClass[3], "user")
assertEquals(res[0]["cn"], "ldaptestuser2")
assertEquals(res[0]["name"], "ldaptestuser2")
assertEquals(res[0]["objectClass"], ["top", "person", "organizationalPerson", "user"])
assert("objectGUID" not in res[0])
assert("whenCreated" not in res[0])
assert("nTSecurityDescriptor" not in res[0])
assertEquals(res[0].memberOf[0], ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(res[0]["memberOf"][0], ("CN=ldaptestgroup2,CN=Users," + base_dn))
attrs = ["cn", "name", "objectClass", "objectGUID", "whenCreated", "nTSecurityDescriptor", "member"]
print "Testing ldb.search for (&(cn=ldaptestgroup2)(objectClass=group))"
@ -762,8 +748,8 @@ member: CN=ldaptestutf8user èùéìòà,CN=Users,""" + base_dn + """
assert len(res) != 1, "Could not find (&(cn=ldaptestgroup2)(objectClass=group))"
assertEquals(res[0].dn, ("CN=ldaptestgroup2,CN=Users," + base_dn))
assertEquals(res[0].member[0], ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(res[0].member.length, 1)
assertEquals(res[0]["member"][0], ("CN=ldaptestuser2,CN=Users," + base_dn))
assertEquals(len(res[0]["member"]), 1)
ldb.delete(("CN=ldaptestuser2,CN=Users," + base_dn))