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);
 

Reply via email to