selftest: Improve renamedc tests to confirm more than just the exit code
[Samba.git] / testprogs / blackbox / renamedc.sh
blob874186766eed76c0d22d92002fe573e74291f355
1 #!/bin/sh
3 if [ $# -lt 1 ]; then
4 cat <<EOF
5 Usage: renamedc.sh PREFIX
6 EOF
7 exit 1;
8 fi
10 PREFIX="$1"
11 shift 1
13 samba4bindir="$BINDIR"
14 ldbsearch="ldbsearch"
15 if [ -x "$samba4bindir/ldbsearch" ]; then
16 ldbsearch="$samba4bindir/ldbsearch"
19 . `dirname $0`/subunit.sh
21 if [ ! -d $PREFIX/renamedc_test ]; then
22 mkdir -p $PREFIX/renamedc_test
25 testprovision() {
26 $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/renamedc_test" --server-role="dc" --use-ntvfs
29 testrenamedc() {
30 $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
31 --oldname="BAR" \
32 --newname="RAYMONBAR" \
33 -s $PREFIX/renamedc_test/etc/smb.conf
36 confirmrenamedc() {
37 $ldbsearch -H $PREFIX/renamedc_test/private/sam.ldb -s base -b 'cn=RAYMONBAR,ou=domain controllers,dc=foo,dc=example,dc=com'
40 confirmrenamedc_server() {
41 $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'
44 confirmrenamedc_sAMAccountName() {
45 $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\$'
48 confirmrenamedc_dNSHostName() {
49 $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'
52 testrenamedc2() {
53 $PYTHON $SRCDIR/source4/scripting/bin/renamedc \
54 --oldname="RAYMONBAR" \
55 --newname="BAR" \
56 -s $PREFIX/renamedc_test/etc/smb.conf
59 dbcheck() {
60 $BINDIR/samba-tool dbcheck --cross-ncs -s $PREFIX/renamedc_test/etc/smb.conf
64 testit "renameprovision" testprovision || failed=`expr $failed + 1`
65 testit "renamedc" testrenamedc || failed=`expr $failed + 1`
66 testit "confirmrenamedc" confirmrenamedc || failed=`expr $failed + 1`
67 testit "confirmrenamedc_server" confirmrenamedc_server || failed=`expr $failed + 1`
68 testit "confirmrenamedc_sAMAccountName" confirmrenamedc_sAMAccountName || failed=`expr $failed + 1`
69 testit "confirmrenamedc_dNSHostName" confirmrenamedc_dNSHostName || failed=`expr $failed + 1`
70 testit "dbcheck" dbcheck || failed=`expr $failed + 1`
71 testit "renamedc2" testrenamedc2 || failed=`expr $failed + 1`
73 if [ $failed -eq 0 ]; then
74 rm -rf $PREFIX/renamedc_test
77 exit $failed