summaryrefslogtreecommitdiff
path: root/testprogs
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-15 11:10:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:23:08 -0500
commit94d99612b9093ca83da3b6b66f875915eeabb389 (patch)
tree17aad583cb4a7bfc7f2ee384f680b7264e035120 /testprogs
parent2bb9fa28754b8575c5926646c1a6221475d24dcc (diff)
downloadsamba-94d99612b9093ca83da3b6b66f875915eeabb389.tar.gz
samba-94d99612b9093ca83da3b6b66f875915eeabb389.tar.bz2
samba-94d99612b9093ca83da3b6b66f875915eeabb389.zip
r8488: after discussions with simo, moved to a full OO interface, so you don't need to keep
a 'db' variable around. The ldb object knows what it is connected to. Added a simple ldb testsuite in testprogs/ldb.js (This used to be commit cf35818648b5b649d0cd25f115a04b7b5b5311aa)
Diffstat (limited to 'testprogs')
-rw-r--r--testprogs/ejs/ldb.js70
1 files changed, 57 insertions, 13 deletions
diff --git a/testprogs/ejs/ldb.js b/testprogs/ejs/ldb.js
index f27f49c7a4..dee33774b3 100644
--- a/testprogs/ejs/ldb.js
+++ b/testprogs/ejs/ldb.js
@@ -1,26 +1,70 @@
+#!/bin/sh
+exec smbscript "$0" ${1+"$@"}
/*
demonstrate access to ldb databases from ejs
*/
-println("Trying a attribute constrained search on samdb");
-var dbfile = lpGet("sam database");
-var attrs = new Array("name", "dnsDomain", "objectSid", "dn");
var ldb = ldb_init();
-res = ldb.search(dbfile, "(objectClass=domain)", attrs);
+function basic_tests(ldb)
+{
+ println("Running basic tests");
+ ok = ldb.add("
+dn: cn=x,cn=test
+objectClass: foo
+x: 3
+");
+ assert(ok);
-printVars(res);
+ println("Testing ldb.search");
+ var res = ldb.search("(objectClass=*)");
+ assert(res[0].objectClass[0] == "foo");
+ assert(res[0].dn == "cn=x,cn=test");
+ assert(res[0].x == 3);
-println("and now an unconstrained search");
+ ok = ldb.add("
+dn: cn=x2,cn=test
+objectClass: foo
+x: 4
+");
+ assert(ok);
+ var attrs = new Array("x");
+ res = ldb.search("x=4", attrs);
+ assert(res[0].x == 4);
+ assert(res[0].objectClass == undefined);
+ assert(res[0].dn == "cn=x2,cn=test");
-var dbfile = lpGet("sam database");
-var db = ldb.connect(dbfile);
-res = ldb.search(db, "(objectClass=user)");
-printVars(res);
+ ok = ldb.delete("cn=x,cn=test");
+ assert(ok);
+
+ ok = ldb.rename("cn=x2,cn=test", "cn=x3,cn=test");
+ assert(ok);
+ res = ldb.search("x=4", attrs);
+ assert(res[0].dn == "cn=x3,cn=test");
+
+ ok = ldb.modify("
+dn: cn=x3,cn=test
+changetype: modify
+add: x
+x: 7
+");
+
+ res = ldb.search("x=7");
+ assert(res.length == 1);
+ assert(res[0].x.length == 2);
+
+}
+
+var sys = sys_init();
+var dbfile = "test.ldb";
+sys.unlink(dbfile);
+var ok = ldb.connect("tdb://" + dbfile);
+assert(ok);
+
+basic_tests(ldb);
+
+sys.unlink(dbfile);
-println("and a bad search");
-res = ldb.search(db, "foo");
-println("all done");