summaryrefslogtreecommitdiffstats
path: root/tests/mmdb-multilevel-vg.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtests/mmdb-multilevel-vg.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/mmdb-multilevel-vg.sh b/tests/mmdb-multilevel-vg.sh
new file mode 100755
index 0000000..b6096b3
--- /dev/null
+++ b/tests/mmdb-multilevel-vg.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# This file is part of the rsyslog project, released under ASL 2.0
+. ${srcdir:=.}/diag.sh init
+# we libmaxminddb, in packaged versions, has a small cosmetic memory leak,
+# thus we need a suppressions file:
+export RS_TESTBENCH_VALGRIND_EXTRA_OPTS="$RS_TESTBENCH_VALGRIND_EXTRA_OPTS --suppressions=$srcdir/libmaxmindb.supp"
+generate_conf
+add_conf '
+template(name="outfmt" type="string" string="%$!iplocation%\n")
+
+module(load="../plugins/mmdblookup/.libs/mmdblookup")
+module(load="../plugins/mmnormalize/.libs/mmnormalize")
+module(load="../plugins/imptcp/.libs/imptcp")
+input(type="imptcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="testing")
+
+ruleset(name="testing") {
+ action(type="mmnormalize" rulebase="'$srcdir'/mmdb.rb")
+ # Uncomment this action when using the real GeoLite2 city database;
+ # we have not included it into the testbench for licensing concerns.
+ # action(type="mmdblookup" mmdbfile="/home/USR/GeoLite2-City_20170502/GeoLite2-City.mmdb" key="$!ip" fields=":city:!city!names!en" )
+ action(type="mmdblookup" mmdbfile="'$srcdir'/test.mmdb" key="$!ip" fields=":city_name:city" )
+ action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt")
+}'
+startup_vg
+tcpflood -m 100 -j "202.106.0.20\ "
+shutdown_when_empty
+wait_shutdown_vg
+check_exit_vg
+content_check '{ "city_name": "Beijing" }'
+exit_test