;ò
§)?Bc           @   sg  d  Z  d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k l	 Z	 d k
 l Z d k l Z d k l Z d k l Z d k l Z d k l Z d	 k l Z d
 k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l Z d k l  Z  d k l! Z! d k l" Z" d k l# Z# d k l$ Z$ d k l% Z% d k l& Z& d k l' Z' d k( l( Z( d „  Z) d e( f d „  ƒ  YZ* d  e( f d! „  ƒ  YZ+ d" e( f d# „  ƒ  YZ, d$ e( f d% „  ƒ  YZ- d& e( f d' „  ƒ  YZ. d( e( f d) „  ƒ  YZ/ d* e( f d+ „  ƒ  YZ0 d, e( f d- „  ƒ  YZ1 d. e( f d/ „  ƒ  YZ2 d0 e( f d1 „  ƒ  YZ3 d2 e( f d3 „  ƒ  YZ4 d4 e( f d5 „  ƒ  YZ5 d6 e( f d7 „  ƒ  YZ6 d8 e( f d9 „  ƒ  YZ7 d: e( f d; „  ƒ  YZ8 d< e( f d= „  ƒ  YZ9 d> e( f d? „  ƒ  YZ: d@ e( f dA „  ƒ  YZ; dB „  Z< e= dC j o e i> dD dE ƒ n d S(F   s:   Unit tests for the various Mailman/Handlers/*.py modules.
