diff options
author | Ralph Boehme <slow@samba.org> | 2017-07-03 18:36:29 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2017-07-04 13:11:16 +0200 |
commit | 8c54092cb0a1d4043eae8e7ec46ea8fb6642554d (patch) | |
tree | aa3be371b99407d30a8147424908509f084d7d7f | |
parent | ee93e652ba537bffecd7adb02fed6794f647b473 (diff) | |
download | samba-8c54092cb0a1d4043eae8e7ec46ea8fb6642554d.tar.gz |
s3/tests: add a net cache samlogon test
Bug: https://bugzilla.samba.org/show_bug.cgi?id=12875
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rwxr-xr-x | source3/script/tests/test_net_cache_samlogon.sh | 43 | ||||
-rwxr-xr-x | source3/selftest/tests.py | 4 |
2 files changed, 47 insertions, 0 deletions
diff --git a/source3/script/tests/test_net_cache_samlogon.sh b/source3/script/tests/test_net_cache_samlogon.sh new file mode 100755 index 00000000000..4114c89fc0e --- /dev/null +++ b/source3/script/tests/test_net_cache_samlogon.sh @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Test 'net cache samlogon' command. +# + +if [ $# -lt 4 ]; then +cat <<EOF +Usage: $0 SERVER SHARE USER PASS +EOF +exit 1; +fi + +SERVER=$1 +SHARE=$2 +USER=$3 +PASS=$4 +smbclient=$BINDIR/smbclient + +failed=0 + +incdir=`dirname $0`/../../../testprogs/blackbox +. $incdir/subunit.sh +. $incdir/common_test_fns.inc + +# Ensure the samlogon cache is primed +test_smbclient "Prime samlogon cache" 'exit' //$SERVER/$SHARE -U$USER%$PASS || failed=$(expr $failed + 1) + +# Ensure list works and remember the sid and name of the first entry +testit "net cache samlogon list" $BINDIR/net cache samlogon list || failed=$(expr $failed + 1) +usersid=$($BINDIR/net cache samlogon list | awk '/^S-/ { print $1 ; exit }') +username=$($BINDIR/net cache samlogon list | awk '/^S-/ { print $2 ; exit }') + +# Test the show command with the sid from the previous list command +testit "net cache samlogon show $usersid" $BINDIR/net cache samlogon show $usersid || failed=$(expr $failed + 1) +tmp=$($BINDIR/net cache samlogon show $usersid | awk '/^Name:/ {print $2}') +testit "net cache samlogon show SID name matches name from list command" test x"$tmp" = x"$username" || failed=$(expr $failed + 1) + +testit "net cache samlogon ndrdump $usersid" $BINDIR/net cache samlogon ndrdump $usersid || failed=$(expr $failed + 1) +tmp=$($BINDIR/net cache samlogon ndrdump $usersid | head -n 1 | grep "netr_SamInfo3: struct netr_SamInfo3") +retval=$? +testit "net cache samlogon ndrdump returns netr_SamInfo3 structure" test $retval -eq 0 || failed=$(expr $failed + 1) + +testok $0 $failed diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index f07084febcc..d459edeca63 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -556,6 +556,10 @@ plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local", smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD', configuration, '$LOCAL_PATH', '$LOCK_DIR' ]) +plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local", + [ os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"), + '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD']) + plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"), "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc", |