summaryrefslogtreecommitdiffstats
path: root/reg-tests/connection/reverse_connect_full.vtc
diff options
context:
space:
mode:
Diffstat (limited to 'reg-tests/connection/reverse_connect_full.vtc')
-rw-r--r--reg-tests/connection/reverse_connect_full.vtc70
1 files changed, 70 insertions, 0 deletions
diff --git a/reg-tests/connection/reverse_connect_full.vtc b/reg-tests/connection/reverse_connect_full.vtc
new file mode 100644
index 0000000..238831f
--- /dev/null
+++ b/reg-tests/connection/reverse_connect_full.vtc
@@ -0,0 +1,70 @@
+varnishtest "Reverse connect full test"
+feature ignore_unknown_macro
+
+#REQUIRE_VERSION=2.9
+
+server s1 {
+ rxreq
+ txresp
+} -start
+
+haproxy h_edge -conf {
+global
+ expose-experimental-directives
+
+defaults
+ log global
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
+ mode http
+
+frontend pub
+ bind "fd@${pub}"
+ use_backend be-reverse
+
+frontend priv
+ bind "fd@${priv}" proto h2
+ tcp-request session attach-srv be-reverse/dev
+
+backend be-reverse
+ server dev rhttp@
+} -start
+
+haproxy h_dev -conf {
+global
+ expose-experimental-directives
+
+defaults
+ log global
+ timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
+ timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
+ mode http
+
+frontend fe
+ bind "rhttp@be-pre-connect/srv"
+ use_backend be
+
+backend be-pre-connect
+ server srv ${h_edge_priv_addr}:${h_edge_priv_port} proto h2
+
+backend be
+ server srv ${s1_addr}:${s1_port}
+}
+
+client c1 -connect ${h_edge_pub_sock} {
+ txreq -url "/"
+ rxresp
+ expect resp.status == 503
+} -run
+
+haproxy h_dev -start
+# TODO replace delay by a proper wait
+delay 3
+
+client c1 -connect ${h_edge_pub_sock} {
+ txreq -url "/"
+ rxresp
+ expect resp.status == 200
+} -run