N(   s   ListType(   s	   Generator(   s   mm_cfg(   s   MailList(   s   Message(   s   Errors(   s   Pending(   s   Switchboard(   s   Acknowledge(   s   AfterDelivery(   s   Approve(   s
   CalcRecips(   s   Cleanse(   s   CookHeaders(   s   Decorate(   s
   FileRecips(   s   Hold(   s   MimeDel(   s   Moderate(   s   Replybot(   s
   SpamDetect(   s   Tagger(   s	   ToArchive(   s   ToDigest(   s
   ToOutgoing(   s   ToUsenet(   s   TestBasec         C   s   t  i |  ƒ i ƒ  Sd  S(   N(   s   shas   news	   plaintexts	   hexdigest(   s	   plaintext(    (    s#   /var/mailman/tests/test_handlers.pys   password=   s    s   TestAcknowledgec           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s?   t  i |  ƒ t t i ƒ |  _ |  i i d ƒ t	 |  i _
 d  S(   Ns   aperson@dom.ain(   s   TestBases   setUps   selfs   Switchboards   mm_cfgs   VIRGINQUEUE_DIRs   _sbs   _mlists   addNewMembers   Falses   personalize(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUpC   s    c         C   sM   x9 t  i t i ƒ D]% } t  i t  i i t i | ƒ ƒ q Wt i	 |  ƒ d  S(   N(   s   oss   listdirs   mm_cfgs   VIRGINQUEUE_DIRs   fs   unlinks   paths   joins   TestBases   tearDowns   self(   s   selfs   f(    (    s#   /var/mailman/tests/test_handlers.pys   tearDownK   s     #c         C   sy   |  i } | t |  i i ƒ  ƒ d ƒ t i d t i ƒ } t
 i |  i | h  d d <ƒ | t |  i i ƒ  ƒ d ƒ d  S(   Ni    s   From: aperson@dom.ain

s   original_senders   aperson@dom.ain(   s   selfs   assertEquals   eqs   lens   _sbs   filess   emails   message_from_strings   Messages   msgs   Acknowledges   processs   _mlist(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_ack_msgdataP   s    	c         C   sy   |  i } | t |  i i ƒ  ƒ d ƒ t i d t i ƒ } t
 i |  i | h  d d <ƒ | t |  i i ƒ  ƒ d ƒ d  S(   Ni    s   From: bperson@dom.ain

s   original_senders   bperson@dom.ain(   s   selfs   assertEquals   eqs   lens   _sbs   filess   emails   message_from_strings   Messages   msgs   Acknowledges   processs   _mlist(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_ack_not_a_member\   s    	c         C   sp   |  i } | t |  i i ƒ  ƒ d ƒ t i d t i ƒ } t
 i |  i | h  ƒ | t |  i i ƒ  ƒ d ƒ d  S(   Ni    s   From: aperson@dom.ain

(   s   selfs   assertEquals   eqs   lens   _sbs   filess   emails   message_from_strings   Messages   msgs   Acknowledges   processs   _mlist(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_ack_senderh   s
    	c         C   s½  |  i } |  i i d t i d ƒ | t |  i i	 ƒ  ƒ d ƒ t
 i d t i ƒ } t i |  i | h  ƒ |  i i	 ƒ  } | t | ƒ d ƒ |  i i | d ƒ \ } } | | i d ƒ d ƒ | | i d ƒ d g ƒ | | i d ƒ d	 ƒ | t t | d
 ƒ ƒ d ƒ | | d d ƒ | | d d ƒ | | i ƒ  d ƒ | | i d ƒ d ƒ | d } |  i | i d ƒ ƒ |  i | i d ƒ ƒ | | i ƒ  d ƒ | t |  i i	 ƒ  ƒ d ƒ d  S(   Ns   aperson@dom.aini   i    s   From: aperson@dom.ain

s   listnames   _xtests   recipss   versioni   s   subjects   _xtest post acknowledgements   tos   froms   _xtest-bounces@dom.ains
   text/plains   charsets   us-asciis
   message-ids	   <mailman.s   ._xtest@dom.ain>sé   Your message entitled

    (no subject)

was successfully received by the _xtest mailing list.

List info page: http://www.dom.ain/mailman/listinfo/_xtest
Your preferences: http://www.dom.ain/mailman/options/_xtest/aperson%40dom.ain
(   s   selfs   assertEquals   eqs   _mlists   setMemberOptions   mm_cfgs   AcknowledgePostss   lens   _sbs   filess   emails   message_from_strings   Messages   msgs   Acknowledges   processs   dequeues   qmsgs   qdatas   gets   strs   get_types	   get_params   msgids
   failUnlesss
   startswiths   endswiths   get_payload(   s   selfs   filess   msgids   qdatas   qmsgs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_ack_no_subjectr   s,    	
	c         C   s·  |  i } |  i i d t i d ƒ | t |  i i	 ƒ  ƒ d ƒ t
 i d t i ƒ } t i |  i | h  ƒ |  i i	 ƒ  } | t | ƒ d ƒ |  i i | d ƒ \ } } | | i d ƒ d ƒ | | i d ƒ d g ƒ | | i d ƒ d	 ƒ | t | d
 ƒ d ƒ | | d d ƒ | | d d ƒ | | i ƒ  d ƒ | | i d ƒ d ƒ | d } |  i | i d ƒ ƒ |  i | i d ƒ ƒ | | i ƒ  d ƒ | t |  i i	 ƒ  ƒ d ƒ d  S(   Ns   aperson@dom.aini   i    s3   From: aperson@dom.ain
Subject: Wish you were here

s   listnames   _xtests   recipss   versioni   s   subjects   _xtest post acknowledgements   tos   froms   _xtest-bounces@dom.ains
   text/plains   charsets   us-asciis
   message-ids	   <mailman.s   ._xtest@dom.ain>sï   Your message entitled

    Wish you were here

was successfully received by the _xtest mailing list.

List info page: http://www.dom.ain/mailman/listinfo/_xtest
Your preferences: http://www.dom.ain/mailman/options/_xtest/aperson%40dom.ain
(   s   selfs   assertEquals   eqs   _mlists   setMemberOptions   mm_cfgs   AcknowledgePostss   lens   _sbs   filess   emails   message_from_strings   Messages   msgs   Acknowledges   processs   dequeues   qmsgs   qdatas   gets   strs   get_types	   get_params   msgids
   failUnlesss
   startswiths   endswiths   get_payload(   s   selfs   filess   msgids   qdatas   qmsgs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_ack_with_subject™   s,    	
	(	   s   __name__s
   __module__s   setUps   tearDowns   test_no_ack_msgdatas   test_no_ack_not_a_members   test_no_ack_senders   test_ack_no_subjects   test_ack_with_subject(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestAcknowledgeB   s   					
	's   TestAfterDeliveryc           B   s   t  Z d „  Z RS(   Nc         C   s_   |  i } | i } | i } t i | t t ƒ |  i | i | j ƒ |  i	 | i | d ƒ d  S(   Ni   (
   s   selfs   _mlists   mlists   last_post_times   post_ids   AfterDeliverys   processs   Nones
   failUnlesss   assertEqual(   s   selfs   mlists   post_ids   last_post_time(    (    s#   /var/mailman/tests/test_handlers.pys   test_processÅ   s    			(   s   __name__s
   __module__s   test_process(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestAfterDeliveryÃ   s   s   TestApprovec           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   approvedi   (   s   msgdatas   Approves   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitÐ   s    c         C   sn   |  i } t d ƒ | _ t i d ƒ } h  } t	 i
 | | | ƒ |  i | i d ƒ ƒ |  i | d d ƒ d  S(   Ns   wazoos   Approved: wazoo

s   approvedi   (   s   selfs   _mlists   mlists   passwords   mod_passwords   emails   message_from_strings   msgs   msgdatas   Approves   processs
   failUnlesss   has_keys   assertEqual(   s   selfs   msgdatas   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_approved_moderatorÖ   s    	c         C   sn   |  i } t d ƒ | _ t i d ƒ } h  } t	 i
 | | | ƒ |  i | i d ƒ ƒ |  i | d d ƒ d  S(   Ns   wazoos   Approve: wazoo

s   approvedi   (   s   selfs   _mlists   mlists   passwords   mod_passwords   emails   message_from_strings   msgs   msgdatas   Approves   processs
   failUnlesss   has_keys   assertEqual(   s   selfs   msgdatas   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_approve_moderatorâ   s    	c         C   sn   |  i } t d ƒ | _ t i d ƒ } h  } t i	 | | | ƒ |  i
 | i d ƒ ƒ |  i | d d ƒ d  S(   Ns   wazoos   Approved: wazoo

s   approvedi   (   s   selfs   _mlists   mlists   passwords   emails   message_from_strings   msgs   msgdatas   Approves   processs
   failUnlesss   has_keys   assertEqual(   s   selfs   msgdatas   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_approved_adminî   s    	c         C   sn   |  i } t d ƒ | _ t i d ƒ } h  } t i	 | | | ƒ |  i
 | i d ƒ ƒ |  i | d d ƒ d  S(   Ns   wazoos   Approve: wazoo

s   approvedi   (   s   selfs   _mlists   mlists   passwords   emails   message_from_strings   msgs   msgdatas   Approves   processs
   failUnlesss   has_keys   assertEqual(   s   selfs   msgdatas   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_approve_adminú   s    	c         C   s]   |  i } t d ƒ | _ t i d ƒ } h  } t i	 | | | ƒ |  i
 | i d ƒ t ƒ d  S(   Ns   zoowas   Approve: wazoo

s   approved(   s   selfs   _mlists   mlists   passwords   emails   message_from_strings   msgs   msgdatas   Approves   processs   assertEquals   gets   None(   s   selfs   msgdatas   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_unapproved  s    	c         C   sE   |  i } t i d | i ƒ  ƒ } |  i t i	 t
 i | | h  ƒ d  S(   Ns   X-BeenThere: %s

(   s   selfs   _mlists   mlists   emails   message_from_strings   GetListEmails   msgs   assertRaisess   Errorss	   LoopErrors   Approves   process(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_trip_beentheres  s    	(	   s   __name__s
   __module__s   test_short_circuits   test_approved_moderators   test_approve_moderators   test_approved_admins   test_approve_admins   test_unapproveds   test_trip_beentheres(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestApproveÏ   s   						s   TestCalcRecipsc           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sz   t  i |  ƒ |  i } | i d ƒ | i d ƒ | i d ƒ | i d d d ƒ| i d d d ƒ| i d d d ƒd  S(	   Ns   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   digesti   s   eperson@dom.ains   fperson@dom.ain(   s   TestBases   setUps   selfs   _mlists   mlists   addNewMember(   s   selfs   mlist(    (    s#   /var/mailman/tests/test_handlers.pys   setUp  s    	c         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   recipsi   (   s   msgdatas
   CalcRecipss   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuit(  s    c         C   sx   h  } t i d t i ƒ } t i |  i | | ƒ |  i	 | i
 d ƒ ƒ | d } | i ƒ  |  i | d d d g ƒ d  S(   Ns   From: dperson@dom.ain

s   recipss   aperson@dom.ains   bperson@dom.ains   cperson@dom.ain(   s   msgdatas   emails   message_from_strings   Messages   msgs
   CalcRecipss   processs   selfs   _mlists
   failUnlesss   has_keys   recipss   sorts   assertEqual(   s   selfs   msgdatas   recipss   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_simple_path.  s    

c         C   sŽ   h  } t i d t i ƒ } |  i i d t i	 d ƒ t
 i |  i | | ƒ |  i | i d ƒ ƒ | d } | i ƒ  |  i | d d g ƒ d  S(   Ns   From: cperson@dom.ain

s   cperson@dom.aini   s   recipss   aperson@dom.ains   bperson@dom.ain(   s   msgdatas   emails   message_from_strings   Messages   msgs   selfs   _mlists   setMemberOptions   mm_cfgs   DontReceiveOwnPostss
   CalcRecipss   processs
   failUnlesss   has_keys   recipss   sorts   assertEqual(   s   selfs   msgdatas   recipss   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_exclude_sender;  s    

c         C   s“   t  d ƒ |  i _ h  } t i d t i ƒ } t	 i
 |  i | | ƒ |  i | i d ƒ ƒ | d } | i ƒ  |  i | d d d d d d	 g ƒ d  S(
   Ns   xxXXxxs&   From: dperson@dom.ain
Urgent: xxXXxx

s   recipss   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   eperson@dom.ains   fperson@dom.ain(   s   passwords   selfs   _mlists   mod_passwords   msgdatas   emails   message_from_strings   Messages   msgs
   CalcRecipss   processs
   failUnlesss   has_keys   recipss   sorts   assertEqual(   s   selfs   msgdatas   recipss   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_urgent_moderatorI  s    

c         C   s¥   t  d ƒ |  i _ t  d ƒ |  i _  h  } t i d t i ƒ } t	 i
 |  i | | ƒ |  i | i d ƒ ƒ | d } | i ƒ  |  i | d d d d d	 d
 g ƒ d  S(   Ns   yyYYyys   xxXXxxs&   From: dperson@dom.ain
Urgent: xxXXxx

s   recipss   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   eperson@dom.ains   fperson@dom.ain(   s   passwords   selfs   _mlists   mod_passwords   msgdatas   emails   message_from_strings   Messages   msgs
   CalcRecipss   processs
   failUnlesss   has_keys   recipss   sorts   assertEqual(   s   selfs   msgdatas   recipss   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_urgent_adminY  s    

c         C   se   t  d ƒ |  i _ t  d ƒ |  i _  h  } t i d t i ƒ } |  i	 t
 i t i |  i | | ƒ d  S(   Ns   yyYYyys   xxXXxxs&   From: dperson@dom.ain
Urgent: zzZZzz

(   s   passwords   selfs   _mlists   mod_passwords   msgdatas   emails   message_from_strings   Messages   msgs   assertRaisess   Errorss   RejectMessages
   CalcRecipss   process(   s   selfs   msgdatas   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_urgent_rejectj  s    (	   s   __name__s
   __module__s   setUps   test_short_circuits   test_simple_paths   test_exclude_senders   test_urgent_moderators   test_urgent_admins   test_urgent_reject(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestCalcRecips  s   						s   TestCleansec           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  i |  ƒ d  S(   N(   s   TestBases   setUps   self(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUp|  s    c         C   sâ   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d d	 ƒ | | d
 d ƒ | | d d ƒ | | d d ƒ d  S(   Ns  From: aperson@dom.ain
Approved: yes
Urgent: indeed
Reply-To: bperson@dom.ain
Sender: asystem@dom.ain
Return-Receipt-To: another@dom.ain
Disposition-Notification-To: athird@dom.ain
X-Confirm-Reading-To: afourth@dom.ain
X-PMRQC: afifth@dom.ain
Subject: a message to you

s   approveds   urgents   return-receipt-tos   disposition-notification-tos   x-confirm-reading-tos   x-pmrqcs   froms   aperson@dom.ains   reply-tos   bperson@dom.ains   senders   asystem@dom.ains   subjects   a message to you(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   Cleanses   processs   _mlists   None(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_simple_cleanse  s    	c         C   s&  |  i } t i d t i ƒ } d |  i _ t	 i
 |  i | h  ƒ | | d t ƒ | | d t ƒ | | d t ƒ | | d t ƒ | | d t ƒ | | d t ƒ | t | i d	 ƒ ƒ d ƒ | t | i d
 ƒ ƒ d ƒ | | d	 d ƒ | | d
 d ƒ | | d t ƒ | | d d ƒ d  S(   Ns  From: aperson@dom.ain
Approved: yes
Urgent: indeed
Reply-To: bperson@dom.ain
Sender: asystem@dom.ain
Return-Receipt-To: another@dom.ain
Disposition-Notification-To: athird@dom.ain
X-Confirm-Reading-To: afourth@dom.ain
X-PMRQC: afifth@dom.ain
Subject: a message to you

i   s   approveds   urgents   return-receipt-tos   disposition-notification-tos   x-confirm-reading-tos   x-pmrqcs   froms   reply-tos   _xtest@dom.ains   senders   subjects   a message to you(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   _mlists   anonymous_lists   Cleanses   processs   Nones   lens   get_all(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_anon_cleanseš  s     	(   s   __name__s
   __module__s   setUps   test_simple_cleanses   test_anon_cleanse(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestCleanse{  s   		s   TestCookHeadersc           B   s×   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sn   |  i } t i d t i ƒ } t i |  i	 | h  d d <ƒ | t
 | i d ƒ ƒ d ƒ | | d d ƒ d  S(   Ns   X-Ack: yes

s   noacki   s   x-acks   no(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   lens   get_all(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_transform_noack_to_xack»  s
    	c         C   sN   t  i d t i ƒ } h  } t i |  i | | ƒ |  i	 | i
 d ƒ d ƒ d  S(   Ns   From: aperson@dom.ain

s   original_senders   aperson@dom.ain(   s   emails   message_from_strings   Messages   msgs   msgdatas   CookHeaderss   processs   selfs   _mlists   assertEquals   get(   s   selfs   msgdatas   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_original_senderÅ  s    c         C   sN   t  i d t i ƒ } h  } t i |  i | | ƒ |  i	 | i
 d ƒ d ƒ d  S(   Ns   Subject: about this message

s   original_senders    (   s   emails   message_from_strings   Messages   msgs   msgdatas   CookHeaderss   processs   selfs   _mlists   assertEquals   get(   s   selfs   msgdatas   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_original_senderÎ  s    c         C   sC   t  i d t i ƒ } t i |  i | h  ƒ |  i | d d ƒ d  S(   Ns   From: aperson@dom.ain

s   x-beentheres   _xtest@dom.ain(	   s   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   selfs   _mlists   assertEqual(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_xbeenthere×  s    c         C   s€   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | t
 | i d ƒ ƒ d ƒ | i d ƒ } | i ƒ  | | d d g ƒ d  S(   Ns:   From: aperson@dom.ain
X-BeenThere: alist@another.dom.ain

s   x-beentherei   s   _xtest@dom.ains   alist@another.dom.ain(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   lens   get_alls
   beentheress   sort(   s   selfs
   beentheress   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_multiple_xbeentheresß  s    	
c         C   sL   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | | d t
 i ƒ d  S(   Ns   From: aperson@dom.ain

s   x-mailman-version(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   mm_cfgs   VERSION(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_nonexisting_mmversionì  s    	c         C   se   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | t
 | i d ƒ ƒ d ƒ | | d d ƒ d  S(   Ns/   From: aperson@dom.ain
X-Mailman-Version: 3000

s   x-mailman-versioni   s   3000(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   lens   get_all(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_existing_mmversionõ  s
    	c         C   sI   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | | d d ƒ d  S(   Ns   From: aperson@dom.ain

s
   precedences   list(
   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlist(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_nonexisting_precedence   s    	c         C   se   |  i } t i d t i ƒ } t i |  i	 | h  ƒ | t
 | i d ƒ ƒ d ƒ | | d d ƒ d  S(   Ns(   From: aperson@dom.ain
Precedence: junk

s
   precedencei   s   junk(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   lens   get_all(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_existing_precedence	  s
    	c         C   st   d |  i _ t i d t i ƒ } h  } t i	 |  i | | ƒ |  i
 | i d ƒ d ƒ |  i
 t | d ƒ d ƒ d  S(   Ns   [XTEST] s   From: aperson@dom.ain

s   origsubjs    s   subjects   [XTEST] (no subject)(   s   selfs   _mlists   subject_prefixs   emails   message_from_strings   Messages   msgs   msgdatas   CookHeaderss   processs   assertEquals   gets   str(   s   selfs   msgdatas   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_subject_munging_no_subject  s    c         C   sO   d |  i _ t i d t i ƒ } t i |  i | h  ƒ |  i	 | d d ƒ d  S(   Ns   [XTEST] s1   From: aperson@dom.ain
Subject: About Mailman...

s   subjects   [XTEST] About Mailman...(
   s   selfs   _mlists   subject_prefixs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   assertEqual(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_subject_munging  s    c         C   sX   d |  i _ t i d t i ƒ } t i |  i | h  d d <ƒ |  i	 | d d ƒ d  S(   Ns   [XTEST] s1   From: aperson@dom.ain
Subject: About Mailman...

s   isdigesti   s   subjects   About Mailman...(
   s   selfs   _mlists   subject_prefixs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   assertEqual(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys#   test_no_subject_munging_for_digests)  s    c         C   sX   d |  i _ t i d t i ƒ } t i |  i | h  d d <ƒ |  i	 | d d ƒ d  S(   Ns   [XTEST] s1   From: aperson@dom.ain
Subject: About Mailman...

s
   _fasttracki   s   subjects   About Mailman...(
   s   selfs   _mlists   subject_prefixs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   assertEqual(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys%   test_no_subject_munging_for_fasttrack3  s    c         C   sO   d |  i _ t i d t i ƒ } t i |  i | h  ƒ |  i	 | d d ƒ d  S(   Ns   [XTEST] s=   From: aperson@dom.ain
Subject: Re: [XTEST] About Mailman...

s   subjects   Re: [XTEST] About Mailman...(
   s   selfs   _mlists   subject_prefixs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   assertEqual(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys"   test_no_subject_munging_has_prefix=  s    c         C   sq   |  i } |  i } d | _ t i d t i ƒ } t
 i | | h  ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Ni   s   From: aperson@dom.ain

s   reply-tos   _xtest@dom.ain(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   get_all(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_reply_to_listG  s    			c         C   sz   |  i } |  i } d | _ d | _ t i d t	 i	 ƒ } t i | | h  ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Ni   s1   From: aperson@dom.ain
Reply-To: bperson@dom.ain

s   reply-tos   _xtest@dom.ain(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   first_strip_reply_tos   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   get_all(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_reply_to_list_with_stripS  s    				c         C   sz   |  i } |  i } d | _ d | _ t i d t	 i	 ƒ } t i | | h  ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Ni   s   mlist@dom.ains   From: aperson@dom.ain

s   reply-to(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   reply_to_addresss   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   get_all(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_reply_to_explicita  s    				c         C   s†   |  i } |  i } d | _ d | _ d | _ t i	 d t
 i
 ƒ } t i |  i | h  ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Ni   i   s   mlist@dom.ains1   From: aperson@dom.ain
Reply-To: bperson@dom.ain

s   reply-to(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   first_strip_reply_tos   reply_to_addresss   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   get_all(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys!   test_reply_to_explicit_with_stripn  s    					c         C   sa   |  i } |  i } d | _ d | _ t i d t	 i	 ƒ } t i | | h  ƒ | | d d ƒ d  S(   Ni   i    s1   From: aperson@dom.ain
Reply-To: bperson@dom.ain

s   reply-tos   bperson@dom.ain, _xtest@dom.ain(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   first_strip_reply_tos   emails   message_from_strings   Messages   msgs   CookHeaderss   process(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_reply_to_extends_to_list}  s    				c         C   sj   |  i } |  i } d | _ d | _ d | _ t i	 d t
 i
 ƒ } t i | | h  ƒ | | d d ƒ d  S(   Ni   i    s   mlist@dom.ains1   From: aperson@dom.ain
Reply-To: bperson@dom.ain

s   reply-tos   mlist@dom.ain, bperson@dom.ain(   s   selfs   assertEquals   eqs   _mlists   mlists   reply_goes_to_lists   first_strip_reply_tos   reply_to_addresss   emails   message_from_strings   Messages   msgs   CookHeaderss   process(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys!   test_reply_to_extends_to_explicitŠ  s    					c         C   s§   |  i } t i d t i ƒ } t i |  i	 | h  d d <ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d t
 ƒ | | d	 t
 ƒ d  S(
   Ns   From: aperson@dom.ain

s   _nolisti   s   list-ids	   list-helps   list-unsubscribes   list-subscribes	   list-posts   list-archive(   s   selfs   assertEquals   eqs   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   _mlists   None(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_list_headers_nolist˜  s    	c         C   sÍ   |  i } d |  i _ t i d t i ƒ } t	 i
 } d t	 _
 z t i |  i | h  ƒ Wd  | t	 _
 X| | d d ƒ | | d d ƒ | | d d	 ƒ | | d
 d ƒ | | d d ƒ | | d d ƒ d  S(   Ni   s   From: aperson@dom.ain

s   www.dom.ains   list-ids   <_xtest.dom.ain>s	   list-helps,   <mailto:_xtest-request@dom.ain?subject=help>s   list-unsubscribesb   <http://www.dom.ain/mailman/listinfo/_xtest>,
	<mailto:_xtest-request@dom.ain?subject=unsubscribe>s   list-subscribes`   <http://www.dom.ain/mailman/listinfo/_xtest>,
	<mailto:_xtest-request@dom.ain?subject=subscribe>s	   list-posts   <mailto:_xtest@dom.ain>s   list-archives%   <http://www.dom.ain/pipermail/_xtest>(   s   selfs   assertEquals   eqs   _mlists   archives   emails   message_from_strings   Messages   msgs   mm_cfgs   DEFAULT_URL_HOSTs   oldvals   CookHeaderss   process(   s   selfs   oldvals   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_list_headers¦  s"    			 


c         C   s«   |  i } d |  i _ d |  i _ t i d t i ƒ } t
 i |  i | h  ƒ | | d i ƒ  d ƒ | | d d ƒ | | d d	 ƒ | | d
 d ƒ | | d d ƒ d  S(   Ni   s   A Test Lists   From: aperson@dom.ain

s   list-ids   A Test List <_xtest.dom.ain>s	   list-helps,   <mailto:_xtest-request@dom.ain?subject=help>s   list-unsubscribesb   <http://www.dom.ain/mailman/listinfo/_xtest>,
	<mailto:_xtest-request@dom.ain?subject=unsubscribe>s   list-subscribes`   <http://www.dom.ain/mailman/listinfo/_xtest>,
	<mailto:_xtest-request@dom.ain?subject=subscribe>s	   list-posts   <mailto:_xtest@dom.ain>(   s   selfs   assertEquals   eqs   _mlists   archives   descriptions   emails   message_from_strings   Messages   msgs   CookHeaderss   processs   __unicode__(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys"   test_list_headers_with_description¾  s    	

(   s   __name__s
   __module__s   test_transform_noack_to_xacks   test_original_senders   test_no_original_senders   test_xbeentheres   test_multiple_xbeentheress   test_nonexisting_mmversions   test_existing_mmversions   test_nonexisting_precedences   test_existing_precedences   test_subject_munging_no_subjects   test_subject_mungings#   test_no_subject_munging_for_digestss%   test_no_subject_munging_for_fasttracks"   test_no_subject_munging_has_prefixs   test_reply_to_lists   test_reply_to_list_with_strips   test_reply_to_explicits!   test_reply_to_explicit_with_strips   test_reply_to_extends_to_lists!   test_reply_to_extends_to_explicits   test_list_headers_nolists   test_list_headerss"   test_list_headers_with_description(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestCookHeadersº  s.   	
														
	
	
	
								s   TestDecoratec           B   sY   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(
   Nc         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   isdigesti   (   s   msgdatas   Decorates   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitÔ  s    c         C   sZ   |  i } d | _ d | _ t i d ƒ } t i	 |  i | h  ƒ |  i
 | i ƒ  d ƒ d  S(   Ns   header
s   footers*   From: aperson@dom.ain

Here is a message.
s    header
Here is a message.
footer(   s   selfs   _mlists   mlists
   msg_headers
   msg_footers   emails   message_from_strings   msgs   Decorates   processs   assertEquals   get_payload(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_multipartÚ  s    			c         C   sc   |  i } d | _ d | _ d | _ t i d ƒ } t	 i
 |  i | h  ƒ |  i | i ƒ  d ƒ d  S(   Ns   %(real_name)s header
s   %(real_name)s footers   XTests*   From: aperson@dom.ain

Here is a message.
s,   XTest header
Here is a message.
XTest footer(   s   selfs   _mlists   mlists
   msg_headers
   msg_footers	   real_names   emails   message_from_strings   msgs   Decorates   processs   assertEquals   get_payload(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_multipart_templateé  s    				c         C   sc   |  i } d | _ d | _ d | _ t i d ƒ } t	 i
 |  i | h  ƒ |  i | i ƒ  d ƒ d  S(   Ns   %(real_name) header
s   %(real_name) footers   XTests*   From: aperson@dom.ain

Here is a message.
s:   %(real_name) header
Here is a message.
%(real_name) footer(   s   selfs   _mlists   mlists
   msg_headers
   msg_footers	   real_names   emails   message_from_strings   msgs   Decorates   processs   assertEquals   get_payload(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_multipart_type_errorù  s    				c         C   sc   |  i } d | _ d | _ d | _ t i d ƒ } t	 i
 |  i | h  ƒ |  i | i ƒ  d ƒ d  S(   Ns   %(real_name)p header
s   %(real_name)p footers   XTests*   From: aperson@dom.ain

Here is a message.
s<   %(real_name)p header
Here is a message.
%(real_name)p footer(   s   selfs   _mlists   mlists
   msg_headers
   msg_footers	   real_names   emails   message_from_strings   msgs   Decorates   processs   assertEquals   get_payload(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_multipart_value_error	  s    				c         C   sZ   |  i } d | _ d | _ t i d ƒ } t i	 |  i | h  ƒ |  i
 | i ƒ  d ƒ d  S(   Ns   %(spooge)s header
s   %(spooge)s footers*   From: aperson@dom.ain

Here is a message.
s6   %(spooge)s header
Here is a message.
%(spooge)s footer(   s   selfs   _mlists   mlists
   msg_headers
   msg_footers   emails   message_from_strings   msgs   Decorates   processs   assertEquals   get_payload(   s   selfs   mlists   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_multipart_missing_key  s    			c         C   sµ   |  i } |  i } d | _ d | _ t i d ƒ } t i d ƒ } t i ƒ  } | i d ƒ | i d ƒ | i | ƒ | i | ƒ t i |  i | h  ƒ | | i d d ƒ d	 ƒ d  S(
   Ns   headers   footers2   From: aperson@dom.ain

Here is the first message.
s3   From: bperson@dom.ain

Here is the second message.
s   multipart/mixeds   BOUNDARYs   unixfromi    së  MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

header
--BOUNDARY
From: aperson@dom.ain

Here is the first message.

--BOUNDARY
From: bperson@dom.ain

Here is the second message.

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

footer
--BOUNDARY--(   s   selfs   ndiffAssertEquals   eqs   _mlists   mlists
   msg_headers
   msg_footers   emails   message_from_strings   msg1s   msg2s   Messages   msgs   set_types   set_boundarys   attachs   Decorates   processs	   as_string(   s   selfs   msg1s   msg2s   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_multipart)  s    				c         C   s…   |  i } |  i } d | _ d | _ t i d ƒ } t
 i |  i | h  ƒ | t | i ƒ  ƒ d ƒ |  i | i d ƒ i ƒ  d ƒ d  S(   Ns   header
s   footersP   From: aperson@dom.ain
Content-type: image/x-spooge

IMAGEDATAIMAGEDATAIMAGEDATA
i   i   s   IMAGEDATAIMAGEDATAIMAGEDATA
(   s   selfs   assertEquals   eqs   _mlists   mlists
   msg_headers
   msg_footers   emails   message_from_strings   msgs   Decorates   processs   lens   get_payload(   s   selfs   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys
   test_image\  s    				c         C   si   |  i } | t t i |  i t h  d d <ƒ | t t i |  i t h  d d <d d d d g <ƒ d  S(   Ns   personalizei   s   recipsi   i   (   s   selfs   assertRaisess   raisess   AssertionErrors   Decorates   processs   _mlists   None(   s   selfs   raises(    (    s#   /var/mailman/tests/test_handlers.pys   test_personalize_assertm  s
    	(   s   __name__s
   __module__s   test_short_circuits   test_no_multiparts   test_no_multipart_templates   test_no_multipart_type_errors   test_no_multipart_value_errors   test_no_multipart_missing_keys   test_multiparts
   test_images   test_personalize_assert(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestDecorateÓ  s   							3	s   TestFileRecipsc           B   s5   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   recipsi   (   s   msgdatas
   FileRecipss   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitx  s    c         C   s9   h  } t i |  i t | ƒ |  i | i d ƒ g  ƒ d  S(   Ns   recips(   s   msgdatas
   FileRecipss   processs   selfs   _mlists   Nones   assertEquals   get(   s   selfs   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_file_nonexistant~  s    c      	   C   sý   t  i d t i ƒ } h  } t i i |  i	 i
 ƒ  d ƒ } d d d d g } t | d ƒ } zX x | D] } | | IJqd W| i ƒ  t i |  i	 | | ƒ |  i | i d ƒ | ƒ Wd  y t i | ƒ Wn/ t j
 o# } | i | i j o ‚  qø n XXd  S(	   Ns   To: yall@dom.ain

s   members.txts   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   ws   recips(   s   emails   message_from_strings   Messages   msgs   msgdatas   oss   paths   joins   selfs   _mlists   fullpaths   files   addrss   opens   fps   addrs   closes
   FileRecipss   processs   assertEquals   gets   unlinks   OSErrors   es   errnos   ENOENT(   s   selfs   fps   es   addrs   msgdatas   addrss   files   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_file_exists_no_senderƒ  s$     
  c      	   C   sý   t  i d t i ƒ } h  } t i i |  i	 i
 ƒ  d ƒ } d d d d g } t | d ƒ } zX x | D] } | | IJqd W| i ƒ  t i |  i	 | | ƒ |  i | i d ƒ | ƒ Wd  y t i | ƒ Wn/ t j
 o# } | i | i j o ‚  qø n XXd  S(	   Ns(   From: eperson@dom.ain
To: yall@dom.ain

s   members.txts   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   ws   recips(   s   emails   message_from_strings   Messages   msgs   msgdatas   oss   paths   joins   selfs   _mlists   fullpaths   files   addrss   opens   fps   addrs   closes
   FileRecipss   processs   assertEquals   gets   unlinks   OSErrors   es   errnos   ENOENT(   s   selfs   fps   es   addrs   msgdatas   addrss   files   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_file_exists_no_member™  s$     
  c      	   C   s  t  i d t i ƒ } h  } t i i |  i	 i
 ƒ  d ƒ } d d d d g } t | d ƒ } zl x( | D]  } | | IJ|  i	 i | ƒ qd W| i ƒ  t i |  i	 | | ƒ |  i | i d ƒ | d	 ƒ Wd  y t i | ƒ Wn/ t j
 o# } | i | i j o ‚  qn XXd  S(
   Ns(   From: aperson@dom.ain
To: yall@dom.ain

s   members.txts   aperson@dom.ains   bperson@dom.ains   cperson@dom.ains   dperson@dom.ains   ws   recipsi   (   s   emails   message_from_strings   Messages   msgs   msgdatas   oss   paths   joins   selfs   _mlists   fullpaths   files   addrss   opens   fps   addrs   addNewMembers   closes
   FileRecipss   processs   assertEquals   gets   unlinks   OSErrors   es   errnos   ENOENT(   s   selfs   fps   es   addrs   msgdatas   addrss   files   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_file_exists_is_member°  s&     

!  (   s   __name__s
   __module__s   test_short_circuits   test_file_nonexistants   test_file_exists_no_senders   test_file_exists_no_members   test_file_exists_is_member(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestFileRecipsw  s
   				s   TestHoldc           B   sk   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z RS(   Nc         C   sG   t  i |  ƒ d |  i _ d |  i _ d |  i _ t t i	 ƒ |  _
 d  S(   Ni   i    (   s   TestBases   setUps   selfs   _mlists   administrivias   respond_to_post_requestss   admin_immed_notifys   Switchboards   mm_cfgs   VIRGINQUEUE_DIRs   _sb(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUpË  s
    c         C   s  x9 t  i t i ƒ D]% } t  i t  i i t i | ƒ ƒ q Wt i	 |  ƒ y# t  i t  i i t i d ƒ ƒ Wn/ t j
 o# } | i t i j o ‚  qž n Xxn g  i } t  i t i ƒ D]$ } | i d ƒ o | | ƒ q» q» ~ D]% } t  i t  i i t i | ƒ ƒ qæ Wd  S(   Ns
   pending.dbs   heldmsg-(   s   oss   listdirs   mm_cfgs   VIRGINQUEUE_DIRs   fs   unlinks   paths   joins   TestBases   tearDowns   selfs   DATA_DIRs   OSErrors   es   errnos   ENOENTs   appends   _[1]s   holdfiles
   startswith(   s   selfs   holdfiles   es   fs   _[1](    (    s#   /var/mailman/tests/test_handlers.pys   tearDownÓ  s     ## H c         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   approvedi   (   s   msgdatas   Holds   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitß  s    c         C   s;   t  i d t i ƒ } |  i t i t i |  i	 | h  ƒ d  S(   Ns,   From: aperson@dom.ain
Subject: unsubscribe

(
   s   emails   message_from_strings   Messages   msgs   selfs   assertRaisess   Holds   Administrivias   processs   _mlist(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_administriviaå  s    c         C   sG   d |  i _ t i d t i ƒ } |  i t i	 t i
 |  i | h  ƒ d  S(   Ni   s¦   From: aperson@dom.ain
To: _xtest@dom.ain, bperson@dom.ain
Cc: cperson@dom.ain
Cc: dperson@dom.ain (Jimmy D. Person)
To: Billy E. Person <eperson@dom.ain>

Hey folks!
(   s   selfs   _mlists   max_num_recipientss   emails   message_from_strings   Messages   msgs   assertRaisess   Holds   TooManyRecipientss   process(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_max_recipsî  s    	c         C   sG   d |  i _ t i d t i ƒ } |  i t i	 t i
 |  i | h  ƒ d  S(   Ni   s4   From: aperson@dom.ain
Subject: An implicit message

(   s   selfs   _mlists   require_explicit_destinations   emails   message_from_strings   Messages   msgs   assertRaisess   Holds   ImplicitDestinations   process(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_implicit_destinationü  s    c         C   sV   d |  i _ t i d t i ƒ } t i |  i | h  d d <ƒ } |  i
 | t ƒ d  S(   Ni   s4   From: aperson@dom.ain
Subject: An implicit message

s
   fromusenet(   s   selfs   _mlists   require_explicit_destinations   emails   message_from_strings   Messages   msgs   Holds   processs   rtns   assertEquals   None(   s   selfs   rtns   msg(    (    s#   /var/mailman/tests/test_handlers.pys$   test_implicit_destination_fromusenet  s    !c         C   sG   d |  i _ t i d t i ƒ } |  i t i	 t i
 |  i | h  ƒ d  S(   Ns   From: .*person@(blah.)?dom.ainsG   From: aperson@dom.ain
To: _xtest@dom.ain
Subject: An implicit message

(   s   selfs   _mlists   bounce_matching_headerss   emails   message_from_strings   Messages   msgs   assertRaisess   Holds   SuspiciousHeaderss   process(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_suspicious_header  s    c         C   sM   d |  i _ t i d t i ƒ } t i |  i | h  ƒ } |  i
 | t ƒ d  S(   Ns   From: .*person@blah.dom.ainsG   From: aperson@dom.ain
To: _xtest@dom.ain
Subject: An implicit message

(   s   selfs   _mlists   bounce_matching_headerss   emails   message_from_strings   Messages   msgs   Holds   processs   rtns   assertEquals   None(   s   selfs   rtns   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_suspicious_header_ok  s    c         C   sG   d |  i _ t i d t i ƒ } |  i t i	 t i
 |  i | h  ƒ d  S(   Ni   sŠ  From: aperson@dom.ain
To: _xtest@dom.ain

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(   s   selfs   _mlists   max_message_sizes   emails   message_from_strings   Messages   msgs   assertRaisess   Holds   MessageTooBigs   process(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_max_message_size&  s    c         C   sæ  |  i } d |  i _ d |  i _ t i d t i ƒ } |  i
 t i t i |  i | h  ƒ h  } |  i i ƒ  } | t | ƒ d ƒ x@ | D]8 } |  i i | ƒ \ } }
 | d } | |
 f | | <q‡ W| i ƒ  }	 |	 i ƒ  | |	 d d g ƒ | d \ } } | i ƒ  i d ƒ } | d i d	 ƒ d
 } t i  | ƒ } | | d d f ƒ t" i# i$ t% i& d ƒ } |  i( t" i# i) | ƒ ƒ t" i* | ƒ g  i+ } t" i- t% i& ƒ D]$ } | i/ d ƒ o | | ƒ q¢q¢~ } | t | ƒ d ƒ d  S(   Ni   s   From: aperson@dom.ain

i   s   tos   _xtest-owner@dom.ains   aperson@dom.ains   
iýÿÿÿs   /iÿÿÿÿs   Hs   heldmsg-_xtest-1.pcks   heldmsg-i    (1   s   selfs   assertEquals   eqs   _mlists   respond_to_post_requestss   admin_immed_notifys   emails   message_from_strings   Messages   msgs   assertRaisess   Holds   ImplicitDestinations   processs   qfiless   _sbs   filess   lens   filebases   dequeues   qmsgs   qdatas   tos   keyss   sorts   pmsgs   pdatas   get_payloads   splits   confirmliness   cookies   Pendings   confirms   datas   oss   paths   joins   mm_cfgs   DATA_DIRs   heldmsgs
   failUnlesss   existss   unlinks   appends   _[1]s   listdirs   fs
   startswiths	   holdfiles(   s   selfs   confirmliness   heldmsgs   eqs	   holdfiless   tos   qmsgs   filess   filebases   keyss   qdatas   msgs   cookies   qfiless   datas   fs   pdatas   pmsgs   _[1](    (    s#   /var/mailman/tests/test_handlers.pys   test_hold_notifications>  s6    	 

G(   s   __name__s
   __module__s   setUps   tearDowns   test_short_circuits   test_administrivias   test_max_recipss   test_implicit_destinations$   test_implicit_destination_fromusenets   test_suspicious_headers   test_suspicious_header_oks   test_max_message_sizes   test_hold_notifications(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestHoldÊ  s   							
	
			s   TestMimeDelc           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sD   t  i |  ƒ d |  i _ d g |  i _ g  |  i _ d |  i _ d  S(   Ni   s
   image/jpeg(   s   TestBases   setUps   selfs   _mlists   filter_contents   filter_mime_typess   pass_mime_typess   convert_html_to_plaintext(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUpi  s
    c         C   s5   t  i d ƒ } |  i t i t i |  i	 | h  ƒ d  S(   NsH   From: aperson@dom.ain
Content-Type: image/jpeg
MIME-Version: 1.0

xxxxx
(
   s   emails   message_from_strings   msgs   selfs   assertRaisess   Errorss   DiscardMessages   MimeDels   processs   _mlist(   s   selfs   msg(    (    s#   /var/mailman/tests/test_handlers.pys   test_outer_matchesp  s    c         C   s€   |  i } t i d ƒ } t i |  i | h  ƒ | t	 | i
 ƒ  ƒ d ƒ | i
 d ƒ } | | i ƒ  d ƒ | | i
 ƒ  d ƒ d  S(   NsÝ   From: aperson@dom.ain
Content-Type: multipart/mixed; boundary=BOUNDARY
MIME-Version: 1.0

--BOUNDARY
Content-Type: image/jpeg
MIME-Version: 1.0

xxx

--BOUNDARY
Content-Type: image/gif
MIME-Version: 1.0

yyy
--BOUNDARY--
i   i    s	   image/gifs   yyy(   s   selfs   assertEquals   eqs   emails   message_from_strings   msgs   MimeDels   processs   _mlists   lens   get_payloads   subparts   get_type(   s   selfs   subparts   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_strain_multipart{  s    	c         C   s“   |  i } t i d ƒ } t i |  i | h  ƒ | t	 | i
 ƒ  ƒ d ƒ | | i ƒ  d ƒ | i
 d ƒ } | | i ƒ  d ƒ | | i
 ƒ  d ƒ d  S(   Ns8  From: aperson@dom.ain
Content-Type: multipart/mixed; boundary=BOUNDARY
MIME-Version: 1.0

--BOUNDARY
Content-Type: multipart/alternative; boundary=BOUND2
MIME-Version: 1.0

--BOUND2
Content-Type: image/jpeg
MIME-Version: 1.0

xxx

--BOUND2
Content-Type: image/gif
MIME-Version: 1.0

yyy
--BOUND2--

--BOUNDARY--
i   s   multipart/mixedi    s	   image/gifs   yyy(   s   selfs   assertEquals   eqs   emails   message_from_strings   msgs   MimeDels   processs   _mlists   lens   get_payloads   get_types   subpart(   s   selfs   subparts   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys#   test_collapse_multipart_alternative•  s    	c         C   sX   |  i } t i d ƒ } t i |  i | h  ƒ | | i	 ƒ  d ƒ | | i
 ƒ  d ƒ d  S(   Nsj   From: aperson@dom.ain
Content-Type: text/html
MIME-Version: 1.0

<html><head></head>
<body></body></html>
s
   text/plains   


(   s   selfs   assertEquals   eqs   emails   message_from_strings   msgs   MimeDels   processs   _mlists   get_types   get_payload(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_convert_to_plaintext¶  s
    	c         C   s  |  i } |  i i i d ƒ t i d ƒ } t	 i
 |  i | h  ƒ | i ƒ  } | t | ƒ d ƒ | i d ƒ } | | i ƒ  d ƒ | | i ƒ  d ƒ | i d ƒ } | | i ƒ  d ƒ | | i ƒ  d	 ƒ | i d
 ƒ } | | i ƒ  d ƒ | | i ƒ  d ƒ d  S(   Ns	   text/htmlsÄ  From: aperson@dom.ain
Content-Type: multipart/mixed; boundary=AAA

--AAA
Content-Type: multipart/mixed; boundary=BBB

--BBB
Content-Type: image/jpeg

xxx
--BBB
Content-Type: image/jpeg

yyy
--BBB---
--AAA
Content-Type: multipart/alternative; boundary=CCC

--CCC
Content-Type: text/html

<h2>This is a header</h2>

--CCC
Content-Type: text/plain

A different message
--CCC--
--AAA
Content-Type: image/gif

zzz
--AAA
Content-Type: image/gif

aaa
--AAA--
i   i    s
   text/plains   A different messagei   s	   image/gifs   zzzi   s   aaa(   s   selfs   assertEquals   eqs   _mlists   filter_mime_typess   appends   emails   message_from_strings   msgs   MimeDels   processs   get_payloads   payloads   lens   part1s   get_types   part2s   part3(   s   selfs   payloads   part1s   part2s   part3s   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_deep_structureÅ  s    	'c         C   sk   |  i } |  i i i d ƒ t i d ƒ } t	 i
 |  i | h  ƒ | | i ƒ  d ƒ | | i ƒ  d ƒ d  S(   Ns	   text/htmls¼   From: aperson@dom.ain
Content-Type: multipart/alternative; boundary=AAA

--AAA
Content-Type: text/html

<b>This is some html</b>
--AAA
Content-Type: text/plain

This is plain text
--AAA--
s
   text/plains   This is plain text(   s   selfs   assertEquals   eqs   _mlists   filter_mime_typess   appends   emails   message_from_strings   msgs   MimeDels   processs   get_types   get_payload(   s   selfs   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_top_multipart_alternativeü  s    	(	   s   __name__s
   __module__s   setUps   test_outer_matchess   test_strain_multiparts#   test_collapse_multipart_alternatives   test_convert_to_plaintexts   test_deep_structures   test_top_multipart_alternative(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestMimeDelh  s   				!		7s   TestModeratec           B   s   t  Z RS(   N(   s   __name__s
   __module__(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestModerate  s   s   TestReplybotc           B   s   t  Z RS(   N(   s   __name__s
   __module__(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestReplybot  s   s   TestSpamDetectc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s;   h  d d <} t i |  i t | ƒ } |  i | t ƒ d  S(   Ns   approvedi   (   s   msgdatas
   SpamDetects   processs   selfs   _mlists   Nones   rtns   assertEqual(   s   selfs   rtns   msgdata(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuit  s    c         C   s   t  i d ƒ } t  i d ƒ } t i } zd t i i d d f ƒ |  i	 t
 i t
 i |  i | h  ƒ t
 i |  i | h  ƒ } |  i | t ƒ Wd  | t _ Xd  S(   Ns"   From: aperson@dom.ain

A message.
s   To: xlist@dom.ain

A message.
s   froms   .?person(   s   emails   message_from_strings   msg1s   msg2s   mm_cfgs   KNOWN_SPAMMERSs   spammerss   appends   selfs   assertRaisess
   SpamDetects   SpamDetecteds   processs   _mlists   rtns   assertEquals   None(   s   selfs   spammerss   msg1s   msg2s   rtn(    (    s#   /var/mailman/tests/test_handlers.pys   test_spam_detect$  s    
 (   s   __name__s
   __module__s   test_short_circuits   test_spam_detect(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestSpamDetect  s   	s
   TestTaggerc           B   sG   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s8   t  i |  ƒ d d d d f g |  i _ d |  i _ d  S(   Ns	   bar fights   .*bar.*s   catch any barsi   (   s   TestBases   setUps   selfs   _mlists   topicss   topics_enabled(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUp<  s    c         C   s8   d |  i _ t i |  i t h  ƒ } |  i | t ƒ d  S(   Ni    (   s   selfs   _mlists   topics_enableds   Taggers   processs   Nones   rtns   assertEqual(   s   selfs   rtn(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitA  s    c         C   sq   |  i } |  i } d | _ t i d ƒ } h  } t
 i | | | ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Ni    s"   Subject: foobar
Keywords: barbaz

s   x-topicss	   bar fights	   topichits(   s   selfs   assertEquals   eqs   _mlists   mlists   topics_bodylines_limits   emails   message_from_strings   msgs   msgdatas   Taggers   processs   get(   s   selfs   msgdatas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_simpleG  s    			c         C   sq   |  i } |  i } d | _ t i d ƒ } h  } t
 i | | | ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Niÿÿÿÿs=   Subject: Was
Keywords: Raw

Subject: farbaw
Keywords: barbaz
s   x-topicss	   bar fights	   topichits(   s   selfs   assertEquals   eqs   _mlists   mlists   topics_bodylines_limits   emails   message_from_strings   msgs   msgdatas   Taggers   processs   get(   s   selfs   msgdatas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_all_body_lines_plain_textU  s    			c         C   sn   |  i } |  i } d | _ t i d ƒ } h  } t
 i | | | ƒ | | d t ƒ | | i d ƒ t ƒ d  S(   Ni    s=   Subject: Was
Keywords: Raw

Subject: farbaw
Keywords: barbaz
s   x-topicss	   topichits(   s   selfs   assertEquals   eqs   _mlists   mlists   topics_bodylines_limits   emails   message_from_strings   msgs   msgdatas   Taggers   processs   Nones   get(   s   selfs   msgdatas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_no_body_linese  s    			c         C   sq   |  i } |  i } d | _ t i d ƒ } h  } t
 i | | | ƒ | | d d ƒ | | i d ƒ d g ƒ d  S(   Niÿÿÿÿs¤   Subject: Was
Keywords: Raw
Content-Type: multipart/alternative; boundary="BOUNDARY"

--BOUNDARY
From: sabo
To: obas

Subject: farbaw
Keywords: barbaz

--BOUNDARY--
s   x-topicss	   bar fights	   topichits(   s   selfs   assertEquals   eqs   _mlists   mlists   topics_bodylines_limits   emails   message_from_strings   msgs   msgdatas   Taggers   processs   get(   s   selfs   msgdatas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_body_lines_in_multipartu  s    			c         C   sn   |  i } |  i } d | _ t i d ƒ } h  } t
 i | | | ƒ | | d t ƒ | | i d ƒ t ƒ d  S(   Niÿÿÿÿs  Subject: Was
Keywords: Raw
Content-Type: multipart/alternative; boundary=BOUNDARY

--BOUNDARY
From: sabo
To: obas
Content-Type: message/rfc822

Subject: farbaw
Keywords: barbaz

--BOUNDARY
From: sabo
To: obas
Content-Type: message/rfc822

Subject: farbaw
Keywords: barbaz

--BOUNDARY--
s   x-topicss	   topichits(   s   selfs   assertEquals   eqs   _mlists   mlists   topics_bodylines_limits   emails   message_from_strings   msgs   msgdatas   Taggers   processs   Nones   get(   s   selfs   msgdatas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_body_lines_no_partŒ  s    			(	   s   __name__s
   __module__s   setUps   test_short_circuits   test_simples   test_all_body_lines_plain_texts   test_no_body_liness   test_body_lines_in_multiparts   test_body_lines_no_part(    (    (    s#   /var/mailman/tests/test_handlers.pys
   TestTagger;  s   						s   TestToArchivec           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s#   t  i |  ƒ t t i ƒ |  _ d  S(   N(   s   TestBases   setUps   selfs   Switchboards   mm_cfgs   ARCHQUEUE_DIRs   _sb(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUp¯  s    c         C   sM   x9 t  i t i ƒ D]% } t  i t  i i t i | ƒ ƒ q Wt i	 |  ƒ d  S(   N(   s   oss   listdirs   mm_cfgs   ARCHQUEUE_DIRs   fs   unlinks   paths   joins   TestBases   tearDowns   self(   s   selfs   f(    (    s#   /var/mailman/tests/test_handlers.pys   tearDown´  s     #c         C   s  |  i } h  d d <} t i |  i t | ƒ | t |  i	 i
 ƒ  ƒ d ƒ d |  i _ t i |  i t | ƒ | t |  i	 i
 ƒ  ƒ d ƒ t i d ƒ } d |  i _ t i |  i | h  ƒ | t |  i	 i
 ƒ  ƒ d ƒ t i d ƒ } t i |  i | h  ƒ | t |  i	 i
 ƒ  ƒ d ƒ d  S(   Ns   isdigesti   i    s   X-No-Archive: YES

s   X-Archive: NO

(   s   selfs   assertEquals   eqs   msgdatas	   ToArchives   processs   _mlists   Nones   lens   _sbs   filess   archives   emails   message_from_strings   msg(   s   selfs   msgdatas   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuit¹  s    	c         C   s¹   |  i } t i d ƒ } t i |  i | h  ƒ |  i	 i
 ƒ  } | t | ƒ d ƒ |  i	 i | d ƒ \ } } | t | ƒ d ƒ | | d d ƒ | | i d d ƒ | i d d ƒ ƒ d  S(   Ns"   Subject: About Mailman

It rocks!
i   i    i   s   versioni   s   unixfrom(   s   selfs   assertEquals   eqs   emails   message_from_strings   msgs	   ToArchives   processs   _mlists   _sbs   filess   lens   dequeues   msg2s   datas	   as_string(   s   selfs   filess   msg2s   datas   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_normal_archivingÒ  s    	(   s   __name__s
   __module__s   setUps   tearDowns   test_short_circuits   test_normal_archiving(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestToArchive®  s   			s   TestToDigestc           B   sA   t  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Ni    c         C   s$   t  i d h  d | <ƒ } | Sd  S(   Ns^   From: aperson@dom.ain
To: _xtest@dom.ain
Subject: message number %(i)d

Here is message %(i)d
s   i(   s   emails   message_from_strings   is   msg(   s   selfs   is   msg(    (    s#   /var/mailman/tests/test_handlers.pys   _makemsgæ  s    c         C   sŸ   t  i |  ƒ t i i |  i i ƒ  d ƒ |  _ t	 |  i d ƒ } t | ƒ } x0 t d ƒ D]" } | i |  i | ƒ d d ƒqY W| i ƒ  t t i ƒ |  _ d  S(   Ns   digest.mboxs   wi   s   unixfromi   (   s   TestBases   setUps   selfs   oss   paths   joins   _mlists   fullpaths   _paths   opens   fps	   Generators   gs   ranges   is   flattens   _makemsgs   closes   Switchboards   mm_cfgs   VIRGINQUEUE_DIRs   _sb(   s   selfs   fps   gs   i(    (    s#   /var/mailman/tests/test_handlers.pys   setUpï  s    !  
c         C   s“   y t  i |  i ƒ Wn/ t j
 o# } | i t i j o ‚  qF n Xx9 t  i t	 i
 ƒ D]% } t  i t  i i t	 i
 | ƒ ƒ qY Wt i |  ƒ d  S(   N(   s   oss   unlinks   selfs   _paths   OSErrors   es   errnos   ENOENTs   listdirs   mm_cfgs   VIRGINQUEUE_DIRs   fs   paths   joins   TestBases   tearDown(   s   selfs   es   f(    (    s#   /var/mailman/tests/test_handlers.pys   tearDownù  s      #c         C   s   |  i } |  i } d | _ | t i | t h  ƒ t ƒ d | _ | t i | t h  d d <ƒ t ƒ | |  i	 i
 ƒ  g  ƒ d  S(   Ni    i   s   isdigest(   s   selfs   assertEquals   eqs   _mlists   mlists
   digestables   ToDigests   processs   Nones   _sbs   files(   s   selfs   mlists   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuit  s    				%c         C   s{   |  i d ƒ } t i i |  i ƒ t t | ƒ ƒ } | d d |  i
 _ t i |  i
 | h  ƒ |  i |  i i ƒ  g  ƒ d  S(   Nic   i   i   (   s   selfs   _makemsgs   msgs   oss   paths   getsizes   _paths   lens   strs   sizes   _mlists   digest_size_threshholds   ToDigests   processs   assertEquals   _sbs   files(   s   selfs   msgs   size(    (    s#   /var/mailman/tests/test_handlers.pys   test_undersized  s
    %c         C   sq  |  i }
 |  i } |  i d ƒ } t i i	 |  i
 ƒ t t | ƒ ƒ } d | _ t i | | h  ƒ |  i i ƒ  } |
 t | ƒ d ƒ xU | D]M } |  i i | ƒ \ } } | i ƒ  d j o | } | } q‹ | } | }	 q‹ W|
 | i ƒ  d ƒ |
 | i ƒ  d ƒ |
 | d | i ƒ  ƒ |
 | d d	 h  d
 | i <d | i <d | i  d <ƒ |
 | d | i! ƒ  ƒ d  S(   Nic   i    i   s	   multiparts
   text/plains   multipart/mixeds   froms   subjects4   %(realname)s Digest, Vol %(volume)d, Issue %(issue)ds   realnames   volumes   issuei   s   to("   s   selfs   assertEquals   eqs   _mlists   mlists   _makemsgs   msgs   oss   paths   getsizes   _paths   lens   strs   sizes   digest_size_threshholds   ToDigests   processs   _sbs   filess   filebases   dequeues   qmsgs   qdatas   get_main_types   mimemsgs   mimedatas
   rfc1153msgs   rfc1153datas   get_content_types   GetRequestEmails	   real_names   volumes   next_digest_numbers   GetListEmail(   s   selfs   filess   filebases   mimemsgs   qdatas   mlists   qmsgs
   rfc1153msgs   msgs   rfc1153datas   eqs   mimedatas   size(    (    s#   /var/mailman/tests/test_handlers.pys   test_send_a_digest  s,    		%	 


3(   s   __name__s
   __module__s   _makemsgs   setUps   tearDowns   test_short_circuits   test_undersizeds   test_send_a_digest(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestToDigestå  s   		
					s   TestToOutgoingc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s#   t  i |  ƒ t t i ƒ |  _ d  S(   N(   s   TestBases   setUps   selfs   Switchboards   mm_cfgs   OUTQUEUE_DIRs   _sb(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUp6  s    c         C   sM   x9 t  i t i ƒ D]% } t  i t  i i t i | ƒ ƒ q Wt i	 |  ƒ d  S(   N(   s   oss   listdirs   mm_cfgs   OUTQUEUE_DIRs   fs   unlinks   paths   joins   TestBases   tearDowns   self(   s   selfs   f(    (    s#   /var/mailman/tests/test_handlers.pys   tearDown;  s     #c         C   s  |  i } t i d ƒ } h  d d <d d <} t i |  i	 | | ƒ |  i
 i ƒ  } | t | ƒ d ƒ |  i
 i | d ƒ \ } } | | i d d ƒ | i d d ƒ ƒ | t | ƒ d ƒ | | d d ƒ | | d d ƒ | | d	 d
 ƒ | | d d ƒ | | d d ƒ d  S(   Ns"   Subject: About Mailman

It rocks!
s   fooi   s   bari   i    s   unixfromi   s   versioni   s   listnames   _xtests   verp(   s   selfs   assertEquals   eqs   emails   message_from_strings   msgs   msgdatas
   ToOutgoings   processs   _mlists   _sbs   filess   lens   dequeues   msg2s   datas	   as_string(   s   selfs   filess   msg2s   datas   msgdatas   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_outgoing@  s    	%(   s   __name__s
   __module__s   setUps   tearDowns   test_outgoing(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestToOutgoing5  s   		s   TestToUsenetc           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s#   t  i |  ƒ t t i ƒ |  _ d  S(   N(   s   TestBases   setUps   selfs   Switchboards   mm_cfgs   NEWSQUEUE_DIRs   _sb(   s   self(    (    s#   /var/mailman/tests/test_handlers.pys   setUpY  s    c         C   sM   x9 t  i t i ƒ D]% } t  i t  i i t i | ƒ ƒ q Wt i	 |  ƒ d  S(   N(   s   oss   listdirs   mm_cfgs   NEWSQUEUE_DIRs   fs   unlinks   paths   joins   TestBases   tearDowns   self(   s   selfs   f(    (    s#   /var/mailman/tests/test_handlers.pys   tearDown^  s     #c         C   sÇ   |  i } |  i } d | _ t i | t h  ƒ | t	 |  i
 i ƒ  ƒ d ƒ d | _ t i | t h  d d <ƒ | t	 |  i
 i ƒ  ƒ d ƒ t i | t h  d d <ƒ | t	 |  i
 i ƒ  ƒ d ƒ d  S(   Ni    i   s   isdigests
   fromusenet(   s   selfs   assertEquals   eqs   _mlists   mlists   gateway_to_newss   ToUsenets   processs   Nones   lens   _sbs   files(   s   selfs   mlists   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_short_circuitc  s    				c         C   sØ   |  i } |  i } d | _ d | _ d | _ t i	 d ƒ } t i | | h  ƒ |  i i ƒ  } | t | ƒ d ƒ |  i i | d ƒ \ } } | | i d d ƒ | i d d ƒ ƒ | | d d ƒ | | d	 d
 ƒ d  S(   Ni   s   foos   bars'   Subject: About Mailman

Mailman rocks!
i    s   unixfroms   versioni   s   listnames   _xtest(   s   selfs   assertEquals   eqs   _mlists   mlists   gateway_to_newss   linked_newsgroups	   nntp_hosts   emails   message_from_strings   msgs   ToUsenets   processs   _sbs   filess   lens   dequeues   msg2s   datas	   as_string(   s   selfs   filess   msg2s   datas   mlists   msgs   eq(    (    s#   /var/mailman/tests/test_handlers.pys   test_to_useneto  s    					%(   s   __name__s
   __module__s   setUps   tearDowns   test_short_circuits   test_to_usenet(    (    (    s#   /var/mailman/tests/test_handlers.pys   TestToUsenetX  s   			c          C   s   t  i ƒ  }  |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t	 ƒ ƒ |  i t  i t
 ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  Sd  S(   N(   s   unittests	   TestSuites   suites   addTests	   makeSuites   TestAcknowledges   TestAfterDeliverys   TestApproves   TestCalcRecipss   TestCleanses   TestCookHeaderss   TestDecorates   TestFileRecipss   TestHolds   TestMimeDels   TestModerates   TestReplybots   TestSpamDetects
   TestTaggers   TestToArchives   TestToDigests   TestToOutgoings   TestToUsenet(   s   suite(    (    s#   /var/mailman/tests/test_handlers.pys   suiteˆ  s(    s   __main__s   defaultTests   suite(?   s   __doc__s   oss   shas   times   emails   errnos   cPickles   unittests   typess   ListTypes   email.Generators	   Generators   Mailmans   mm_cfgs   Mailman.MailLists   MailLists   Messages   Errorss   Pendings   Mailman.Queue.Switchboards   Switchboards   Mailman.Handlerss   Acknowledges   AfterDeliverys   Approves
   CalcRecipss   Cleanses   CookHeaderss   Decorates
   FileRecipss   Holds   MimeDels   Moderates   Replybots
   SpamDetects   Taggers	   ToArchives   ToDigests
   ToOutgoings   ToUsenets   TestBases   passwords   TestAcknowledges   TestAfterDeliverys   TestApproves   TestCalcRecipss   TestCleanses   TestCookHeaderss   TestDecorates   TestFileRecipss   TestHolds   TestMimeDels   TestModerates   TestReplybots   TestSpamDetects
   TestTaggers   TestToArchives   TestToDigests   TestToOutgoings   TestToUsenets   suites   __name__s   main(6   s   Errorss	   Generators   Acknowledges   unittests   TestApproves   TestDecorates   TestReplybots   TestModerates   TestSpamDetects   CookHeaderss   Moderates   Pendings   TestCookHeaderss   passwords   TestCleanses   ToUsenets   errnos   MailLists   Switchboards   suites   Holds   Cleanses   emails
   FileRecipss   TestToUsenets   cPickles   TestFileRecipss   TestToDigests   TestToArchives   TestToOutgoings
   SpamDetects
   CalcRecipss   mm_cfgs
   TestTaggers   Decorates
   ToOutgoings   ListTypes   Replybots   Approves   MimeDels   TestMimeDels	   ToArchives   TestBases   TestAfterDeliverys   TestHolds   TestAcknowledges   shas   ToDigests   Taggers   times   TestCalcRecipss   Messages   AfterDeliverys   os(    (    s#   /var/mailman/tests/test_handlers.pys   ?   sr   								L`?ÿ ¤Sž«s7P#0	