selftest: Improve renamedc tests to confirm more than just the exit code
authorAndrew Bartlett <abartlet@samba.org>
Mon, 23 Feb 2015 02:45:53 +0000 (15:45 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 25 Feb 2015 00:08:12 +0000 (01:08 +0100)
This now confirms that the DC has been renamed

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
testprogs/blackbox/renamedc.sh

index 2eab85e6e92a9dbbc66eb00c3e19b97662554bc6..874186766eed76c0d22d92002fe573e74291f355 100755 (executable)
@@ -10,12 +10,21 @@ fi
 PREFIX="$1"
 shift 1
 
+samba4bindir="$BINDIR"
+ldbsearch="ldbsearch"
+if [ -x "$samba4bindir/ldbsearch" ]; then
+       ldbsearch="$samba4bindir/ldbsearch"
+fi
+
 . `dirname $0`/subunit.sh
 
 if [ ! -d $PREFIX/renamedc_test ]; then
-       $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/renamedc_test" --server-role="dc" --use-ntvfs
+       mkdir -p $PREFIX/renamedc_test
 fi
 
+testprovision() {
+    $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/renamedc_test" --server-role="dc" --use-ntvfs
+}
 
 testrenamedc() {
        $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
@@ -24,6 +33,21 @@ testrenamedc() {
                -s $PREFIX/renamedc_test/etc/smb.conf
 }
 
+confirmrenamedc() {
+    $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb -s base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com'
+}
+
+confirmrenamedc_server() {
+    $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb -s base -b 'cn=RAYMONBAR,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=configuration,dc=foo,dc=example,dc=com'
+}
+
+confirmrenamedc_sAMAccountName() {
+    $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb -s base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com' sAMAccountName | grep 'sAMAccountName: RAYMONBAR\$'
+}
+
+confirmrenamedc_dNSHostName() {
+    $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb -s base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com' dNSHostName | grep 'dNSHostName: RAYMONBAR.foo.example.com'
+}
 
 testrenamedc2() {
        $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
@@ -32,8 +56,19 @@ testrenamedc2() {
                -s $PREFIX/renamedc_test/etc/smb.conf
 }
 
-testit "renamedc" testrenamedc
-testit "renamedc2" testrenamedc2
+dbcheck() {
+       $BINDIR/samba-tool dbcheck --cross-ncs -s $PREFIX/renamedc_test/etc/smb.conf
+}
+
+
+testit "renameprovision" testprovision || failed=`expr $failed + 1`
+testit "renamedc" testrenamedc || failed=`expr $failed + 1`
+testit "confirmrenamedc" confirmrenamedc || failed=`expr $failed + 1`
+testit "confirmrenamedc_server" confirmrenamedc_server || failed=`expr $failed + 1`
+testit "confirmrenamedc_sAMAccountName" confirmrenamedc_sAMAccountName || failed=`expr $failed + 1`
+testit "confirmrenamedc_dNSHostName" confirmrenamedc_dNSHostName || failed=`expr $failed + 1`
+testit "dbcheck" dbcheck || failed=`expr $failed + 1`
+testit "renamedc2" testrenamedc2 || failed=`expr $failed + 1`
 
 if [ $failed -eq 0 ]; then
        rm -rf $PREFIX/renamedc_test