summaryrefslogtreecommitdiffstats
path: root/tests/imhttp-post-payload.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/imhttp-post-payload.sh')
-rwxr-xr-xtests/imhttp-post-payload.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/imhttp-post-payload.sh b/tests/imhttp-post-payload.sh
new file mode 100755
index 0000000..2d1af19
--- /dev/null
+++ b/tests/imhttp-post-payload.sh
@@ -0,0 +1,38 @@
+#!/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")
+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
+sleep 1
+NUMMESSAGES=50
+for (( i=1; i<=NUMMESSAGES; i++ ))
+do
+ curl -si -H Content-Type:application/json http://localhost:$IMHTTP_PORT/postrequest -d '[{"foo":"bar","bar":"foo"},{"one":"two","three":"four"}]' &
+ pids[${i}]=$!
+done
+
+# wait for all pids
+for pid in ${pids[*]};
+do
+ wait $pid
+done
+
+sleep 2
+wait_queueempty
+echo "doing shutdown"
+shutdown_when_empty
+wait_shutdown
+echo "file name: $RSYSLOG_OUT_LOG"
+content_count_check '[{"foo":"bar","bar":"foo"},{"one":"two","three":"four"}]' $NUMMESSAGES
+exit_test