diff options
Diffstat (limited to '')
-rwxr-xr-x | tests/imhttp-post-payload-large.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/imhttp-post-payload-large.sh b/tests/imhttp-post-payload-large.sh new file mode 100755 index 0000000..7323eec --- /dev/null +++ b/tests/imhttp-post-payload-large.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# This is part of the rsyslog testbench, licensed under ASL 2.0 + +. ${srcdir:=.}/diag.sh init +generate_conf +IMHTTP_PORT="$(get_free_port)" +add_conf ' +#template(name="outfmt" type="string" string="%msg%\n") +template(name="outfmt" type="string" string="%rawmsg%\n") +module(load="../contrib/imhttp/.libs/imhttp" + ports="'$IMHTTP_PORT'") +input(type="imhttp" endpoint="/postrequest" ruleset="ruleset") +ruleset(name="ruleset") { + action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +} +' +startup +NUMMESSAGES=25 +DATA_SOURCE=$srcdir/testsuites/imhttp-large-data.txt +for (( i=1; i<=NUMMESSAGES; i++ )) +do + curl -si -X POST -H Content-Type:application/json http://localhost:$IMHTTP_PORT/postrequest --data-binary @$DATA_SOURCE & + pids[${i}]=$! +done + +# wait for all pids +for pid in ${pids[*]}; +do + wait $pid +# echo "$pid cleaned up" +done + +sleep 2 +wait_queueempty +echo "doing shutdown" +shutdown_when_empty +wait_shutdown + +# reference file for comparison +TMPFILE=${RSYSLOG_DYNNAME}.tmp +for (( i=1; i <= NUMMESSAGES; i++ )) +do + cat $DATA_SOURCE >> $TMPFILE +done + +if diff -q $TMPFILE $RSYSLOG_OUT_LOG; +then + echo "files match!" + exit_test +else + error_exit 1 +fi |