]> git.stg.codes - stg.git/blobdiff - functest/test_admins.sh
Ticket 12. The 'StopOnError' parameter added.
[stg.git] / functest / test_admins.sh
index d82d97bcb596c73f768a04c682524131a1d72954..dae254ba0aa6cb392428c3e973004a0773ef85c2 100755 (executable)
@@ -1,43 +1,44 @@
 #!/bin/sh
 
+source `dirname $0`/functions
+
 BASEPATH=$1
 
 SGCONFPATH="$BASEPATH/stg/projects/sgconf"
 
+printf "Check initial admin list... "
+
 RES=`"$SGCONFPATH/sgconf" -s localhost -p 5555 -u admin -w 123456 --get-admins`
 
 if [ "$?" != "0" ]
 then
+    printf "Error.\n"
     printf "Failed to get admins list. Result:\n$RES\n"
     exit 0
 fi
 
-printf "Got admins list:\n"
+LOGINS=`getFields "login" "$RES"`
 
-LOGINS=""
-OLDIFS=$IFS
-IFS=$(printf "\n")
-for LINE in $RES
-do
-    printf -- "$LINE\n"
-    LOGIN=`printf "$LINE" | grep login`
-    if [ "$?" == "0" ]
-    then
-        LOGINS="$LOGINS\n"`printf "$LOGIN" | cut -d: -f2 | sed -e 's/^ *//' -e 's/ *$//'`
-    fi
-done
-IFS=$OLDIFS
+NUM=`count "$LOGINS"`
 
-printf "Logins:\n$LOGINS\n"
-
-NUM=`printf "$LOGINS" | wc -l`
+if [ "$NUM" != "1" ]
+then
+    printf "Failed.\n"
+    printf "Admin list should have exactly one entry.\n"
+    printf "Logins:\n$LOGINS\n"
+    printf -- "--------\n$NUM\n\n"
+    exit 0
+fi
 
-printf -- "--------\n$NUM\n\n"
+printf "Ok.\nCheck updating admin permissions... "
 
 RES=`"$SGCONFPATH/sgconf" -s localhost -p 5555 -u admin -w 123456 --chg-admin admin --priv 111111111`
 
 if [ "$?" != "0" ]
 then
+    printf "Error\n"
     printf "Failed to update admin's priviledges Result:\n$RES\n"
     exit 0
 fi
+
+printf "Ok.\n"