varnishtest "Health-checks: http-check send test"

feature ignore_unknown_macro

# This script tests HTTP health-checks and more particularly the "http-check
# send" directive.

server s1 {
    rxreq
    expect req.method == OPTIONS
    expect req.url == /
    expect req.proto == HTTP/1.0
    txresp
} -start

server s2 {
    rxreq
    expect req.method == GET
    expect req.url == /test
    expect req.proto == HTTP/1.1
    txresp
} -start

server s3 {
    rxreq
    expect req.method == OPTIONS
    expect req.url == /
    expect req.proto == HTTP/1.0
    expect req.http.hdr == <undef>
    expect req.http.host == <undef>
    expect req.http.x-test == <undef>
    expect req.http.content-length == <undef>
    expect req.bodylen == 0
    txresp
} -start

server s4 {
    rxreq
    expect req.method == GET
    expect req.url == /status
    expect req.proto == HTTP/1.1
    expect req.http.hdr == <undef>
    expect req.http.host == "my-www-host"
    expect req.http.x-test == true
    expect req.http.content-length == 4
    expect req.bodylen == 4
    expect req.body == "test"
    txresp
} -start

server s5 {
    rxreq
    expect req.method == GET
    expect req.url == /status
    expect req.proto == HTTP/1.1
    expect req.http.hdr == <undef>
    expect req.http.host == "other-www-host"
    expect req.http.x-test == <undef>
    expect req.http.x-new-test == true
    expect req.http.content-length == 10
    expect req.bodylen == 10
    expect req.body == "other test"
    txresp
} -start


syslog S1 -level notice {
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be1 started."
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be1/srv succeeded.*code: 200"
} -start

syslog S2 -level notice {
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be2 started."
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be2/srv succeeded.*code: 200"
} -start

syslog S3 -level notice {
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be3 started."
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be3/srv succeeded.*code: 200"
} -start

syslog S4 -level notice {
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be4 started."
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be4/srv succeeded.*code: 200"
} -start

syslog S5 -level notice {
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy be5 started."
    recv
    expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be5/srv succeeded.*code: 200"
} -start


haproxy h1 -conf {
    defaults
        mode http
        timeout client 1s
        timeout server 1s
        timeout connect 200ms
        option httpchk
        option log-health-checks

    backend be1
        log ${S1_addr}:${S1_port} len 2048 local0
        server srv ${s1_addr}:${s1_port} check inter 200ms rise 1 fall 1

    backend be2
        log ${S2_addr}:${S2_port} len 2048 local0
        option httpchk GET /test HTTP/1.1
        server srv ${s2_addr}:${s2_port} check inter 200ms rise 1 fall 1

    defaults
        mode http
        timeout client 1s
        timeout server 1s
        timeout connect 200ms
        option httpchk GET /status HTTP/1.1\r\nHdr:\ must-be-removed
        option log-health-checks
        http-check send hdr Host "my-www-host" hdr X-test true body "test"

    backend be3
        option httpchk
        log ${S3_addr}:${S3_port} len 2048 local0
        server srv ${s3_addr}:${s3_port} check inter 200ms rise 1 fall 1

    backend be4
        log ${S4_addr}:${S4_port} len 2048 local0
        server srv ${s4_addr}:${s4_port} check inter 200ms rise 1 fall 1

    backend be5
        log ${S5_addr}:${S5_port} len 2058 local0
        http-check send hdr Host "other-www-host" hdr X-New-Test true body "other test"
        server srv ${s5_addr}:${s5_port} check inter 200ms rise 1 fall 1

} -start

syslog S1 -wait
syslog S2 -wait
syslog S3 -wait
syslog S4 -wait
syslog S5 -wait
