diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-08-30 22:38:34 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:35:04 -0500 |
commit | 40f85ace04abad7460d0f0afe9211c4280482c6c (patch) | |
tree | 27d20db768cfda4fb40bfc9cf8ed37923be30501 /testprogs/ejs | |
parent | 34305d74e19e09d304db4bfe7fcd46504831feaf (diff) | |
download | samba-40f85ace04abad7460d0f0afe9211c4280482c6c.tar.gz samba-40f85ace04abad7460d0f0afe9211c4280482c6c.tar.bz2 samba-40f85ace04abad7460d0f0afe9211c4280482c6c.zip |
r9813: Conver testsuite for samba3sam module to EJS
(This used to be commit 77f24ed131bf57c30bb500e1d8d387bd4b403ddc)
Diffstat (limited to 'testprogs/ejs')
-rwxr-xr-x | testprogs/ejs/samba3sam | 78 |
1 files changed, 78 insertions, 0 deletions
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); |