comparison mail_resolver.t @ 540:481d705b8610

Tests: SSL support in mail backends. Socket is now embedded into every mail module. Socket methods are wrapped where appropriate. The new "SSL" extra flag specifies to accept connection over SSL.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 03 Apr 2015 00:11:38 +0300
parents 847ea345becb
children a6764c2a9f12
comparison
equal deleted inserted replaced
539:3fcad5e66735 540:481d705b8610
132 $s->send('RCPT TO:<test@example.com>'); 132 $s->send('RCPT TO:<test@example.com>');
133 $s->ok('PTR'); 133 $s->ok('PTR');
134 134
135 $s->send('QUIT'); 135 $s->send('QUIT');
136 $s->read(); 136 $s->read();
137 close $s;
138 137
139 # Cached PTR prevents from querying bad ns on port 8083 138 # Cached PTR prevents from querying bad ns on port 8083
140 139
141 $s = Test::Nginx::SMTP->new(); 140 $s = Test::Nginx::SMTP->new();
142 $s->read(); 141 $s->read();
148 $s->send('RCPT TO:<test@example.com>'); 147 $s->send('RCPT TO:<test@example.com>');
149 $s->ok('PTR cached'); 148 $s->ok('PTR cached');
150 149
151 $s->send('QUIT'); 150 $s->send('QUIT');
152 $s->read(); 151 $s->read();
153 close $s;
154 152
155 # SERVFAIL 153 # SERVFAIL
156 154
157 $s = Test::Nginx::SMTP->new(PeerAddr => "127.0.0.1:8027"); 155 $s = Test::Nginx::SMTP->new(PeerAddr => "127.0.0.1:8027");
158 $s->read(); 156 $s->read();
164 $s->send('RCPT TO:<test@example.com>'); 162 $s->send('RCPT TO:<test@example.com>');
165 $s->check(qr/TEMPUNAVAIL/, 'PTR SERVFAIL'); 163 $s->check(qr/TEMPUNAVAIL/, 'PTR SERVFAIL');
166 164
167 $s->send('QUIT'); 165 $s->send('QUIT');
168 $s->read(); 166 $s->read();
169 close $s;
170 167
171 # PTR with zero length RDATA 168 # PTR with zero length RDATA
172 169
173 $s = Test::Nginx::SMTP->new(PeerAddr => "127.0.0.1:8028"); 170 $s = Test::Nginx::SMTP->new(PeerAddr => "127.0.0.1:8028");
174 $s->read(); 171 $s->read();
180 $s->send('RCPT TO:<test@example.com>'); 177 $s->send('RCPT TO:<test@example.com>');
181 $s->check(qr/TEMPUNAVAIL/, 'PTR empty'); 178 $s->check(qr/TEMPUNAVAIL/, 'PTR empty');
182 179
183 $s->send('QUIT'); 180 $s->send('QUIT');
184 $s->read(); 181 $s->read();
185 close $s;
186 182
187 # CNAME 183 # CNAME
188 184
189 TODO: { 185 TODO: {
190 local $TODO = 'support for CNAME RR'; 186 local $TODO = 'support for CNAME RR';
199 $s->send('RCPT TO:<test@example.com>'); 195 $s->send('RCPT TO:<test@example.com>');
200 $s->ok('PTR with CNAME'); 196 $s->ok('PTR with CNAME');
201 197
202 $s->send('QUIT'); 198 $s->send('QUIT');
203 $s->read(); 199 $s->read();
204 close $s;
205 200
206 } 201 }
207 202
208 # uncompressed answer 203 # uncompressed answer
209 204
220 $s->send('RCPT TO:<test@example.com>'); 215 $s->send('RCPT TO:<test@example.com>');
221 $s->ok('uncompressed PTR'); 216 $s->ok('uncompressed PTR');
222 217
223 $s->send('QUIT'); 218 $s->send('QUIT');
224 $s->read(); 219 $s->read();
225 close $s;
226 220
227 } 221 }
228 222
229 TODO: { 223 TODO: {
230 local $TODO = 'PTR type checking'; 224 local $TODO = 'PTR type checking';
239 $s->send('RCPT TO:<test@example.com>'); 233 $s->send('RCPT TO:<test@example.com>');
240 $s->check(qr/TEMPUNAVAIL/, 'PTR type'); 234 $s->check(qr/TEMPUNAVAIL/, 'PTR type');
241 235
242 $s->send('QUIT'); 236 $s->send('QUIT');
243 $s->read(); 237 $s->read();
244 close $s;
245 238
246 } 239 }
247 240
248 ############################################################################### 241 ###############################################################################
249 242