Author: abartlet Date: 2007-11-15 02:46:13 +0000 (Thu, 15 Nov 2007) New Revision: 25961
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25961 Log: Add new tests to verify basedn validation in LDAP searches. Andrew Bartlett Modified: branches/SAMBA_4_0/testprogs/ejs/ldap.js Changeset: Modified: branches/SAMBA_4_0/testprogs/ejs/ldap.js =================================================================== --- branches/SAMBA_4_0/testprogs/ejs/ldap.js 2007-11-15 02:45:31 UTC (rev 25960) +++ branches/SAMBA_4_0/testprogs/ejs/ldap.js 2007-11-15 02:46:13 UTC (rev 25961) @@ -45,6 +45,7 @@ assert(ok.error == 32); } + println("Testing user add"); var ok = ldb.add(" dn: cn=ldaptestuser,cn=uSers," + base_dn + " objectclass: user @@ -339,8 +340,20 @@ assert(res.msgs.length == 1); } - assert(res.msgs[0].dn == ("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn)); + println("Testing subtree ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in (just renamed from) cn=ldaptestcontainer," + base_dn); + var res = ldb.search("(&(cn=ldaptestuser4)(objectClass=user))", "cn=ldaptestcontainer," + base_dn, ldb.SCOPE_SUBTREE); + if (res.error != 32) { + println(res.errstr); + assert(res.error == 32); + } + println("Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in (just renamed from) cn=ldaptestcontainer," + base_dn); + var res = ldb.search("(&(cn=ldaptestuser4)(objectClass=user))", "cn=ldaptestcontainer," + base_dn, ldb.SCOPE_ONELEVEL); + if (res.error != 32) { + println(res.errstr); + assert(res.error == 32); + } + println("Testing ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in renamed container"); var res = ldb.search("(&(cn=ldaptestuser4)(objectClass=user))", "cn=ldaptestcontainer2," + base_dn, ldb.SCOPE_SUBTREE); if (res.error != 0 || res.msgs.length != 1) { @@ -371,8 +384,31 @@ println(ok.errstr); assert(ok.error == 66); } - println("Testing delete of subtree renamed "+res.msgs[0].dn); - ok = ldb.del(res.msgs[0].dn); + + println("Testing base ldb.search for CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn); + var res = ldb.search("(objectclass=*)", ("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn), ldb.SCOPE_BASE); + if (res.error == 0 && res.count == 1) { + assert(res.error == 0 && res.count == 1); + } + var res = ldb.search("(cn=ldaptestuser40)", ("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn), ldb.SCOPE_BASE); + if (res.error == 0 && res.count == 0) { + assert(res.error == 0 && res.count == 0); + } + + println("Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in cn=ldaptestcontainer2," + base_dn); + var res = ldb.search("(&(cn=ldaptestuser4)(objectClass=user))", "cn=ldaptestcontainer2," + base_dn, ldb.SCOPE_ONELEVEL); + if (res.error == 0 && res.count == 0) { + assert(res.error == 0 && res.count == 0); + } + + println("Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in cn=ldaptestcontainer2," + base_dn); + var res = ldb.search("(&(cn=ldaptestuser4)(objectClass=user))", "cn=ldaptestcontainer2," + base_dn, ldb.SCOPE_SUBTREE); + if (res.error == 0 && res.count == 0) { + assert(res.error == 0 && res.count == 0); + } + + println("Testing delete of subtree renamed "+("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn)); + ok = ldb.del(("CN=ldaptestuser4,CN=ldaptestcontainer2," + base_dn)); if (ok.error != 0) { println(ok.errstr); assert(ok.error == 0); @@ -904,6 +940,7 @@ var ok = ldb.connect("ldap://" + host); var base_dn = find_basedn(ldb); + var configuration_dn = find_configurationdn(ldb); var schema_dn = find_schemadn(ldb);