diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:20:00 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:20:00 +0000 |
commit | 8daa83a594a2e98f39d764422bfbdbc62c9efd44 (patch) | |
tree | 4099e8021376c7d8c05bdf8503093d80e9c7bad0 /nsswitch/tests/test_wbinfo_name_lookup.sh | |
parent | Initial commit. (diff) | |
download | samba-8daa83a594a2e98f39d764422bfbdbc62c9efd44.tar.xz samba-8daa83a594a2e98f39d764422bfbdbc62c9efd44.zip |
Adding upstream version 2:4.20.0+dfsg.upstream/2%4.20.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'nsswitch/tests/test_wbinfo_name_lookup.sh')
-rwxr-xr-x | nsswitch/tests/test_wbinfo_name_lookup.sh | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/nsswitch/tests/test_wbinfo_name_lookup.sh b/nsswitch/tests/test_wbinfo_name_lookup.sh new file mode 100755 index 0000000..048fdfc --- /dev/null +++ b/nsswitch/tests/test_wbinfo_name_lookup.sh @@ -0,0 +1,64 @@ +#!/bin/sh +# Blackbox test for wbinfo name lookup +if [ $# -lt 3 ]; then + cat <<EOF +Usage: test_wbinfo_name_lookup.sh DOMAIN REALM DC_USERNAME +EOF + exit 1 +fi + +DOMAIN=$1 +REALM=$2 +DC_USERNAME=$3 +shift 3 + +failed=0 +sambabindir="$BINDIR" +wbinfo="$VALGRIND $sambabindir/wbinfo" + +. $(dirname $0)/../../testprogs/blackbox/subunit.sh + +# Correct query is expected to work +testit "name-to-sid.single-separator" \ + $wbinfo -n $DOMAIN/$DC_USERNAME || + failed=$(expr $failed + 1) + +testit "name-to-sid.at_domain" \ + $wbinfo -n $DOMAIN/ || + failed=$(expr $failed + 1) + +testit "name-to-sid.upn" \ + $wbinfo -n $DC_USERNAME@$REALM || + failed=$(expr $failed + 1) + +testit "name-to-sid.realm-user" \ + $wbinfo -n $REALM/$DC_USERNAME || + failed=$(expr $failed + 1) + +# For the name-to-sid.realm-user query, ensure +# that this does not change subsequent sid-to-name +# queries. +sid=$($wbinfo -n $REALM/$DC_USERNAME | sed -e 's/ .*//') +out=$($wbinfo -s $sid | sed -e 's/ .//') +# winbindd returns usernames in lowercase +lcuser=$(echo $DC_USERNAME | tr A-Z a-z) +testit "Verify DOMAIN/USER output" \ + test "$out" = "$DOMAIN/$lcuser" || + failed=$(expr $failed + 1) + +# Two separator characters should fail +testit_expect_failure "name-to-sid.double-separator" \ + $wbinfo -n $DOMAIN//$DC_USERNAME || + failed=$(expr $failed + 1) + +# Invalid domain is expected to fail +testit_expect_failure "name-to-sid.invalid-domain" \ + $wbinfo -n INVALID/$DC_USERNAME || + failed=$(expr $failed + 1) + +# Invalid domain with two separator characters is expected to fail +testit_expect_failure "name-to-sid.double-separator-invalid-domain" \ + $wbinfo -n INVALID//$DC_USERNAME || + failed=$(expr $failed + 1) + +exit $failed |