varnishtest "Lua: txn:get_priv() scope"
#REQUIRE_OPTIONS=LUA
#REGTEST_TYPE=broken

feature ignore_unknown_macro

server s1 {
    rxreq
    txresp
} -start

haproxy h1 -conf {
    global
        lua-load ${testdir}/healthcheckmail.lua
defaults
    frontend femail
        mode tcp
        bind "fd@${femail}"
        tcp-request content use-service lua.mailservice

    frontend luahttpservice
        mode http
        bind "fd@${luahttpservice}"
        http-request use-service lua.luahttpservice

    frontend fe1
        mode http
        bind "fd@${fe1}"
        default_backend b1

        http-response lua.bug

    backend b1
        mode http
        option httpchk /svr_healthcheck
        option log-health-checks

        email-alert mailers mymailers
        email-alert level info
        email-alert from from@domain.tld
        email-alert to to@domain.tld

        server broken 127.0.0.1:65535 check
        server srv_lua ${h1_luahttpservice_addr}:${h1_luahttpservice_port} check inter 500
        server srv1 ${s1_addr}:${s1_port} check inter 500

    mailers mymailers
#      timeout mail 20s
#      timeout mail 200ms
      mailer smtp1 ${h1_femail_addr}:${h1_femail_port}

} -start

# configure port for lua to call feluaservice
client c1 -connect ${h1_luahttpservice_sock} {
    timeout 2
    txreq -url "/setport" -hdr "vtcport1: ${h1_femail_port}"
    rxresp
    expect resp.status == 200
    expect resp.body == "OK"
} -run

delay 2
server s2 -repeat 5 -start
delay 5

client c2 -connect ${h1_luahttpservice_sock} {
    timeout 2
    txreq -url "/checkMailCounters"
    rxresp
    expect resp.status == 200
    expect resp.body == "MailCounters"
    expect resp.http.mailsreceived == 16
    expect resp.http.mailconnectionsmade == 16
} -run
