annotate smtp.t @ 7:9eb509695651

Tests: drop our own CRLF constant, use Socket's one instead.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 08 Sep 2008 06:08:38 +0400
parents 4d75bdb05ecf
children f772e2a1a13f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for nginx mail smtp module.
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
4
6c41dbb2954f Tests: run nginx with appropriate config from test itself.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3
diff changeset
12 use Test::More tests => 28;
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 use MIME::Base64;
7
9eb509695651 Tests: drop our own CRLF constant, use Socket's one instead.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5
diff changeset
15 use Socket qw/ CRLF /;
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
5
4d75bdb05ecf Tests: some generic code and ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4
diff changeset
17 use _common;
4d75bdb05ecf Tests: some generic code and ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4
diff changeset
18
4d75bdb05ecf Tests: some generic code and ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4
diff changeset
19 ###############################################################################
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
21 select STDERR; $| = 1;
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
22 select STDOUT; $| = 1;
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
5
4d75bdb05ecf Tests: some generic code and ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4
diff changeset
24 start_nginx('smtp.conf');
4
6c41dbb2954f Tests: run nginx with appropriate config from test itself.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3
diff changeset
25
6c41dbb2954f Tests: run nginx with appropriate config from test itself.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3
diff changeset
26 ###############################################################################
6c41dbb2954f Tests: run nginx with appropriate config from test itself.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3
diff changeset
27
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 my $s = smtp_connect();
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 smtp_check(qr/^220 /, "greeting");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 smtp_send('EHLO example.com');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 smtp_check(qr/^250 /, "ehlo");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 smtp_send('AUTH PLAIN ' . encode_base64("test\@example.com\0\0bad", ''));
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 smtp_check(qr/^5.. /, 'auth plain with bad password');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 smtp_send('AUTH PLAIN ' . encode_base64("test\@example.com\0\0secret", ''));
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 smtp_ok('auth plain');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 # We are talking to backend from this point
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 smtp_send('MAIL FROM:<test@example.com> SIZE=100');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43 smtp_ok('mail from after auth');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 smtp_send('RSET');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 smtp_ok('rset');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 smtp_send('MAIL FROM:<test@xn--e1afmkfd.xn--80akhbyknj4f> SIZE=100');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 smtp_ok("idn mail from (example.test in russian)");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 smtp_send('QUIT');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 smtp_ok("quit");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 # Try auth plain with pipelining
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 $s = smtp_connect();
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 smtp_check(qr/^220 /, "greeting");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 smtp_send('EHLO example.com');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 smtp_check(qr/^250 /, "ehlo");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
62 smtp_send('INVALID COMMAND WITH ARGUMENTS' . CRLF
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
63 . 'RSET');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
64 smtp_read();
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
65 smtp_ok('pipelined rset after invalid command');
1
c731d50dd6b1 Tests: check pipelining after invalid command.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
66
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
67 smtp_send('AUTH PLAIN '
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
68 . encode_base64("test\@example.com\0\0bad", '') . CRLF
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
69 . 'MAIL FROM:<test@example.com> SIZE=100');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
70 smtp_read();
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
71 smtp_ok('mail from after failed pipelined auth');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
73 smtp_send('AUTH PLAIN '
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
74 . encode_base64("test\@example.com\0\0secret", '') . CRLF
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
75 . 'MAIL FROM:<test@example.com> SIZE=100');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
76 smtp_read();
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
77 smtp_ok('mail from after pipelined auth');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 # Try auth none
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
81 $s = smtp_connect();
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
82 smtp_check(qr/^220 /, "greeting");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84 smtp_send('EHLO example.com');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85 smtp_check(qr/^250 /, "ehlo");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
87 smtp_send('MAIL FROM:<test@example.com> SIZE=100');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
88 smtp_ok('auth none - mail from');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
89
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
90 smtp_send('RCPT TO:<test@example.com>');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91 smtp_ok('auth none - rcpt to');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93 smtp_send('RSET');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94 smtp_ok('auth none - rset, should go to backend');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 # Auth none with pipelining
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
98 $s = smtp_connect();
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
99 smtp_check(qr/^220 /, "greeting");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
100
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
101 smtp_send('EHLO example.com');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
102 smtp_check(qr/^250 /, "ehlo");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
103
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
104 smtp_send('MAIL FROM:<test@example.com> SIZE=100' . CRLF
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
105 . 'RCPT TO:<test@example.com>' . CRLF
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
106 . 'RSET');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
107
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
108 smtp_ok('pipelined mail from');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
109
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
110 smtp_ok('pipelined rcpt to');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
111 smtp_ok('pipelined rset');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113 # Connection must stay even if error returned to rcpt to command
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115 $s = smtp_connect();
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
116 smtp_read(); # skip greeting
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
117
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
118 smtp_send('EHLO example.com');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
119 smtp_read(); # skip ehlo reply
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
120
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121 smtp_send('MAIL FROM:<test@example.com> SIZE=100');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122 smtp_read(); # skip mail from reply
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
123
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
124 smtp_send('RCPT TO:<example.com>');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
125 smtp_check(qr/^5.. /, "bad rcpt to");
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
126
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
127 smtp_send('RCPT TO:<test@example.com>');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128 smtp_ok('good rcpt to');
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129
2
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
130 # Make sure command splitted into many packets processed correctly
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
131
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
132 $s = smtp_connect();
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
133 smtp_read();
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
134
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
135 log_out('HEL');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
136 $s->print('HEL');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
137 smtp_send('O example.com');
33cb557f69d4 Tests: smtp pipelining is here, remove todo flags.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1
diff changeset
138 smtp_ok('splitted command');
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
139
3
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
140 # With smtp_greeting_delay session expected to be closed after first error
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
141 # message if client sent something before greeting. Use 10026 port
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
142 # configured with smtp_greeting_delay 0.1s to check this.
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
143
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
144 $s = smtp_connect(PeerPort => 10026);
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
145 smtp_send('HELO example.com');
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
146 smtp_check(qr/^5.. /, "command before greeting - session must be rejected");
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
147 ok($s->eof(), "session have to be closed");
ce002b2323d3 Tests: test for smtp_greeting_delay.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
148
0
de28d9f761be Tests for nginx. Initial smtp testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
149 ###############################################################################