diff options
Diffstat (limited to 'reg-tests/stream')
-rw-r--r-- | reg-tests/stream/unique-id-from-proxy.vtc | 38 | ||||
-rw-r--r-- | reg-tests/stream/unique-id.vtc | 47 |
2 files changed, 85 insertions, 0 deletions
diff --git a/reg-tests/stream/unique-id-from-proxy.vtc b/reg-tests/stream/unique-id-from-proxy.vtc new file mode 100644 index 0000000..eaac065 --- /dev/null +++ b/reg-tests/stream/unique-id-from-proxy.vtc @@ -0,0 +1,38 @@ +varnishtest "Check that we are able to read a unique-id from PROXYv2" + +#REQUIRE_VERSION=2.2 + +feature ignore_unknown_macro + +haproxy h1 -conf { + defaults + mode http + timeout connect "${HAPROXY_TEST_TIMEOUT-5s}" + timeout client "${HAPROXY_TEST_TIMEOUT-5s}" + timeout server "${HAPROXY_TEST_TIMEOUT-5s}" + + frontend echo + bind "fd@${fe1}" accept-proxy + http-after-response set-header echo %[fc_pp_unique_id,hex] + http-request return status 200 +} -start + +client c1 -connect ${h1_fe1_sock} { + # PROXY v2 signature + sendhex "0d 0a 0d 0a 00 0d 0a 51 55 49 54 0a" + # version + PROXY + sendhex "21" + # TCP4 + sendhex "11" + # length of the address (12) + length of the TLV (8) + sendhex "00 14" + # 127.0.0.1 42 127.0.0.1 1337 + sendhex "7F 00 00 01 7F 00 00 01 00 2A 05 39" + # PP2_TYPE_UNIQUE_ID + length of the value + "12345" + sendhex "05 00 05 31 32 33 34 35" + + txreq -url "/" + rxresp + expect resp.status == 200 + expect resp.http.echo == "3132333435" +} -run diff --git a/reg-tests/stream/unique-id.vtc b/reg-tests/stream/unique-id.vtc new file mode 100644 index 0000000..0607b2a --- /dev/null +++ b/reg-tests/stream/unique-id.vtc @@ -0,0 +1,47 @@ +varnishtest "unique-id test" + +feature ignore_unknown_macro + +server s1 { + rxreq + txresp +} -repeat 2 -start + +haproxy h1 -conf { + defaults + mode http + timeout connect "${HAPROXY_TEST_TIMEOUT-5s}" + timeout client "${HAPROXY_TEST_TIMEOUT-5s}" + timeout server "${HAPROXY_TEST_TIMEOUT-5s}" + + frontend stable + bind "fd@${fe1}" + unique-id-format TEST-%[uuid] + http-response set-header A %[unique-id] + http-response set-header B %[unique-id] + default_backend be + + frontend request_data + bind "fd@${fe2}" + unique-id-format TEST-%[req.hdr(in)] + http-response set-header out %[unique-id] + default_backend be + + backend be + server srv1 ${s1_addr}:${s1_port} +} -start + +client c1 -connect ${h1_fe1_sock} { + txreq -url "/" + rxresp + expect resp.status == 200 + expect resp.http.a == resp.http.b +} -run + +client c2 -connect ${h1_fe2_sock} { + txreq -url "/" \ + -hdr "in: 12345678" + rxresp + expect resp.status == 200 + expect resp.http.out == "TEST-12345678" +} -run |