;
Ìâ"Ic               @   sÓ  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l m Z d  d l m Z e j Z e j d k o d „  Z e e j _ n d „  Z Gd „  d e ƒ Z d	 „  Z d
 Z d Z Gd „  d e ƒ Z Gd „  d e ƒ Z Gd „  d e ƒ Z i d d 6d d 6d d 6Z i d d g d 6d g d 6Z Gd „  d e j ƒ Z Gd „  d e j ƒ Z Gd „  d e ƒ Z  d d  „ Z" e# d! k o e" ƒ  n d S("   i    N(   u   TestCase(   u   supportu   darwinc             C   s   d  S(   N(    (   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   handle_expt   s    c       
      C   sè   | j  d ƒ |  j ƒ  zµ y | j ƒ  \ } } Wn t j k
 o Ynƒ Xd } xn | of | d k oY t j g  | g g  ƒ \ } } } | o# | j | ƒ }	 | |	 d  … } n | d 8} qS W| j ƒ  Wd  | j ƒ  |  j ƒ  Xd  S(   Ni   iô  i    i   (   u   listenu   setu   acceptu   socketu   timeoutu   selectu   sendu   close(
   u   evtu   bufu   servu   connu   addru   nu   ru   wu   eu   sent(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   server   s$    
  !
c             B   sV   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d S(	   c             C   sž   t  j ƒ  |  _ t j t j t j ƒ |  _ |  j j d ƒ t j	 |  j ƒ |  _
 |  j d |  j f } t  j d t d | ƒ j ƒ  |  j j ƒ  |  j j ƒ  d  S(   Ni   s   220 Hola mundo
u   targetu   args(   u	   threadingu   Eventu   evtu   socketu   AF_INETu   SOCK_STREAMu   socku
   settimeoutu   supportu	   bind_portu   portu   Threadu   serveru   startu   waitu   clear(   u   selfu   servargs(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   setUp1   s    c             C   s   |  j  j ƒ  d  S(   N(   u   evtu   wait(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   tearDown;   s    c             C   s#   t  j t |  j ƒ } | j ƒ  d  S(   N(   u   smtplibu   SMTPu   HOSTu   portu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu
   testBasic1>   s    c             C   s*   t  j d t |  j f ƒ } | j ƒ  d  S(   Nu   %s:%s(   u   smtplibu   SMTPu   HOSTu   portu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu
   testBasic2C   s    c             C   s<   t  j t |  j d d ƒ} |  j | j d ƒ | j ƒ  d  S(   Nu   local_hostnameu   testhost(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   local_hostnameu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testLocalHostNameH   s    c          	   C   sw   |  j  t j ƒ  d  k ƒ t j d ƒ z t j t |  j ƒ } Wd  t j d  ƒ X|  j	 | j
 j ƒ  d ƒ | j ƒ  d  S(   Ni   (   u
   assertTrueu   socketu   getdefaulttimeoutu   Noneu   setdefaulttimeoutu   smtplibu   SMTPu   HOSTu   portu   assertEqualu   socku
   gettimeoutu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testTimeoutDefaultN   s    c             C   s€   |  j  t j ƒ  d  k ƒ t j d ƒ z t j t |  j d d  ƒ} Wd  t j d  ƒ X|  j  | j	 j
 ƒ  d  k ƒ | j ƒ  d  S(   Ni   u   timeout(   u
   assertTrueu   socketu   getdefaulttimeoutu   Noneu   setdefaulttimeoutu   smtplibu   SMTPu   HOSTu   portu   socku
   gettimeoutu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testTimeoutNoneX   s    c             C   sB   t  j t |  j d d ƒ} |  j | j j ƒ  d ƒ | j ƒ  d  S(   Nu   timeouti   (   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   socku
   gettimeoutu   close(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testTimeoutValueb   s    N(
   u   __name__u
   __module__u   setUpu   tearDownu
   testBasic1u
   testBasic2u   testLocalHostNameu   testTimeoutDefaultu   testTimeoutNoneu   testTimeoutValue(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   GeneralTests/   s   
	
					
	
u   GeneralTestsc             C   sñ   | j  ƒ  z£ y… t t d ƒ o t j } n
 t j } d } xR t j oG | d k o: | d t j ƒ | j ƒ  o |  j ƒ  Pn | d 8} q? WWn t	 j
 k
 o Yn XWd  | j ƒ  p t j d ƒ |  j ƒ  n t j ƒ  | j  ƒ  Xd  S(   Nu   polliè  i    g{®Gáz„?i   g      à?(   u   setu   hasattru   selectu   asyncoreu   poll2u   pollu
   socket_mapu   is_setu   closeu   socketu   timeoutu   timeu   sleepu	   close_all(   u   servu   serv_evtu
   client_evtu   poll_funu   n(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   debugging_serveri   s*    
 	 


u&   ---------- MESSAGE FOLLOWS ----------
u&   ------------ END MESSAGE ------------
c             B   sh   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 S(   c             C   sÄ   t  j |  _ t j ƒ  |  _ |  j t  _ t j ƒ  |  _ t j ƒ  |  _	 t
 j ƒ  |  _ t j t |  j f d ƒ |  _ |  j |  j |  j	 f } t j d t d | ƒ j ƒ  |  j j ƒ  |  j j ƒ  d  S(   Nu   nowhereiÿÿÿÿu   targetu   args(   u   nowhereiÿÿÿÿ(   u   sysu   stdoutu
   old_stdoutu   iou   StringIOu   outputu	   threadingu   Eventu   serv_evtu
   client_evtu   supportu   find_unused_portu   portu   smtpdu   DebuggingServeru   HOSTu   servu   Threadu   debugging_serveru   startu   waitu   clear(   u   selfu	   serv_args(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   setUp“   s    c             C   s*   |  j  j ƒ  |  j j ƒ  |  j t _ d  S(   N(   u
   client_evtu   setu   serv_evtu   waitu
   old_stdoutu   sysu   stdout(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   tearDown¤   s    c             C   s/   t  j t |  j d d d d ƒ} | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   (   u   smtplibu   SMTPu   HOSTu   portu   quit(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   testBasic¬   s    !c             C   sK   t  j t |  j d d d d ƒ} d } |  j | j ƒ  | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   iú   s   Ok(   iú   s   Ok(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   noopu   quit(   u   selfu   smtpu   expected(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testNOOP±   s    !c             C   sK   t  j t |  j d d d d ƒ} d } |  j | j ƒ  | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   iú   s   Ok(   iú   s   Ok(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   rsetu   quit(   u   selfu   smtpu   expected(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testRSET·   s    !c             C   sK   t  j t |  j d d d d ƒ} d } |  j | j ƒ  | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   iö  s%   Error: command "EHLO" not implemented(   iö  s%   Error: command "EHLO" not implemented(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   ehlou   quit(   u   selfu   smtpu   expected(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testNotImplemented½   s    !c             C   sg   t  j t |  j d d d d ƒ} d } |  j | j d ƒ | ƒ |  j | j d ƒ | ƒ | j ƒ  d  S(	   Nu   local_hostnameu	   localhostu   timeouti   iö  s%   Error: command "VRFY" not implementedu   nobody@nowhere.com(   iö  s%   Error: command "VRFY" not implemented(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   vrfyu   verifyu   quit(   u   selfu   smtpu   expected(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testVRFYÄ   s
    !c             C   sU   t  j t |  j d d d d ƒ} | j ƒ  d } |  j | j ƒ  | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   i÷  s   Duplicate HELO/EHLO(   i÷  s   Duplicate HELO/EHLO(   u   smtplibu   SMTPu   HOSTu   portu   helou   assertEqualu   quit(   u   selfu   smtpu   expected(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testSecondHELOÌ   s
    !
c             C   sE   t  j t |  j d d d d ƒ} |  j | j ƒ  d ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   s%   Error: command "HELP" not implemented(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   helpu   quit(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testHELPÕ   s    !c             C   s¨   d } t  j t |  j d d d d ƒ} | j d d | ƒ t j d ƒ | j ƒ  |  j j	 ƒ  |  j
 j ƒ  |  j j ƒ  d	 t | t f } |  j |  j j ƒ  | ƒ d  S(
   Nu   A test messageu   local_hostnameu	   localhostu   timeouti   u   Johnu   Sallyg{®Gáz„?u   %s%s
%s(   u   smtplibu   SMTPu   HOSTu   portu   sendmailu   timeu   sleepu   quitu
   client_evtu   setu   serv_evtu   waitu   outputu   flushu	   MSG_BEGINu   MSG_ENDu   assertEqualu   getvalue(   u   selfu   mu   smtpu   mexpect(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testSendÚ   s    !
N(   u   __name__u
   __module__u   setUpu   tearDownu	   testBasicu   testNOOPu   testRSETu   testNotImplementedu   testVRFYu   testSecondHELOu   testHELPu   testSend(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   DebuggingServerTests‘   s   
										u   DebuggingServerTestsc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             C   s?   t  j ƒ  } |  j t  j | j ƒ |  j t  j | j d ƒ d  S(   Nu   test msg(   u   smtplibu   SMTPu   assertRaisesu   SMTPServerDisconnectedu   ehlou   send(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testNotConnectedî   s    c             C   s9   |  j  t j t j d d ƒ |  j  t j t j d ƒ d  S(   Nu	   localhostu   bogusu   localhost:bogus(   u   assertRaisesu   socketu   erroru   smtplibu   SMTP(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testNonnumericPortø   s    
N(   u   __name__u
   __module__u   testNotConnectedu   testNonnumericPort(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   NonConnectingTestsì   s   
	
u   NonConnectingTestsc             B   s)   |  Ee  Z d  „  Z d „  Z d „  Z d S(   c             C   sÅ   t  j |  _ t j ƒ  |  _ |  j t  _ t j ƒ  |  _ t	 j	 t	 j
 t	 j ƒ |  _ |  j j d ƒ t j |  j ƒ |  _ |  j d |  j f } t j d t d | ƒ j ƒ  |  j j ƒ  |  j j ƒ  d  S(   Ni   s   199 no hello for you!
u   targetu   args(   u   sysu   stdoutu
   old_stdoutu   iou   StringIOu   outputu	   threadingu   Eventu   evtu   socketu   AF_INETu   SOCK_STREAMu   socku
   settimeoutu   supportu	   bind_portu   portu   Threadu   serveru   startu   waitu   clear(   u   selfu   servargs(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   setUp  s    c             C   s   |  j  j ƒ  |  j t _ d  S(   N(   u   evtu   waitu
   old_stdoutu   sysu   stdout(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   tearDown  s    c             C   s)   |  j  t j t j t |  j d d ƒ d  S(   Nu	   localhosti   (   u   assertRaisesu   smtplibu   SMTPConnectErroru   SMTPu   HOSTu   port(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testFailingHELO  s    N(   u   __name__u
   __module__u   setUpu   tearDownu   testFailingHELO(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   BadHELOServerTests  s   
		u   BadHELOServerTestsu   John Au   Mr.A@somewhere.comu   Sally Bu   Ms.B@somewhere.comu   Ruth Cu   Mrs.C@somewhereesle.comu   list-1u   list-2c             B   s)   |  Ee  Z d  „  Z d „  Z d „  Z d S(   c             C   s   d } |  j  | ƒ d  S(   NuP   250-testhost
250-EXPN
250-SIZE 20000000
250-STARTTLS
250-DELIVERBY
250 HELP(   u   push(   u   selfu   argu   resp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   smtp_EHLO%  s    c             C   sf   t  j j | ƒ d } t j | ƒ } | t k o |  j d t | | f ƒ n |  j d | ƒ d  S(   Ni   u	   250 %s %su   550 No such user: %s(   u   emailu   utilsu	   parseaddru   smtplibu	   quoteaddru	   sim_usersu   push(   u   selfu   argu   raw_addru   quoted_addr(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   smtp_VRFY.  s
    c             C   sÅ   t  j j | ƒ d j ƒ  } | t k o‹ t | } x‹ t | ƒ D]l \ } } t j | ƒ } | t | ƒ d k  o |  j	 d t
 | | f ƒ q@ |  j	 d t
 | | f ƒ q@ Wn |  j	 d ƒ d  S(   Ni   u	   250-%s %su	   250 %s %su   550 No access for you!(   u   emailu   utilsu	   parseaddru   loweru	   sim_listsu	   enumerateu   smtplibu	   quoteaddru   lenu   pushu	   sim_users(   u   selfu   argu	   list_nameu	   user_listu   nu
   user_emailu   quoted_addr(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   smtp_EXPN8  s    
 #N(   u   __name__u
   __module__u	   smtp_EHLOu	   smtp_VRFYu	   smtp_EXPN(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   SimSMTPChannel$  s   
			
u   SimSMTPChannelc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             C   s(   |  j  ƒ  \ } } t |  | | ƒ } d  S(   N(   u   acceptu   SimSMTPChannel(   u   selfu   connu   addru   channel(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   handle_acceptI  s    c             C   s   d  S(   N(    (   u   selfu   peeru   mailfromu   rcpttosu   data(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   process_messageM  s    N(   u   __name__u
   __module__u   handle_acceptu   process_message(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   SimSMTPServerH  s   
	u   SimSMTPServerc             B   sD   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sš   t  j ƒ  |  _ t  j ƒ  |  _ t j ƒ  |  _ t t |  j f d ƒ |  _	 |  j	 |  j |  j f } t  j
 d t d | ƒ j ƒ  |  j j ƒ  |  j j ƒ  d  S(   Nu   nowhereiÿÿÿÿu   targetu   args(   u   nowhereiÿÿÿÿ(   u	   threadingu   Eventu   serv_evtu
   client_evtu   supportu   find_unused_portu   portu   SimSMTPServeru   HOSTu   servu   Threadu   debugging_serveru   startu   waitu   clear(   u   selfu	   serv_args(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   setUpU  s    c             C   s   |  j  j ƒ  |  j j ƒ  d  S(   N(   u
   client_evtu   setu   serv_evtu   wait(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   tearDowna  s    c             C   s/   t  j t |  j d d d d ƒ} | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   (   u   smtplibu   SMTPu   HOSTu   portu   quit(   u   selfu   smtp(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   testBasicg  s    !c             C   sÅ   t  j t |  j d d d d ƒ} |  j | j i  ƒ i d d 6d d 6d d	 6d d
 6d d 6} | j ƒ  |  j | j | ƒ x$ | D] } |  j | j | ƒ ƒ q W|  j	 | j d ƒ ƒ | j
 ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   u    u   expnu   20000000u   sizeu   starttlsu	   deliverbyu   helpu   unsupported-feature(   u   smtplibu   SMTPu   HOSTu   portu   assertEqualu   esmtp_featuresu   ehlou
   assertTrueu   has_extnu   assertFalseu   quit(   u   selfu   smtpu   expected_featuresu   k(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testEHLOl  s    !


 c             C   sÎ   t  j t |  j d d d d ƒ} x[ t j ƒ  D]M \ } } d t d | t  j | ƒ f d ƒ f } |  j | j	 | ƒ | ƒ q. Wd } d	 d
 t  j | ƒ j
 d ƒ f } |  j | j	 | ƒ | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   iú   u   %s %su   asciiu   nobody@nowhere.comi&  u   No such user: %s(   u   smtplibu   SMTPu   HOSTu   portu	   sim_usersu   itemsu   bytesu	   quoteaddru   assertEqualu   vrfyu   encodeu   quit(   u   selfu   smtpu   emailu   nameu   expected_knownu   uu   expected_unknown(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testVRFY  s    ! 	c       	      C   sã   t  j t |  j d d d d ƒ} xŒ t j ƒ  D]~ \ } } g  } x2 | D]* } | j d t | t  j | ƒ f ƒ qG Wd t	 d j
 | ƒ d ƒ f } |  j | j | ƒ | ƒ q. Wd	 } d } |  j | j | ƒ | ƒ | j ƒ  d  S(   Nu   local_hostnameu	   localhostu   timeouti   u   %s %siú   u   
u   asciiu   PSU-Members-Listi&  s   No access for you!(   i&  s   No access for you!(   u   smtplibu   SMTPu   HOSTu   portu	   sim_listsu   itemsu   appendu	   sim_usersu	   quoteaddru   bytesu   joinu   assertEqualu   expnu   quit(	   u   selfu   smtpu   listnameu   membersu   usersu   mu   expected_knownu   uu   expected_unknown(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   testEXPN  s    !  (N(   u   __name__u
   __module__u   setUpu   tearDownu	   testBasicu   testEHLOu   testVRFYu   testEXPN(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   SMTPSimTestsS  s   
					u   SMTPSimTestsc             C   s   t  j t t t t t ƒ d  S(   N(   u   supportu   run_unittestu   GeneralTestsu   DebuggingServerTestsu   NonConnectingTestsu   BadHELOServerTestsu   SMTPSimTests(   u   verbose(    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu	   test_main¡  s    u   __main__($   u   asyncoreu   email.utilsu   emailu   socketu	   threadingu   smtpdu   smtplibu   iou   sysu   timeu   selectu   unittestu   TestCaseu   testu   supportu   HOSTu   platformu   handle_exptu   SMTPChannelu   serveru   GeneralTestsu   debugging_serveru	   MSG_BEGINu   MSG_ENDu   DebuggingServerTestsu   NonConnectingTestsu   BadHELOServerTestsu	   sim_usersu	   sim_listsu   SimSMTPChannelu
   SMTPServeru   SimSMTPServeru   SMTPSimTestsu   Noneu	   test_mainu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_smtplib.pyu   <module>   sD   			:	[

$N