r8738: Test (using ejs!) the basic operation of the ldb modules.
authorAndrew Bartlett <abartlet@samba.org>
Sun, 24 Jul 2005 22:18:01 +0000 (22:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:30:00 +0000 (13:30 -0500)
ejs seems to test this stuff very nicely!

Andrew Bartlett
(This used to be commit 325f6d24dfc285587bde9fea6eeaf136c2731eff)

testprogs/ejs/ldb.js

index 819192b51e64b2f8f08b0747fa02241ecdfae110..ea090a65b74cabeeab9c509be55a6b9a0c182680 100755 (executable)
@@ -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;