diff options
Diffstat (limited to 'testprogs/ejs/ldb.js')
-rwxr-xr-x | testprogs/ejs/ldb.js | 64 |
1 files changed, 60 insertions, 4 deletions
diff --git a/testprogs/ejs/ldb.js b/testprogs/ejs/ldb.js index 819192b51e..ea090a65b7 100755 --- a/testprogs/ejs/ldb.js +++ b/testprogs/ejs/ldb.js @@ -6,7 +6,7 @@ exec smbscript "$0" ${1+"$@"} var ldb = ldb_init(); - +var sys; function basic_tests(ldb) { println("Running basic tests"); @@ -53,16 +53,72 @@ x: 7 res = ldb.search("x=7"); assert(res.length == 1); assert(res[0].x.length == 2); + + /* Check a few things before we add modules */ + assert(res[0].objectGUID == undefined); + assert(res[0].createTimestamp == undefined); + assert(res[0].whenCreated == undefined); + +} +function setup_modules(ldb) +{ + ok = ldb.add(" +dn: @MODULES +@LIST: timestamps,objectguid,rdn_name +"); +} + +/* Test the basic operation of the timestamps,objectguid and name_rdn + modules */ + +function modules_test(ldb) +{ + println("Running modules tests"); + ok = ldb.add(" +dn: cn=x8,cn=test +objectClass: foo +x: 8 +"); + assert(ok); + + ok = ldb.add(" +dn: cn=x9,cn=test +objectClass: foo +x: 9 +"); + assert(ok); + + var res = ldb.search("x=8", NULL, ldb.SCOPE_DEFAULT); + assert(res[0].objectGUID != undefined); + assert(res[0].createTimestamp != undefined); + assert(res[0].whenCreated != undefined); + assert(res[0].name == "x8"); + + var res2 = ldb.search("x=9", NULL, ldb.SCOPE_DEFAULT); + assert(res2[0].objectGUID != undefined); + assert(res2[0].createTimestamp != undefined); + assert(res2[0].whenCreated != undefined); + assert(res2[0].name == "x9"); + + assert(res[0].objectGUID != res2[0].objectGUID); + } -sys_init(ldb); +sys = sys_init(); var dbfile = "test.ldb"; -ldb.unlink(dbfile); +sys.unlink(dbfile); var ok = ldb.connect("tdb://" + dbfile); assert(ok); basic_tests(ldb); -ldb.unlink(dbfile); +setup_modules(ldb); +ldb = ldb_init(); +var ok = ldb.connect("tdb://" + dbfile); +assert(ok); + +modules_test(ldb); + +sys.unlink(dbfile); return 0; |