summaryrefslogtreecommitdiff
path: root/qa/546
diff options
context:
space:
mode:
Diffstat (limited to 'qa/546')
-rwxr-xr-xqa/546102
1 files changed, 102 insertions, 0 deletions
diff --git a/qa/546 b/qa/546
new file mode 100755
index 0000000..b4e2297
--- /dev/null
+++ b/qa/546
@@ -0,0 +1,102 @@
+#!/bin/sh
+# PCP QA Test No. 546
+# Check parsing of PMCD access section user/group extensions with errors
+#
+# Copyright (c) 2013 Red Hat.
+# Copyright (c) 2011 Ken McDonell. All Rights Reserved.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+. ./common.secure
+
+_get_libpcp_config
+$unix_domain_sockets || _notrun "No unix domain socket support available"
+
+status=1 # failure is the default!
+$sudo rm -rf $tmp.* $seq.full
+trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15
+
+_filter()
+{
+ _filter_pmcd_log \
+ | sed \
+ -e "s:$tmp:TMP:g" \
+ -e "s:$userid $username:USERID USERNAME:g" \
+ -e "s:$groupid $groupname:GROUPID GROUPNAME:g" \
+ -e "s:$userid\($username\):USERID(USERNAME):g" \
+ -e "s:$groupid\($groupname\):GROUPID(GROUPNAME):g" \
+
+}
+
+# new access control cases, not checked in QA 051 or 454
+# real QA test starts here
+export PCP_PMCDCONF_PATH=$tmp.conf
+export PMCD_PORT=9876
+export PMCD_SOCKET=$tmp.pmcd.socket
+
+# user test cases
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow user nosuchuser ;
+allow user $username : ;
+allow user $username : fetch, ;
+allow user $username : fetch, maximum 7 connections, store, maximum 3 connections;
+allow user $username : fetch, maximum foo connections;
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow user $username : store
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow user $username, nosuchuser
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+# group test cases
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow group nosuchgroup ;
+allow group $groupname : ;
+allow group $groupname : fetch, ;
+allow group $groupname : fetch, maximum 7 connections, store, maximum 3 connections;
+allow group $groupname : fetch, maximum foo connections;
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow group $groupname : store
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+cat <<End-of-File >$tmp.conf
+sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
+[access]
+allow group $groupname, nosuchgroup
+End-of-File
+pmcd -f -x $seq.full -l $tmp.log
+_filter <$tmp.log
+
+# success, all done
+status=0
+
+exit