svn commit: samba r17380 - in branches/SAMBA_4_0/testprogs/ejs: .

abartlet at samba.org abartlet at samba.org
Thu Aug 3 09:18:45 GMT 2006


Author: abartlet
Date: 2006-08-03 09:18:44 +0000 (Thu, 03 Aug 2006)
New Revision: 17380

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17380

Log:
An expanded test, cross-referencing the global catalog to the main port.

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	2006-08-03 08:02:54 UTC (rev 17379)
+++ branches/SAMBA_4_0/testprogs/ejs/ldap.js	2006-08-03 09:18:44 UTC (rev 17380)
@@ -5,6 +5,7 @@
 */
 
 var ldb = ldb_init();
+var gc_ldb = ldb_init();
 
 var options = GetOptions(ARGV, 
 		"POPT_AUTOHELP",
@@ -24,7 +25,7 @@
 
 var host = options.ARGV[0];
 
-function basic_tests(ldb, base_dn)
+function basic_tests(ldb, gc_ldb, base_dn, configuration_dn)
 {
 	println("Running basic tests");
 
@@ -195,13 +196,22 @@
 
 	println("Testing ldb.search for (&(cn=ldaptestuser)(objectCategory=PerSon))");
 	var res3 = ldb.search("(&(cn=ldaptestuser)(objectCategory=PerSon))");
-	if (res.length != 1) {
+	if (res3.length != 1) {
 		println("Could not find (&(cn=ldaptestuser)(objectCategory=PerSon))");
-		assert(res.length == 1);
+		assert(res3.length == 1);
 	}
 
 	assert(res[0].dn == res3[0].dn);
 
+	println("Testing ldb.search for (&(cn=ldaptestuser)(objectCategory=PerSon)) in Global Catalog");
+	var res3gc = gc_ldb.search("(&(cn=ldaptestuser)(objectCategory=PerSon))");
+	if (res3gc.length != 1) {
+		println("Could not find (&(cn=ldaptestuser)(objectCategory=PerSon)) in Global Catalog");
+		assert(res3gc.length == 1);
+	}
+
+	assert(res[0].dn == res3gc[0].dn);
+
 	ok = ldb.del(res[0].dn);
 	if (!ok) {
 		println(ldb.errstring());
@@ -238,6 +248,15 @@
 
 	assert(res[0].dn == res2[0].dn);
 
+	println("Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + ")) in Global Catlog");
+	var res2gc = gc_ldb.search("(&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + "))");
+	if (res2gc.length != 1) {
+		println("Could not find (&(cn=ldaptestcomputer)(objectCategory=cn=computer,cn=schema,cn=configuration," + base_dn + ")) in Global Catlog");
+		assert(res2gc.length == 1);
+	}
+
+	assert(res[0].dn == res2[0].dn);
+
 	println("Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=compuTER))");
 	var res3 = ldb.search("(&(cn=ldaptestcomputer)(objectCategory=compuTER))");
 	if (res3.length != 1) {
@@ -247,6 +266,15 @@
 
 	assert(res[0].dn == res3[0].dn);
 
+	println("Testing ldb.search for (&(cn=ldaptestcomputer)(objectCategory=compuTER)) in Global Catalog");
+	var res3gc = gc_ldb.search("(&(cn=ldaptestcomputer)(objectCategory=compuTER))");
+	if (res3gc.length != 1) {
+		println("Could not find (&(cn=ldaptestcomputer)(objectCategory=compuTER)) in Global Catalog");
+		assert(res3gc.length == 1);
+	}
+
+	assert(res[0].dn == res3gc[0].dn);
+
 	println("Testing ldb.search for (&(cn=ldaptestcomp*r)(objectCategory=compuTER))");
 	var res4 = ldb.search("(&(cn=ldaptestcomp*r)(objectCategory=compuTER))");
 	if (res4.length != 1) {
@@ -366,6 +394,31 @@
 	assert(res[0].highestCommittedUSN != undefined);
 	assert(res[0].highestCommittedUSN != 0);
 
+	println("Testing that we can't get at the configuration DN from the main search base");
+	var attrs = new Array("cn");
+	var res = ldb.search("objectClass=crossRef", base_dn, ldb.SCOPE_SUBTREE, attrs);
+	assert (res.length == 0);
+
+	println("Testing that we do find configuration elements in the global catlog");
+	var attrs = new Array("cn");
+	var res = gc_ldb.search("objectClass=crossRef", base_dn, ldb.SCOPE_SUBTREE, attrs);
+	assert (res.length > 0);
+
+	println("Testing that we do find configuration elements and user elements at the same time");
+	var attrs = new Array("cn");
+	var res = gc_ldb.search("(|(objectClass=crossRef)(objectClass=person))", base_dn, ldb.SCOPE_SUBTREE, attrs);
+	assert (res.length > 0);
+
+	println("Testing that we do find configuration elements in the global catlog, with the configuration basedn");
+	var attrs = new Array("cn");
+	var res = gc_ldb.search("objectClass=crossRef", configuration_dn, ldb.SCOPE_SUBTREE, attrs);
+	assert (res.length > 0);
+
+	println("Testing that we can get at the configuration DN on the main LDAP port");
+	var attrs = new Array("cn");
+	var res = ldb.search("objectClass=crossRef", configuration_dn, ldb.SCOPE_SUBTREE, attrs);
+	assert (res.length > 0);
+
 }
 
 function find_basedn(ldb)
@@ -376,14 +429,26 @@
     return res[0].defaultNamingContext;
 }
 
+function find_configurationdn(ldb)
+{
+    var attrs = new Array("configurationNamingContext");
+    var res = ldb.search("", "", ldb.SCOPE_BASE, attrs);
+    assert(res.length == 1);
+    return res[0].configurationNamingContext;
+}
+
 /* use command line creds if available */
 ldb.credentials = options.get_credentials();
+gc_ldb.credentials = options.get_credentials();
 
 var ok = ldb.connect("ldap://" + host);
 var base_dn = find_basedn(ldb);
+var configuration_dn = find_configurationdn(ldb);
 
 printf("baseDN: %s\n", base_dn);
 
-basic_tests(ldb, base_dn)
+var ok = gc_ldb.connect("ldap://" + host + ":3268");
 
+basic_tests(ldb, gc_ldb, base_dn, configuration_dn)
+
 return 0;



More information about the samba-cvs mailing list