diff options
-rwxr-xr-x | source4/lib/ldb/tests/test-samba3sam.sh | 61 | ||||
-rwxr-xr-x | source4/script/tests/selftest.sh | 10 | ||||
-rw-r--r-- | source4/scripting/ejs/smbcalls_sys.c | 6 | ||||
-rw-r--r-- | testdata/samba3/smbpasswd | 3 | ||||
-rwxr-xr-x | testprogs/ejs/samba3sam | 78 |
5 files changed, 89 insertions, 69 deletions
diff --git a/source4/lib/ldb/tests/test-samba3sam.sh b/source4/lib/ldb/tests/test-samba3sam.sh deleted file mode 100755 index 5baf0bf77a..0000000000 --- a/source4/lib/ldb/tests/test-samba3sam.sh +++ /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 diff --git a/source4/script/tests/selftest.sh b/source4/script/tests/selftest.sh index b102bf20fe..82cac6459f 100755 --- a/source4/script/tests/selftest.sh +++ b/source4/script/tests/selftest.sh @@ -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 diff --git a/source4/scripting/ejs/smbcalls_sys.c b/source4/scripting/ejs/smbcalls_sys.c index 3f1f4b0734..f32605c3d5 100644 --- a/source4/scripting/ejs/smbcalls_sys.c +++ b/source4/scripting/ejs/smbcalls_sys.c @@ -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 index 0000000000..6e3c34dfaa --- /dev/null +++ b/testdata/samba3/smbpasswd @@ -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 index 0000000000..223cd87eee --- /dev/null +++ b/testprogs/ejs/samba3sam @@ -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); |