varnishtest "Test a few set-var() in global, tcp and http rule sets, at different scopes"
#REQUIRE_VERSION=2.4

feature ignore_unknown_macro

haproxy h1 -conf {
    global
        set-var proc.int12 int(12)
        set-var proc.int5  str(60),div(proc.int12)
        set-var proc.str   str("this is")
        set-var proc.str   str(""),concat("",proc.str," a string")
        set-var proc.uuid  uuid()

    defaults
        mode http
        timeout connect 1s
        timeout client  1s
        timeout server  1s

    frontend fe1
        bind "fd@${fe1}"
        tcp-request session set-var(sess.int5) var(proc.int5)
        tcp-request session set-var(proc.int5) var(proc.int5),add(sess.int5) ## proc. becomes 10
        http-request set-var(req.int5)  var(sess.int5)
        http-request set-var(sess.int5) var(sess.int5),add(req.int5) ## sess. becomes 10 first time, then 15...
	http-request return status 200 hdr x-var "proc=%[var(proc.int5)] sess=%[var(sess.int5)] req=%[var(req.int5)] str=%[var(proc.str)] uuid=%[var(proc.uuid)]"
} -start

haproxy h1 -cli {
    send "get var proc.int5"
    expect ~ "^proc.int5: type=sint value=<5>"
}

client c1 -connect ${h1_fe1_sock} {
    txreq -req GET -url /req1_1
    rxresp
    expect resp.status == 200
    expect resp.http.x-var ~ "proc=10 sess=10 req=5 str=this is a string uuid=[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*"

    txreq -req GET -url /req1_2
    rxresp
    expect resp.status == 200
    expect resp.http.x-var ~ "proc=10 sess=20 req=10 str=this is a string uuid=[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*"
} -run

haproxy h1 -cli {
    send "get var proc.int5"
    expect ~ "^proc.int5: type=sint value=<10>"
}

client c2 -connect ${h1_fe1_sock} {
    txreq -req GET -url /req2_1
    rxresp
    expect resp.status == 200
    expect resp.http.x-var ~ "proc=20 sess=20 req=10 str=this is a string uuid=[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*"

    txreq -req GET -url /req2_2
    rxresp
    expect resp.status == 200
    expect resp.http.x-var ~ "proc=20 sess=40 req=20 str=this is a string uuid=[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*"
} -run

haproxy h1 -cli {
    send "get var proc.int5"
    expect ~ "^proc.int5: type=sint value=<20>"
}

haproxy h1 -cli {
    send "experimental-mode on; set var proc.str str(updated)"
    expect ~ .*
}

client c3 -connect ${h1_fe1_sock} {
    txreq -req GET -url /req3_1
    rxresp
    expect resp.status == 200
    expect resp.http.x-var ~ "proc=40 sess=40 req=20 str=updated uuid=[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*"
} -run
