tests/dbcheck: Add a test for two live objects, with a dangling forward link
[sfrench/samba-autobuild/.git] / testprogs / blackbox / dbcheck-links.sh
index f6c6a76d8f4e7aabca03ff70ad66ef4836ed8e67..2a1bfbace02b85bbbf7102fa2103e1c3db2d9af1 100755 (executable)
@@ -91,6 +91,27 @@ dbcheck_clean() {
     fi
 }
 
+add_dangling_link() {
+    ldif=$release_dir/add-dangling-forwardlink-user.ldif
+    TZ=UTC $ldbadd -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $ldif
+    if [ "$?" != "0" ]; then
+       return 1
+    fi
+
+    ldif=$release_dir/add-initially-normal-link.ldif
+    TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $ldif
+    if [ "$?" != "0" ]; then
+       return 1
+    fi
+    sleep 6
+
+    ldif=$release_dir/delete-only-backlink.ldif
+    TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif
+    if [ "$?" != "0" ]; then
+       return 1
+    fi
+}
+
 add_dangling_backlink() {
     ldif=$release_dir/add-dangling-backlink-user.ldif
     TZ=UTC $ldbadd -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $ldif
@@ -186,6 +207,7 @@ if [ -d $release_dir ]; then
     testit "remove_one_link" remove_one_link
     testit "remove_one_user" remove_one_user
     testit "move_one_user" move_one_user
+    testit "add_dangling_link" add_dangling_link
     testit "add_dangling_backlink" add_dangling_backlink
     testit "dbcheck" dbcheck
     testit "dbcheck_clean" dbcheck_clean