Changeset 391 for python/trunk/Lib/test/test_imaplib.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Lib/test/test_imaplib.py
r2 r391 8 8 import imaplib 9 9 import os.path 10 import select11 import socket12 10 import SocketServer 13 import sys14 11 import time 15 12 16 from test_support import verbose13 from test_support import reap_threads, verbose, transient_internet 17 14 import unittest 18 15 … … 58 55 IMAP4_SSL = None 59 56 60 class TimeoutStreamRequestHandler(SocketServer.StreamRequestHandler): 57 58 class SimpleIMAPHandler(SocketServer.StreamRequestHandler): 61 59 62 60 timeout = 1 63 64 def setup(self):65 self.connection = self.request66 if self.timeout is not None:67 self.connection.settimeout(self.timeout)68 self.rfile = self.connection.makefile('rb', self.rbufsize)69 self.wfile = self.connection.makefile('wb', self.wbufsize)70 71 72 class SimpleIMAPHandler(TimeoutStreamRequestHandler):73 61 74 62 def _send(self, message): … … 92 80 line += part 93 81 except IOError: 94 # ..but SSLSockets throwexceptions.82 # ..but SSLSockets raise exceptions. 95 83 return 96 84 if line.endswith('\r\n'): … … 112 100 self._send('%s OK CAPABILITY completed\r\n' % (tag,)) 113 101 102 114 103 class BaseThreadedNetworkedTests(unittest.TestCase): 115 104 … … 124 113 if verbose: print "creating server" 125 114 server = MyServer(addr, hdlr) 126 self.assertEqual s(server.server_address, server.socket.getsockname())115 self.assertEqual(server.server_address, server.socket.getsockname()) 127 116 128 117 if verbose: … … 158 147 self.reap_server(server, thread) 159 148 149 @reap_threads 160 150 def test_connect(self): 161 151 with self.reaped_server(SimpleIMAPHandler) as server: … … 163 153 client.shutdown() 164 154 155 @reap_threads 165 156 def test_issue5949(self): 166 157 167 class EOFHandler( TimeoutStreamRequestHandler):158 class EOFHandler(SocketServer.StreamRequestHandler): 168 159 def handle(self): 169 160 # EOF without sending a complete welcome message. 170 161 self.wfile.write('* OK') 171 # explicitly shutdown. socket.close() merely releases172 # the socket and waits for GC to perform the actual close.173 self.request.shutdown(socket.SHUT_WR)174 162 175 163 with self.reaped_server(EOFHandler) as server: … … 177 165 self.imap_class, *server.server_address) 178 166 167 179 168 class ThreadedNetworkedTests(BaseThreadedNetworkedTests): 180 169 … … 183 172 184 173 174 @unittest.skipUnless(ssl, "SSL not available") 185 175 class ThreadedNetworkedTestsSSL(BaseThreadedNetworkedTests): 186 176 187 177 server_class = SecureTCPServer 188 178 imap_class = IMAP4_SSL 179 180 181 class RemoteIMAPTest(unittest.TestCase): 182 host = 'cyrus.andrew.cmu.edu' 183 port = 143 184 username = 'anonymous' 185 password = 'pass' 186 imap_class = imaplib.IMAP4 187 188 def setUp(self): 189 with transient_internet(self.host): 190 self.server = self.imap_class(self.host, self.port) 191 192 def tearDown(self): 193 if self.server is not None: 194 self.server.logout() 195 196 def test_logincapa(self): 197 self.assertTrue('LOGINDISABLED' in self.server.capabilities) 198 199 def test_anonlogin(self): 200 self.assertTrue('AUTH=ANONYMOUS' in self.server.capabilities) 201 rs = self.server.login(self.username, self.password) 202 self.assertEqual(rs[0], 'OK') 203 204 def test_logout(self): 205 rs = self.server.logout() 206 self.server = None 207 self.assertEqual(rs[0], 'BYE') 208 209 210 @unittest.skipUnless(ssl, "SSL not available") 211 class RemoteIMAP_SSLTest(RemoteIMAPTest): 212 port = 993 213 imap_class = IMAP4_SSL 214 215 def test_logincapa(self): 216 self.assertFalse('LOGINDISABLED' in self.server.capabilities) 217 self.assertTrue('AUTH=PLAIN' in self.server.capabilities) 189 218 190 219 … … 199 228 if not os.path.exists(CERTFILE): 200 229 raise support.TestFailed("Can't read certificate files!") 201 tests.append(ThreadedNetworkedTestsSSL)202 tests.append(ThreadedNetworkedTests)203 204 threadinfo = support.threading_setup()230 tests.extend([ 231 ThreadedNetworkedTests, ThreadedNetworkedTestsSSL, 232 RemoteIMAPTest, RemoteIMAP_SSLTest, 233 ]) 205 234 206 235 support.run_unittest(*tests) 207 236 208 support.threading_cleanup(*threadinfo)209 237 210 238 if __name__ == "__main__":
Note:
See TracChangeset
for help on using the changeset viewer.