r9813: Conver testsuite for samba3sam module to EJS
authorJelmer Vernooij <jelmer@samba.org>
Tue, 30 Aug 2005 22:38:34 +0000 (22:38 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:35:04 +0000 (13:35 -0500)
(This used to be commit 77f24ed131bf57c30bb500e1d8d387bd4b403ddc)

source4/lib/ldb/tests/test-samba3sam.sh [deleted file]
source4/script/tests/selftest.sh
source4/scripting/ejs/smbcalls_sys.c
testdata/samba3/smbpasswd [new file with mode: 0644]
testprogs/ejs/samba3sam [new file with mode: 0755]

diff --git a/source4/lib/ldb/tests/test-samba3sam.sh b/source4/lib/ldb/tests/test-samba3sam.sh
deleted file mode 100755 (executable)
index 5baf0bf..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-S3URL=$1
-
-if [ -z "$S3URL" ];
-then
-       rm -f samba3.ldb
-       S3URL="tdb://samba3.ldb"
-       echo "Adding samba3 LDIF..."
-       $VALGRIND ldbadd -H tdb://samba3.ldb < samba3.ldif || exit 1
-fi
-
-rm -f samba4.ldb
-
-echo "Initial samba4 LDIF..."
-$VALGRIND ldbadd -H tdb://samba4.ldb <<EOF
-dn: @MODULES
-@LIST: samba3sam
-
-dn: @MAP=samba3sam
-@MAP_URL: $S3URL
-
-EOF
-
-LOC="-H tdb://samba4.ldb"
-
-echo "Looking up by non-mapped attribute"
-$VALGRIND ldbsearch $LOC "(cn=Administrator)" || exit 1
-
-echo "Looking up by mapped attribute"
-$VALGRIND ldbsearch $LOC "(name=Backup Operators)" || exit 1
-
-echo "Looking up by old name of renamed attribute"
-$VALGRIND ldbsearch $LOC "(displayName=Backup Operators)" || exit 1
-
-echo "Adding a record"
-$VALGRIND ldbadd $LOC <<EOF
-dn: cn=Foo,dc=idealx,dc=org
-unixName: root
-lastLogon: 20000
-cn: Foo
-showInAdvancedViewOnly: TRUE
-
-EOF
-
-echo "Checking for existance of record"
-$VALGRIND ldbsearch $LOC "(cn=Foo)" unixName lastLogon cn showInAdvancedViewOnly || exit 1
-
-echo "Checking for persistence of non-mappable attribute"
-$VALGRIND ldbsearch $LOC "(cn=Foo)" showInAdvancedViewOnly | grep showInAdvancedViewOnly || exit 1
-
-echo "Adding record with mapped attribute in dn"
-$VALGRIND ldbadd $LOC <<EOF
-dn: unixName=nobody,dc=idealx,dc=org
-unixName: nobody 
-cn: Niemand
-
-EOF
-
-echo "Checking for existance of record (mapped)"
-$VALGRIND ldbsearch $LOC "(unixName=nobody)" unixName cn dn || exit 1
index b102bf2..82cac64 100755 (executable)
@@ -88,7 +88,7 @@ cat >$CONFFILE<<EOF
        ncalrpc dir = $NCALRPCDIR
        lock dir = $LOCKDIR
        setup directory = $SRCDIR/setup
-        js include = $SRCDIR/scripting/libjs
+       js include = $SRCDIR/scripting/libjs
        name resolve order = bcast
        interfaces = lo*
        tls enabled = $TLS_ENABLED
@@ -107,10 +107,10 @@ cat >$CONFFILE<<EOF
 [cifs]
        read only = no
        ntvfs handler = cifs
-        cifs:server = localhost
-        cifs:user = $USERNAME
-        cifs:password = $PASSWORD
-        cifs:domain = $DOMAIN
+       cifs:server = localhost
+       cifs:user = $USERNAME
+       cifs:password = $PASSWORD
+       cifs:domain = $DOMAIN
        cifs:share = tmp
 EOF
 
index 3f1f4b0..f32605c 100644 (file)
@@ -137,7 +137,7 @@ static int ejs_sys_httptime(MprVarHandle eid, int argc, struct MprVar **argv)
 
 /*
   unlink a file
-   ok = unlink(fname);
+   ok = sys.unlink(fname);
 */
 static int ejs_sys_unlink(MprVarHandle eid, int argc, char **argv)
 {
@@ -154,7 +154,7 @@ static int ejs_sys_unlink(MprVarHandle eid, int argc, char **argv)
 /*
   load a file as a string
   usage:
-     string = sys_file_load(filename);
+     string = sys.file_load(filename);
 */
 static int ejs_sys_file_load(MprVarHandle eid, int argc, char **argv)
 {
@@ -173,7 +173,7 @@ static int ejs_sys_file_load(MprVarHandle eid, int argc, char **argv)
 /*
   save a file from a string
   usage:
-     ok = sys_file_save(filename, str);
+     ok = sys.file_save(filename, str);
 */
 static int ejs_sys_file_save(MprVarHandle eid, int argc, char **argv)
 {
diff --git a/testdata/samba3/smbpasswd b/testdata/samba3/smbpasswd
new file mode 100644 (file)
index 0000000..6e3c34d
--- /dev/null
@@ -0,0 +1,3 @@
+nobodypw:65534:B28BD20B0D3770EBAAD3B435B51404EE:B123AB4EC733F895B1260A3A08D9C69B:[NU         ]:LCT-43148525:
+rootpw:0:552902031BEDE9EFAAD3B435B51404EE:878D8014606CDA29677A44EFA1353FC7:[U          ]:LCT-4314851B:
+jelmerpw:1000:193130B61A7F81C0AAD3B435B51404EE:C2AE1FE6E648846352453E816F2AEB93:[U          ]:LCT-4314850D:
diff --git a/testprogs/ejs/samba3sam b/testprogs/ejs/samba3sam
new file mode 100755 (executable)
index 0000000..223cd87
--- /dev/null
@@ -0,0 +1,78 @@
+#!/usr/bin/env smbscript
+
+libinclude("base.js");
+var sys = sys_init();
+var s3url;
+var s3 = ldb_init();
+var ok;
+
+if (ARGV.length == 2) {
+       s3url = ARGV[1];
+       ok = s3.connect(s3url);
+       assert(ok);
+} else {
+       s3url = "tdb://samba3.ldb";
+       sys.unlink("samba3.ldb");
+       println("Adding samba3 LDIF...");
+       var s3 = ldb_init();
+       ok = s3.connect(s3url);
+       assert(ok);
+       var ldif = sys.file_load("../../testdata/samba3/samba3.ldif");
+       assert(ldif != undefined);
+       ok = s3.add(ldif);
+       assert(ok);
+}
+
+println("Initial samba4 LDIF...");
+var s4 = ldb_init();
+ok = s4.connect("tdb://samba4.ldb");
+assert(ok);
+ok = s4.add(sprintf("
+dn: @MODULES
+@LIST: samba3sam
+
+dn: @MAP=samba3sam
+@MAP_URL: %s", s3url));
+assert(ok);
+
+println("Looking up by non-mapped attribute");
+msg = s4.search("(cn=Administrator)");
+assert(msg.length == 1);
+
+println("Looking up by mapped attribute");
+msg = s4.search("(name=Backup Operators)");
+assert(msg.length == 1);
+
+println("Looking up by old name of renamed attribute");
+msg = s4.search("(displayName=Backup Operators)");
+assert(msg.length == 1);
+
+println("Adding a record");
+ok = s4.add("
+dn: cn=Foo,dc=idealx,dc=org
+unixName: root
+lastLogon: 20000
+cn: Foo
+showInAdvancedViewOnly: TRUE
+");
+assert(ok);
+
+println("Checking for existance of record");
+msg = s4.search("(cn=Foo)", new Array('unixName','lastLogon','cn','showInAdvancedViewOnly'));
+assert(msg.length == 1);
+
+println("Checking for persistence of non-mappable attribute");
+msg = s4.search("(cn=Foo)", new Array('showInAdvancedViewOnly'));
+assert(msg.length == 1);
+
+println("Adding record with mapped attribute in dn");
+ok = s4.add("
+dn: unixName=nobody,dc=idealx,dc=org
+unixName: nobody 
+cn: Niemand
+");
+assert(ok);
+
+println("Checking for existance of record (mapped)");
+msg = s4.search("(unixName=nobody)", new Array('unixName','cn','dn'));
+assert(msg.length == 1);