-
Notifications
You must be signed in to change notification settings - Fork 899
/
test-execution.sh
executable file
·60 lines (41 loc) · 1.1 KB
/
test-execution.sh
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
#!/bin/bash
#test output from /api/execution/{id}
errorMsg() {
echo "$*" 1>&2
}
DIR=$(cd `dirname $0` && pwd)
# accept url argument on commandline, if '-' use default
url="$1"
if [ "-" == "$1" ] ; then
url='http://localhost:4440'
fi
apiurl="${url}/api"
VERSHEADER="X-RUNDECK-API-VERSION: 1.2"
# curl opts to use a cookie jar, and follow redirects, showing only errors
CURLOPTS="-s -S -L -c $DIR/cookies -b $DIR/cookies"
CURL="curl $CURLOPTS"
XMLSTARLET=xml
execid=$2
if [ "" == "$2" ] ; then
execid="1"
fi
# now submit req
runurl="${apiurl}/execution/${execid}"
echo "TEST: /api/execution/${execid} ..."
params="project=${proj}"
# get listing
$CURL --header "$VERSHEADER" ${runurl}?${params} > $DIR/curl.out
if [ 0 != $? ] ; then
errorMsg "ERROR: failed query request"
exit 2
fi
sh $DIR/api-test-success.sh $DIR/curl.out || exit 2
#Check projects list
itemcount=$($XMLSTARLET sel -T -t -v "/result/executions/@count" $DIR/curl.out)
echo "$itemcount executions"
if [ "1" != "$itemcount" ] ; then
errorMsg "FAIL: execution count should be 1"
exit 2
fi
echo "OK"
#rm $DIR/curl.out