haproxy/reg-tests/checks/smtp-check.vtc
Willy Tarreau 43ba3cf2b5 MEDIUM: proxy: remove start_proxies()
Its sole remaining purpose was to display "proxy foo started", which
has little benefit and pollutes output for those with plenty of proxies.
Let's remove it now.

The VTCs were updated to reflect this, because many of them had explicit
counts of dropped lines to match this message.

This is tagged as MEDIUM because some users may be surprized by the
loss of this quite old message.
2020-10-09 11:27:30 +02:00

107 lines
3.0 KiB
Plaintext

varnishtest "Health-checks: SMTP health-check"
#REQUIRE_VERSION=2.2
#REGTEST_TYPE=slow
feature ignore_unknown_macro
# This scripts tests health-checks for SMTP servers, enabled using
# "option smtpchk" line.
server s1 {
send "220 smtp-check.vtc SMTP Server\r\n"
recv 16
send "250 smtp-check.vtc\r\n"
} -start
server s2 {
send "220 smtp-check.vtc SMTP Server\r\n"
recv 17
send "250-smtp-check.vtc\r\n"
send "250-KEYWORD\r\n"
send "250 LAST KEYWORD\r\n"
} -start
server s3 {
send "I'm not a SMTP server\r\n"
} -start
server s4 {
send "421 Try again later\r\n"
} -start
server s5 {
send "220 smtp-check.vtc SMTP Server\r\n"
recv 16
send "512 DNS error\r\n"
} -start
syslog S1 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be1/srv succeeded, reason: Layer7 check passed.+code: 250.+info: \"smtp-check.vtc\".+check duration: [[:digit:]]+ms, status: 1/1 UP."
} -start
syslog S2 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be2/srv succeeded, reason: Layer7 check passed.+code: 250.+info: \"smtp-check.vtc\".+check duration: [[:digit:]]+ms, status: 1/1 UP."
} -start
syslog S3 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be3/srv failed, reason: Layer7 invalid response.+info: \"I'm not a SMTP server\".+check duration: [[:digit:]]+ms, status: 0/1 DOWN."
} -start
syslog S4 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be4/srv failed, reason: Layer7 wrong status.+code: 421.+info: \"Try again later\".+check duration: [[:digit:]]+ms, status: 0/1 DOWN."
} -start
syslog S5 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be5/srv failed, reason: Layer7 wrong status.+code: 512.+info: \"DNS error\".+check duration: [[:digit:]]+ms, status: 0/1 DOWN."
} -start
haproxy h1 -conf {
defaults
mode tcp
timeout client 1s
timeout server 1s
timeout connect 100ms
backend be1
log ${S1_addr}:${S1_port} daemon
option log-health-checks
option smtpchk
server srv ${s1_addr}:${s1_port} check inter 1s rise 1 fall 1
backend be2
log ${S2_addr}:${S2_port} daemon
option log-health-checks
option smtpchk EHLO domain.tld
server srv ${s2_addr}:${s2_port} check inter 1s rise 1 fall 1
backend be3
log ${S3_addr}:${S3_port} daemon
option log-health-checks
option smtpchk
server srv ${s3_addr}:${s3_port} check inter 1s rise 1 fall 1
backend be4
log ${S4_addr}:${S4_port} daemon
option log-health-checks
option smtpchk
server srv ${s4_addr}:${s4_port} check inter 1s rise 1 fall 1
backend be5
log ${S5_addr}:${S5_port} daemon
option log-health-checks
option smtpchk EHLO domain.tld
server srv ${s5_addr}:${s5_port} check inter 1s rise 1 fall 1
} -start
syslog S1 -wait
syslog S2 -wait
syslog S3 -wait
syslog S4 -wait
syslog S5 -wait