Mercurial > hg > nginx-tests
changeset 1148:44620036fedf
Tests: added starttls tests for smtp.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Tue, 07 Mar 2017 10:09:29 +0300 |
parents | 796ed08cb215 |
children | b1c2857d2e97 |
files | mail_ssl.t |
diffstat | 1 files changed, 43 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mail_ssl.t Tue Mar 07 10:07:42 2017 +0300 +++ b/mail_ssl.t Tue Mar 07 10:09:29 2017 +0300 @@ -20,6 +20,7 @@ use Test::Nginx; use Test::Nginx::IMAP; use Test::Nginx::POP3; +use Test::Nginx::SMTP; ############################################################################### @@ -34,8 +35,8 @@ }; plan(skip_all => 'Net::SSLeay not installed') if $@; -my $t = Test::Nginx->new()->has(qw/mail mail_ssl imap pop3/) - ->has_daemon('openssl')->plan(16); +my $t = Test::Nginx->new()->has(qw/mail mail_ssl imap pop3 smtp/) + ->has_daemon('openssl')->plan(20); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -118,6 +119,20 @@ starttls only; } + + server { + listen 127.0.0.1:8153; + protocol smtp; + + starttls on; + } + + server { + listen 127.0.0.1:8154; + protocol smtp; + + starttls only; + } } EOF @@ -246,6 +261,32 @@ $s->send('STLS'); $s->ok('pop3 starttls only'); +# starttls smtp + +$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8153)); +$s->read(); + +$s->send('AUTH LOGIN'); +$s->check(qr/^334 VXNlcm5hbWU6/, 'smtp auth before startls on'); + +$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8153)); +$s->read(); + +$s->send('STARTTLS'); +$s->ok('smtp starttls on'); + +$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8154)); +$s->read(); + +$s->send('AUTH LOGIN'); +$s->check(qr/^5.. /, 'smtp auth before startls only'); + +$s = Test::Nginx::SMTP->new(PeerAddr => '127.0.0.1:' . port(8154)); +$s->read(); + +$s->send('STARTTLS'); +$s->ok('smtp starttls only'); + ############################################################################### sub get_ssl_socket {