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 "${HAPROXY_TEST_TIMEOUT-5s}"
		timeout client  "${HAPROXY_TEST_TIMEOUT-5s}"
		timeout server  "${HAPROXY_TEST_TIMEOUT-5s}"

	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 {
	# non existent backend
	send "add server foo/s1 ${s1_addr}:${s1_port}"
	expect ~ "No such backend."

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

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

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

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

	# duplicate server
	send "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 "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
