summaryrefslogtreecommitdiffstats
path: root/tests/omhttp-batch-jsonarray-retry.sh
blob: 22e4448d136d08e4785f0a1334829e505d01a254 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
# This file is part of the rsyslog project, released under ASL 2.0

#  Starting actual testbench
. ${srcdir:=.}/diag.sh init

export NUMMESSAGES=50000

omhttp_start_server 0 --fail-every 100

generate_conf
add_conf '
module(load="../contrib/omhttp/.libs/omhttp")

main_queue(queue.dequeueBatchSize="2048")

template(name="tpl" type="string"
	 string="{\"msgnum\":\"%msg:F,58:2%\"}")

# Echo message as-is for retry
template(name="tpl_echo" type="string" string="%msg%")

ruleset(name="ruleset_omhttp_retry") {
    action(
        name="action_omhttp"
        type="omhttp"
        errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
        template="tpl_echo"

        server="localhost"
        serverport="'$omhttp_server_lstnport'"
        restpath="my/endpoint"
        batch="on"
        batch.maxsize="100"
        batch.format="jsonarray"

        retry="on"
        retry.ruleset="ruleset_omhttp_retry"

        # Auth
        usehttps="off"
    ) & stop
}

ruleset(name="ruleset_omhttp") {
    action(
        name="action_omhttp"
        type="omhttp"
        errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
        template="tpl"

        server="localhost"
        serverport="'$omhttp_server_lstnport'"
        restpath="my/endpoint"
        batch="on"
        batch.maxsize="100"
        batch.format="jsonarray"

        retry="on"
        retry.ruleset="ruleset_omhttp_retry"

        # Auth
        usehttps="off"
    ) & stop
}

if $msg contains "msgnum:" then
    call ruleset_omhttp
'
startup
injectmsg
shutdown_when_empty
wait_shutdown
omhttp_get_data $omhttp_server_lstnport my/endpoint jsonarray
omhttp_stop_server
seq_check
exit_test