
varnishtest "Basic cache test"

#REQUIRE_VERSION=1.9

feature ignore_unknown_macro

server s1 {
       rxreq
       txresp -nolen -hdr "Transfer-Encoding: chunked" \
            -hdr "Cache-Control: max-age=5"
       chunkedlen 15
       chunkedlen 15
       chunkedlen 15
       chunkedlen 0
} -start

server s2 {
       rxreq
       txresp -nolen -hdr "Transfer-Encoding: chunked" \
            -hdr "Cache-Control: max-age=5"
       chunkedlen 16
       chunkedlen 16
       chunkedlen 16
       chunkedlen 0
} -start

server s3 {
       rxreq
       txresp -nolen -hdr "Transfer-Encoding: chunked" \
            -hdr "Cache-Control: max-age=5"
       chunkedlen 17
       chunkedlen 17
       chunkedlen 17
       chunkedlen 0

       rxreq
       txresp -nolen -hdr "Transfer-Encoding: chunked" \
            -hdr "Cache-Control: max-age=5"
       chunkedlen 17
       chunkedlen 17
       chunkedlen 17
       chunkedlen 0
} -start

haproxy h1 -conf {
    global
        # WT: limit false-positives causing "HTTP header incomplete" due to
        # idle server connections being randomly used and randomly expiring
        # under us.
        tune.idle-pool.shared off

    defaults
        mode http
        timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
        timeout client  "${HAPROXY_TEST_TIMEOUT-5s}"
        timeout server  "${HAPROXY_TEST_TIMEOUT-5s}"

    frontend fe
        bind "fd@${fe}"
        use_backend first_be if { path_beg /first }
        use_backend nocache_be if { path_beg /nocache }
        default_backend second_be

    backend first_be
        http-request cache-use first_cache
        server www ${s1_addr}:${s1_port}
        http-response cache-store first_cache
        http-response set-header X-Cache-Hit %[res.cache_hit]
        http-response set-header X-Cache-Name %[res.cache_name]

    backend second_be
        http-request cache-use second_cache
        server www ${s2_addr}:${s2_port}
        http-response cache-store second_cache
        http-response set-header X-Cache-Hit %[res.cache_hit]
        http-response set-header X-Cache-Name %[res.cache_name]

    backend nocache_be
        server www ${s3_addr}:${s3_port}
        http-response set-header X-Cache-Hit %[res.cache_hit]
        http-response set-header X-Cache-Name %[res.cache_name]

    cache first_cache
            total-max-size 3
            max-age 40
            max-object-size 3000

    cache second_cache
            total-max-size 3
            max-age 20
            max-object-size 3072
} -start


client c1 -connect ${h1_fe_sock} {
        txreq -url "/first"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 45
        expect resp.http.X-Cache-Hit == 0
        expect resp.http.X-Cache-Name == ""

        txreq -url "/second"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 48
        expect resp.http.X-Cache-Hit == 0
        expect resp.http.X-Cache-Name == ""

        txreq -url "/nocache"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 51
        expect resp.http.X-Cache-Hit == 0
        expect resp.http.X-Cache-Name == ""

        # Response should come form the cache now
        txreq -url "/nocache"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 51
        expect resp.http.X-Cache-Hit == 0
        expect resp.http.X-Cache-Name == ""

        txreq -url "/first"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 45
        expect resp.http.X-Cache-Hit == 1
        expect resp.http.X-Cache-Name == "first_cache"

        txreq -url "/second"
        rxresp
        expect resp.status == 200
        expect resp.bodylen == 48
        expect resp.http.X-Cache-Hit == 1
        expect resp.http.X-Cache-Name == "second_cache"
} -run
