2 exec smbscript "$0" ${1+"$@"}
4 test certin LDAP behaviours
9 var options = GetOptions(ARGV,
12 "POPT_COMMON_CREDENTIALS");
13 if (options == undefined) {
14 println("Failed to parse options");
18 libinclude("base.js");
20 if (options.ARGV.length != 1) {
21 println("Usage: ldap.js <HOST>");
25 var host = options.ARGV[0];
27 function basic_tests(ldb, base_dn)
29 println("Running basic tests");
31 ldb.del("cn=ldaptestuser,cn=users," + base_dn);
34 dn: cn=ldaptestuser,cn=users," + base_dn + "
41 println("Testing ldb.search");
42 var res = ldb.search("(&(cn=ldaptestuser)(objectClass=user))");
44 assert(res[0].dn == "cn=ldaptestuser,cn=users," + base_dn);
45 assert(res[0].cn == "ldaptestuser");
46 assert(res[0].name == "ldaptestuser");
47 assert(res[0].objectGUID != undefined);
48 assert(res[0].whenCreated != undefined);
50 ok = ldb.del(res[0].dn);
54 function find_basedn(ldb)
56 var attrs = new Array("defaultNamingContext");
57 var res = ldb.search("", "", ldb.SCOPE_BASE, attrs);
58 assert(res.length == 1);
59 return res[0].defaultNamingContext;
62 /* use command line creds if available */
63 ldb.credentials = options.get_credentials();
65 var ok = ldb.connect("ldap://" + host);
66 var base_dn = find_basedn(ldb);
68 printf("baseDN: %s\n", base_dn);
70 basic_tests(ldb, base_dn)