summaryrefslogtreecommitdiff
path: root/python/samba/tests/samba_tool/edit.sh
blob: c1ecfde8581f13a28838a0e8e31e4499eda42b06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh
#
# Test for 'samba-tool user edit'

if [ $# -lt 3 ]; then
cat <<EOF
Usage: edit.sh SERVER USERNAME PASSWORD
EOF
exit 1;
fi

SERVER="$1"
USERNAME="$2"
PASSWORD="$3"

STpath=$(pwd)
. $STpath/testprogs/blackbox/subunit.sh

# create editor.sh
# this has to be hard linked to /tmp or 'samba-tool user edit' cannot find it
tmpeditor=$(mktemp --suffix .sh -p $STpath/bin samba-tool-editor-XXXXXXXX)

cat >$tmpeditor <<-'EOF'
#!/usr/bin/env bash
user_ldif="$1"
SED=$(which sed)
$SED -i -e 's/userAccountControl: 512/userAccountControl: 514/' $user_ldif
EOF

chmod +x $tmpeditor

failed=0

# Create a test user
subunit_start_test "Create_User"
output=$(${STpath}/source4/scripting/bin/samba-tool user create sambatool1 --random-password \
-H "ldap://$SERVER" "-U$USERNAME" "--password=$PASSWORD")
status=$?
if [ "x$status" = "x0" ]; then
    subunit_pass_test "Create_User"
else
    echo "$output" | subunit_fail_test "Create_User"
    failed=$((failed + 1))
fi

# Edit test user
subunit_start_test "Edit_User"
output=$(${STpath}/source4/scripting/bin/samba-tool user edit sambatool1 --editor=$tmpeditor \
-H "ldap://$SERVER" "-U$USERNAME" "--password=$PASSWORD")
status=$?
if [ "x$status" = "x0" ]; then
    subunit_pass_test "Edit_User"
else
    echo "$output" | subunit_fail_test "Edit_User"
    failed=$((failed + 1))
fi

# Delete test user
subunit_start_test "Delete_User"
output=$(${STpath}/source4/scripting/bin/samba-tool user delete sambatool1 \
-H "ldap://$SERVER" "-U$USERNAME" "--password=$PASSWORD")
status=$?
if [ "x$status" = "x0" ]; then
    subunit_pass_test "Delete_User"
else
    echo "$output" | subunit_fail_test "Delete_User"
    failed=$((failed + 1))
fi

rm -f $tmpeditor

exit $failed