varnishtest "Add server via cli"

feature ignore_unknown_macro

#REQUIRE_VERSION=2.4

server s1 {
	rxreq
	txresp
} -start

haproxy h1 -conf {
	defaults
		mode http
		timeout connect 1s
		timeout client  1s
		timeout server  1s

	frontend fe
		bind "fd@${feS}"
		default_backend test

	backend test
		balance random

	backend other
		balance static-rr

	backend other2
		balance random
		mode tcp
} -start

client c1 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.status == 503
} -run

haproxy h1 -cli {
	# experimental mode disabled
	send "add server foo/s1 ${s1_addr}:${s1_port}"
	expect ~ "This command is restricted to experimental mode only."

	# non existent backend
	send "experimental-mode on; add server foo/s1 ${s1_addr}:${s1_port}"
	expect ~ "No such backend."

	# missing address
	send "experimental-mode on; add server test/s1"
	expect ~ "'server' expects <name> and <addr>\\[:<port>\\] as arguments."

	# invalid load-balancing algo
	send "experimental-mode on; add server other/s1 ${s1_addr}:${s1_port}"
	expect ~ "Backend must use a dynamic load balancing to support dynamic servers."

	# invalid mux proto
	send "experimental-mode on; add server other2/s1 ${s1_addr}:${s1_port} proto h2"
	expect ~ "MUX protocol is not usable for server."

	# valid command
	send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
	expect ~ "New server registered."

	# duplicate server
	send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
	expect ~ "Already exists a server with the same name in backend."

	# valid command
	# specify the proto, it should be accepted for this backend
	send "experimental-mode on; add server test/s2 ${s1_addr}:${s1_port} proto h2"
	expect ~ "New server registered."
}

# dynamic servers are created on MAINT mode and should not be available at first
client c2 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.status == 503
} -run

haproxy h1 -cli {
	send "enable server test/s1"
	expect ~ ".*"
}

client c3 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.status == 200
} -run
