Mercurial > hg > nginx-tests
diff smtp.t @ 17:7e28c64edf55
Tests: reorganize smtp tests (no real changes).
Move smtp_greeting_delay tests into separate test file. Embed config into
tests.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 13 Sep 2008 03:37:45 +0400 |
parents | d4b74207a627 |
children | 0880e0fafde4 |
line wrap: on
line diff
--- a/smtp.t +++ b/smtp.t @@ -9,7 +9,7 @@ use warnings; use strict; -use Test::More tests => 28; +use Test::More tests => 26; use MIME::Base64; use Socket qw/ CRLF /; @@ -25,7 +25,54 @@ use Test::Nginx::SMTP; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->run('smtp.conf'); +my $t = Test::Nginx->new()->write_file_expand('nginx.conf', <<'EOF')->run(); + +master_process off; +daemon off; + +events { + worker_connections 1024; +} + +mail { + proxy_pass_error_message on; + auth_http http://localhost:8080/mail/auth; + xclient off; + + server { + listen localhost:10025; + protocol smtp; + smtp_auth login plain none; + } +} + +http { + access_log off; + + server { + listen localhost:8080; + server_name localhost; + + location = /mail/auth { + set $reply ERROR; + + if ($http_auth_smtp_to ~ example.com) { + set $reply OK; + } + if ($http_auth_pass ~ secret) { + set $reply OK; + } + + add_header Auth-Status $reply; + add_header Auth-Server 127.0.0.1; + add_header Auth-Port 25; + add_header Auth-Wait 1; + return 204; + } + } +} + +EOF ############################################################################### @@ -141,13 +188,4 @@ log_out('HEL'); $s->send('O example.com'); $s->ok('splitted command'); -# With smtp_greeting_delay session expected to be closed after first error -# message if client sent something before greeting. Use 10026 port -# configured with smtp_greeting_delay 0.1s to check this. - -$s = Test::Nginx::SMTP->new(PeerPort => 10026); -$s->send('HELO example.com'); -$s->check(qr/^5.. /, "command before greeting - session must be rejected"); -ok($s->eof(), "session have to be closed"); - ###############################################################################