r9808: Improve code that selects what "passdb backend" to import from.
[samba.git] / source / lib / ldb / tests / test-samba3sam.sh
1 #!/bin/sh
2
3 S3URL=$1
4
5 if [ -z "$S3URL" ];
6 then
7         rm -f samba3.ldb
8         S3URL="tdb://samba3.ldb"
9         echo "Adding samba3 LDIF..."
10         $VALGRIND ldbadd -H tdb://samba3.ldb < samba3.ldif || exit 1
11 fi
12
13 rm -f samba4.ldb
14
15 echo "Initial samba4 LDIF..."
16 $VALGRIND ldbadd -H tdb://samba4.ldb <<EOF
17 dn: @MODULES
18 @LIST: samba3sam
19
20 dn: @MAP=samba3sam
21 @MAP_URL: $S3URL
22
23 EOF
24
25 LOC="-H tdb://samba4.ldb"
26
27 echo "Looking up by non-mapped attribute"
28 $VALGRIND ldbsearch $LOC "(cn=Administrator)" || exit 1
29
30 echo "Looking up by mapped attribute"
31 $VALGRIND ldbsearch $LOC "(name=Backup Operators)" || exit 1
32
33 echo "Looking up by old name of renamed attribute"
34 $VALGRIND ldbsearch $LOC "(displayName=Backup Operators)" || exit 1
35
36 echo "Adding a record"
37 $VALGRIND ldbadd $LOC <<EOF
38 dn: cn=Foo,dc=idealx,dc=org
39 unixName: root
40 lastLogon: 20000
41 cn: Foo
42 showInAdvancedViewOnly: TRUE
43
44 EOF
45
46 echo "Checking for existance of record"
47 $VALGRIND ldbsearch $LOC "(cn=Foo)" unixName lastLogon cn showInAdvancedViewOnly || exit 1
48
49 echo "Checking for persistence of non-mappable attribute"
50 $VALGRIND ldbsearch $LOC "(cn=Foo)" showInAdvancedViewOnly | grep showInAdvancedViewOnly || exit 1
51
52 echo "Adding record with mapped attribute in dn"
53 $VALGRIND ldbadd $LOC <<EOF
54 dn: unixName=nobody,dc=idealx,dc=org
55 unixName: nobody 
56 cn: Niemand
57
58 EOF
59
60 echo "Checking for existance of record (mapped)"
61 $VALGRIND ldbsearch $LOC "(unixName=nobody)" unixName cn dn || exit 1