diff options
author | Joseph Sutton <josephsutton@catalyst.net.nz> | 2022-03-03 20:59:48 +1300 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2022-03-18 11:55:30 +0000 |
commit | 4f1b7684ed437d1e4bf77a867ee0384bc939f312 (patch) | |
tree | 87f046eae40a114010032d0ad2691146e32a9254 /testprogs/blackbox/test_special_group.sh | |
parent | bf509bf7df1348f4793a32dea99c9ec3384c9ad0 (diff) | |
download | samba-4f1b7684ed437d1e4bf77a867ee0384bc939f312.tar.gz |
functionalprep.sh: Add test for samba-tool add group --special
Test that we can add the special Protected Users group, and that we get
an appropriate error message when attempting to add it a second time.
We add these tests here so that we can make use of an old provision that
does not already have the Protected Users group added.
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'testprogs/blackbox/test_special_group.sh')
-rwxr-xr-x | testprogs/blackbox/test_special_group.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/testprogs/blackbox/test_special_group.sh b/testprogs/blackbox/test_special_group.sh new file mode 100755 index 00000000000..84bb95f7b8f --- /dev/null +++ b/testprogs/blackbox/test_special_group.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +if [ $# -lt 1 ]; then +cat <<EOF +Usage: $0 PREFIX +EOF +exit 1; +fi + +PREFIX_ABS="$1" +shift 1 + +failed=0 + +. `dirname $0`/subunit.sh +. `dirname $0`/common_test_fns.inc + +OLD_RELEASE="release-4-5-0-pre1" +old_release_dir="$SRCDIR_ABS/source4/selftest/provisions/$OLD_RELEASE" + +samba_tdbrestore="tdbrestore" +if [ -x "$BINDIR/tdbrestore" ]; then + samba_tdbrestore="$BINDIR/tdbrestore" +fi + +samba_undump="$SRCDIR_ABS/source4/selftest/provisions/undump.sh" + +cleanup_output_directories() +{ + remove_directory $PREFIX_ABS/$OLD_RELEASE +} + +undump_old() { + $samba_undump $old_release_dir $PREFIX_ABS/$OLD_RELEASE $samba_tdbrestore +} + +add_special_group() { + $PYTHON $BINDIR/samba-tool group add 'protected users' --special -H tdb://$PREFIX_ABS/$OLD_RELEASE/private/sam.ldb +} + +# double-check we cleaned up from the last test run +cleanup_output_directories + +testit $OLD_RELEASE undump_old || failed=`expr $failed + 1` + +testit "add_special_group" add_special_group || failed=`expr $failed + 1` + +testit_expect_failure_grep "add_duplicate_special_group" "Failed to add group.*already exists" add_special_group || failed=`expr $failed + 1` + +cleanup_output_directories + +exit $failed |