diff mail_proxy_protocol.t @ 1660:068c30e9d2c6

Tests: smtp tests with proxy protocol to backend.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 05 Mar 2021 19:18:52 +0300
parents d1c4059e1e72
children 74986ebee2fd
line wrap: on
line diff
--- a/mail_proxy_protocol.t
+++ b/mail_proxy_protocol.t
@@ -40,6 +40,7 @@ events {
 mail {
     proxy_pass_error_message  on;
     proxy_smtp_auth           on;
+    proxy_protocol            on;
     auth_http  http://127.0.0.1:8080/mail/auth;
     smtp_auth  login plain;
 
@@ -90,7 +91,7 @@ http {
 EOF
 
 $t->run_daemon(\&Test::Nginx::SMTP::smtp_test_daemon);
-$t->try_run('no proxy_protocol')->plan(6);
+$t->try_run('no proxy_protocol')->plan(8);
 
 $t->waitforsocket('127.0.0.1:' . port(8026));
 
@@ -108,6 +109,10 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 $s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
 $s->authok('auth with proxy_protocol');
 
+$s->send('XPROXY');
+$s->check(qr/^211 PROXY TCP4 127.0.0.1 127.0.0.1 \d+ \d+/,
+	'proxy protocol to backend');
+
 # connection with PROXY protocol and set_realip_from
 
 $s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8027));
@@ -121,4 +126,8 @@ my $s = Test::Nginx::SMTP->new(PeerAddr 
 $s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
 $s->authok('auth with proxy_protocol and realip');
 
+$s->send('XPROXY');
+$s->check(qr/^211 PROXY TCP4 192.0.2.1 127.0.0.1 \d+ \d+/,
+	'proxy_protocol to backend and realip');
+
 ###############################################################################