diff --git a/reg-tests/proxy/cli_del_backend.vtc b/reg-tests/proxy/cli_del_backend.vtc new file mode 100644 index 000000000..a78e2c0c3 --- /dev/null +++ b/reg-tests/proxy/cli_del_backend.vtc @@ -0,0 +1,58 @@ +varnishtest "Delete backend via cli" + +feature ignore_unknown_macro + +haproxy h1 -conf { + global + .if feature(THREAD) + thread-groups 1 + .endif + + 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@${feS}" + use_backend be_ref + + listen li + bind "fd@${feli}" + + backend be_ref + + backend be + server s1 ${s1_addr}:${s1_port} disabled +} -start + +haproxy h1 -cli { + send "experimental-mode on; del backend other" + expect ~ "No such backend." + + send "experimental-mode on; del backend li" + expect ~ "Cannot delete a listen section." + + send "experimental-mode on; del backend be_ref" + expect ~ "This proxy cannot be removed at runtime due to other configuration elements pointing to it." + + send "show stat be 2 -1" + expect ~ "be,BACKEND," + + send "experimental-mode on; del backend be" + expect ~ "Backend must be unpublished prior to its deletion." + + send "unpublish backend be;" + expect ~ ".*" + send "experimental-mode on; del backend be" + expect ~ "Only a backend without server can be deleted." + + send "del server be/s1" + expect ~ ".*" + send "experimental-mode on; del backend be" + expect ~ "Backend deleted." + + send "show stat be 2 -1" + expect !~ "be,BACKEND," +}