dbcheck-links: Test that dbcheck against one-way links does not error
authorGarming Sam <garming@catalyst.net.nz>
Wed, 8 Feb 2017 02:24:14 +0000 (15:24 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 13 Feb 2017 06:33:08 +0000 (07:33 +0100)
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12577
Pair-programmed-with: Bob Campbell <bobcampbell@catalyst.net.nz>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Feb 13 07:33:08 CET 2017 on sn-devel-144

source4/selftest/provisions/release-4-5-0-pre1/dangling-one-way-link.ldif [new file with mode: 0644]
testprogs/blackbox/dbcheck-links.sh

diff --git a/source4/selftest/provisions/release-4-5-0-pre1/dangling-one-way-link.ldif b/source4/selftest/provisions/release-4-5-0-pre1/dangling-one-way-link.ldif
new file mode 100644 (file)
index 0000000..c215c06
--- /dev/null
@@ -0,0 +1,15 @@
+dn: CN=secretary,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
+changetype: add
+objectclass: user
+samaccountname: secretary
+
+dn: CN=dangling-one-way,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
+changetype: add
+objectclass: user
+samaccountname: dangling-one-way
+secretary: CN=secretary,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
+
+dn: CN=secretary,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
+changetype: modrdn
+newrdn: cn=new-secretary
+deleteoldrdn: 1
index 11592f0a3a482d9d8d3fbda67fcbc86a3e908d0f..0799a502fe537553aa2e049ded0a85585c8f07aa 100755 (executable)
@@ -157,6 +157,14 @@ check_expected_after_objects() {
     fi
 }
 
+dangling_one_way() {
+    ldif=$release_dir/dangling-one-way-link.ldif
+    TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $ldif
+    if [ "$?" != "0" ]; then
+        return 1
+    fi
+}
+
 if [ -d $release_dir ]; then
     testit $RELEASE undump
     testit "add_two_more_users" add_two_more_users
@@ -169,6 +177,8 @@ if [ -d $release_dir ]; then
     testit "check_expected_after_deleted_links" check_expected_after_deleted_links
     testit "check_expected_after_links" check_expected_after_links
     testit "check_expected_after_objects" check_expected_after_objects
+    testit "dangling_one_way" dangling_one_way
+    testit "dbcheck_clean" dbcheck_clean
 else
     subunit_start_test $RELEASE
     subunit_skip_test $RELEASE <<EOF