selftest: Add testcase for querying sessions after smbd crash
[kai/samba-autobuild/.git] / source3 / script / tests / test_rpcclient_netsessenum.sh
1 #!/bin/sh
2 #
3 # Blackbox tests for the rpcclient srvsvc commands
4 #
5 # Copyright (C) 2018 Christof Schmitt
6
7 if [ $# -lt 6 ]; then
8 cat <<EOF
9 Usage: $0 DOMAIN ADMIN_USER ADMIN_PASSWORD SERVER RPCCLIENT SMBTORTURE3 SHARE
10 EOF
11 exit 1;
12 fi
13
14 DOMAIN="$1"
15 ADMIN_USER="$2"
16 ADMIN_PASSWORD="$3"
17 SERVER="$4"
18 RPCCLIENT="$5"
19 SMBTORTURE3="$6"
20 SHARE="$7"
21
22 USERPASS="-U$DOMAIN/$ADMIN_USER%$ADMIN_PASSWORD"
23 RPCCLIENTCMD="$RPCCLIENT $SERVER $USERPASS"
24
25 incdir=$(dirname $0)/../../../testprogs/blackbox
26 . $incdir/subunit.sh
27
28 failed=0
29
30 #
31 # Verify initial number of sessions.
32 #
33 $RPCCLIENTCMD -c NetSessEnum | grep Received
34 RC=$?
35 testit "netsessenum" test $RC = 0 || failed=$(expr $failed + 1)
36
37 OUT=$($RPCCLIENTCMD -c NetSessEnum | grep Received)
38 test "$OUT" = "Received 1 entries."
39 RC=$?
40 testit "count1" test $RC -eq 0  || failed=$(expr $failed + 1)
41
42 #
43 # Inject smbd crash
44 #
45 $SMBTORTURE3 //"$SERVER"/"$SHARE" "$USERPASS" CLEANUP1
46
47 #
48 # Verify number of sessions after crash
49 #
50 OUT=$($RPCCLIENTCMD -c NetSessEnum | grep Received)
51 test "$OUT" = "Received 1 entries."
52 RC=$?
53 testit "count2" test $RC -eq 0  || failed=$(expr $failed + 1)
54
55 testok $0 $failed