Mercurial > hg > nginx-tests
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 |