--- /dev/null
+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,"
+}