s4:blackblox/test_ldb: test searches via wellknownObjects
[kai/samba.git] / testprogs / blackbox / test_ldb.sh
index 8e1af99719178cf7bf2c32ddc2a9a5d557fd82a6..7a657d2e8d369f4ea4a9a530742dcb5368d27cf4 100755 (executable)
@@ -117,5 +117,67 @@ echo "Search Options Control Query test returned 0 items"
 failed=`expr $failed + 1`
 fi
 
+function wellkown_object_test() {
+       local guid=$1
+       local object=$2
+       local basedns
+       local dn
+       local r
+       local c
+       local n
+       local failed=0
+
+       basedns="<WKGUID=${guid},${BASEDN}> <wkGuId=${guid},${BASEDN}>"
+       for dn in ${basedns}; do
+               echo "Test ${dn} => ${object}"
+               r=`bin/ldbsearch $options $CONFIGURATION -H $p://$SERVER '(objectClass=*)' -b "${dn}" | grep 'dn: '`
+               n=`echo "${r}" | grep 'dn: ' | wc -l`
+               c=`echo "${r}" | grep "${object}" | wc -l`
+
+               if [ $n -lt 1 ]; then
+                       echo "Object not found by WKGUID"
+                       failed=`expr $failed + 1`
+                       continue
+               fi
+               if [ $c -lt 1 ]; then
+                       echo "Wrong object found by WKGUID: [${r}]"
+                       failed=`expr $failed + 1`
+                       continue
+               fi
+       done
+
+       return $failed
+}
+
+wellkown_object_test 22B70C67D56E4EFB91E9300FCA3DC1AA ForeignSecurityPrincipals
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
+wellkown_object_test 2FBAC1870ADE11D297C400C04FD8D5CD Infrastructure
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
+wellkown_object_test AB1D30F3768811D1ADED00C04FD8D5CD System
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
+wellkown_object_test A361B2FFFFD211D1AA4B00C04FD7D83A Domain Controllers
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
+wellkown_object_test AA312825768811D1ADED00C04FD8D5CD Computers
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
+wellkown_object_test A9D1CA15768811D1ADED00C04FD8D5CD Users
+st=$?
+if [ x"$st" != x"0" ]; then
+       failed=`expr $failed + $st`
+fi
 
 exit $failed