home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_poplib.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.8 KB  |  73 lines

  1. import socket
  2. import threading
  3. import poplib
  4. import time
  5.  
  6. from unittest import TestCase
  7. from test import test_support
  8.  
  9. HOST = test_support.HOST
  10.  
  11. def server(evt, serv):
  12.     serv.listen(5)
  13.     try:
  14.         conn, addr = serv.accept()
  15.     except socket.timeout:
  16.         pass
  17.     else:
  18.         conn.send("+ Hola mundo\n")
  19.         conn.close()
  20.     finally:
  21.         serv.close()
  22.         evt.set()
  23.  
  24. class GeneralTests(TestCase):
  25.  
  26.     def setUp(self):
  27.         self.evt = threading.Event()
  28.         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  29.         self.sock.settimeout(3)
  30.         self.port = test_support.bind_port(self.sock)
  31.         threading.Thread(target=server, args=(self.evt,self.sock)).start()
  32.         time.sleep(.1)
  33.  
  34.     def tearDown(self):
  35.         self.evt.wait()
  36.  
  37.     def testBasic(self):
  38.         # connects
  39.         pop = poplib.POP3(HOST, self.port)
  40.         pop.sock.close()
  41.  
  42.     def testTimeoutDefault(self):
  43.         self.assertTrue(socket.getdefaulttimeout() is None)
  44.         socket.setdefaulttimeout(30)
  45.         try:
  46.             pop = poplib.POP3("localhost", self.port)
  47.         finally:
  48.             socket.setdefaulttimeout(None)
  49.         self.assertEqual(pop.sock.gettimeout(), 30)
  50.         pop.sock.close()
  51.  
  52.     def testTimeoutNone(self):
  53.         self.assertTrue(socket.getdefaulttimeout() is None)
  54.         socket.setdefaulttimeout(30)
  55.         try:
  56.             pop = poplib.POP3(HOST, self.port, timeout=None)
  57.         finally:
  58.             socket.setdefaulttimeout(None)
  59.         self.assertTrue(pop.sock.gettimeout() is None)
  60.         pop.sock.close()
  61.  
  62.     def testTimeoutValue(self):
  63.         pop = poplib.POP3("localhost", self.port, timeout=30)
  64.         self.assertEqual(pop.sock.gettimeout(), 30)
  65.         pop.sock.close()
  66.  
  67.  
  68. def test_main(verbose=None):
  69.     test_support.run_unittest(GeneralTests)
  70.  
  71. if __name__ == '__main__':
  72.     test_main()
  73.