summaryrefslogtreecommitdiffstats
path: root/tests/es-bulk-errfile-popul-def-format.sh
blob: 00cec8852ba11f72b304097738a17992b3dd57ac (plain)
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
#!/bin/bash
# This file is part of the rsyslog project, released under ASL 2.0
. ${srcdir:=.}/diag.sh init
export ES_DOWNLOAD=elasticsearch-6.0.0.tar.gz
ensure_elasticsearch_ready

init_elasticsearch
echo '{ "name" : "foo" }
{"name": bar"}
{"name": "baz"}
{"name": foz"}' > $RSYSLOG_DYNNAME.inESData.inputfile
generate_conf
add_conf '
global(workDirectory="'$RSYSLOG_DYNNAME.spool'")
# Note: we must mess up with the template, because we can not
# instruct ES to put further constraints on the data type and
# values. So we require integer and make sure it is none.
template(name="tpl" type="list") {
	 constant(value="{\"")        
        property(name="$!key") constant(value="\":") property(name="$!obj")
      constant(value="}")   
}

module(load="../plugins/omelasticsearch/.libs/omelasticsearch")
module(load="../plugins/imfile/.libs/imfile")
ruleset(name="foo") {
  set $!key = "my_obj";
  set $!obj = $msg;
  action(type="omelasticsearch"
	 template="tpl"
	 searchIndex="rsyslog_testbench"
	 serverport="19200"
	 searchType="test-type"
	 bulkmode="on"
	 errorFile="./'${RSYSLOG_DYNNAME}'.errorfile")
}

input(type="imfile" File="'$RSYSLOG_DYNNAME.'inESData.inputfile"
      Tag="foo"
      Severity="info"
      ruleset="foo")'
startup
shutdown_when_empty
wait_shutdown

$PYTHON $srcdir/elasticsearch-error-format-check.py default
if [ $? -ne 0 ]
then
    echo "error: Format for error file different! " $?
    error_exit 1
fi
exit_test