summaryrefslogtreecommitdiffstats
path: root/source3/script/tests/test_rpcclientsrvsvc.sh
blob: fdade1a19cb814754b30e2f24dfd9f930d05b4fd (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/sh
#
# Blackbox tests for the rpcclient srvsvc commands
#
# Copyright (C) 2015 Christof Schmitt

if [ $# -lt 5 ]; then
	cat <<EOF
Usage: test_rpcclientsrvsvc.sh USERNAME PASSWORD SERVER RPCCLIENT SHARE1
EOF
	exit 1
fi

USERNAME="$1"
PASSWORD="$2"
SERVER="$3"
RPCCLIENT="$4"
SHARE1="$5"

RPCCLIENTCMD="$RPCCLIENT $SERVER -U$USERNAME%$PASSWORD"

SHARENAME=SRVSVCTEST
MAX_USERS=5
COMMENT="share for RPC SRVSVC testing"

incdir=$(dirname $0)/../../../testprogs/blackbox
. $incdir/subunit.sh

failed=0

# Query path from existing share

$RPCCLIENTCMD -c "netsharegetinfo $SHARE1"
RC=$?
testit "getinfo on S$SHARE1" test $RC = 0 || failed=$(expr $failed + 1)

SHAREPATH=$($RPCCLIENTCMD -c "netsharegetinfo '$SHARE1'" |
	grep path: | sed -e 's/.*path:\t//')
testit "verifying $SHARE1 path" test -n "$SHAREPATH" ||
	failed=$(expr $failed + 1)

# Add a new share

$RPCCLIENTCMD -c "netshareadd '$SHAREPATH' '$SHARENAME' '$MAX_USERS' '$COMMENT'"
RC=$?
testit "netshareadd" test $RC = 0 || failed=$(expr $failed + 1)

# Verify comment for new share

COMMENT_RET=$($RPCCLIENTCMD -c "netsharegetinfo '$SHARENAME'" |
	grep remark: | sed -e 's/.*remark:\t//')

test "$COMMENT" = "$COMMENT_RET"
RC=$?
testit "verifying comment" test $RC -eq 0 || failed=$(expr $failed + 1)

# Verify share path for new share

SHAREPATH_RET=$($RPCCLIENTCMD -c "netsharegetinfo '$SHARENAME'" |
	grep path: | sed -e 's/.*path:\t//')
test "$SHAREPATH" = "$SHAREPATH_RET"
RC=$?
testit "verifying share path" test $RC -eq 0 || failed=$(expr $failed + 1)

# Set CSC policy

$RPCCLIENTCMD -c "netsharesetdfsflags '$SHARENAME' 0x30"
RC=$?
testit "set csc policy" test $RC -eq 0 || failed=$(expr $failed + 1)

# Query CSC policy

CSC_CACHING_RET=$($RPCCLIENTCMD -c "netsharegetinfo '$SHARENAME' 1005" |
	grep 'csc caching' | sed -e 's/.*csc caching: //')
testit "verifying csc policy" test $CSC_CACHING_RET -eq 3 ||
	failed=$(expr $failed + 1)

# Delete share

$RPCCLIENTCMD -c "netsharedel '$SHARENAME'"
RC=$?
testit "deleting share" test $RC -eq 0 || failed=$(expr $failed + 1)

# Verify that query to deleted share fails

$RPCCLIENTCMD -c "netsharegetinfo '$SHARENAME' 1005"
RC=$?
testit "querying deleted share" test $RC -eq 1 || failed=$(expr $failed + 1)

testok $0 $failed