Mercurial > hg > nginx-tests
diff smtp-greeting-delay.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 | |
children | 0880e0fafde4 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/smtp-greeting-delay.t @@ -0,0 +1,59 @@ +#!/usr/bin/perl + +# (C) Maxim Dounin + +############################################################################### + +use warnings; +use strict; + +use Test::More tests => 2; + +use MIME::Base64; +use Socket qw/ CRLF /; + +BEGIN { use FindBin; chdir($FindBin::Bin); } + +use lib 'lib'; +use Test::Nginx; +use Test::Nginx::SMTP; + +############################################################################### + +select STDERR; $| = 1; +select STDOUT; $| = 1; + +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_greeting_delay 100ms; + } +} + +EOF + +############################################################################### + +# With smtp_greeting_delay session expected to be closed after first error +# message if client sent something before greeting. + +my $s = Test::Nginx::SMTP->new(); +$s->send('HELO example.com'); +$s->check(qr/^5.. /, "command before greeting - session must be rejected"); +ok($s->eof(), "session have to be closed"); + +###############################################################################