ó
O'—^c           @@  s¤   d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m Z m	 Z	 d  d l
 m Z d d l m Z m Z m Z d	 e f d
 „  ƒ  YZ d S(   i    (   t   absolute_importN(   t
   Connection(   t   pidbox(   t   ContentDisallowedt   InconsistencyError(   t   uuidi   (   t   Caset   Mockt   patcht   test_Mailboxc           B@  sò   e  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 d „  Z d „  Z d „  Z RS(   c         C@  s   |  j  d S(   Nt   var(   t   stats(   t   selft   state(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   _handler   s    c         C@  s¸   d t  j f d „  ƒ  Y} | d ƒ |  _ t d d ƒ |  _ i d d 6|  _ i |  j d 6|  _ |  j |  j ƒ |  _ |  j j	 ƒ  |  _
 |  j j d d	 |  j d
 |  j d |  j
 ƒ|  _ d  S(   Nt   Mailboxc           B@  s   e  Z d  „  Z RS(   c         _@  s   d S(   Nt	   COLLECTED(    (   R   t   argst   kwargs(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   _collect   s    (   t   __name__t
   __module__R   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR      s   t   test_pidboxt	   transportt   memoryi   R
   t   mymethodR   t   handlerst   channel(   R   R   t   mailboxR   t
   connectionR   R   R   t   boundR   t   default_chant   Nodet   node(   R   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   setUp   s    	c      	   C@  sŒ   t  j d ƒ |  j ƒ } t d ƒ b } t d d ƒ } | _ t ƒ  | j _ | j	 i d d 6| j
 | j d ƒ |  j | j j ƒ Wd  QXd  S(   Nt   test_reply__collects   kombu.pidbox.Producert   namet   producert   bart   foo(   R   R   R   R   R   t   return_valueR   t   publisht   side_effectt   _publish_replyt   reply_exchanget   oidt
   assertTruet   called(   R   R   t   ProducerR%   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt-   test_publish_reply_ignores_InconsistencyError&   s    c      
   @  s&  t  j d ƒ |  j ƒ } | j j } |  j j ƒ  } | j | ƒ j ƒ  t ƒ  } | j	 i d d 6| | j
 | ƒ t g ‰  ‡  f d †  } | j | d d d | d | ƒ} |  j | i d d 6g ƒ |  j ˆ  d	 ƒ t ƒ  } | j	 i d
 d 6| | j
 | ƒ | j | d d d | ƒ} |  j | i d
 d 6g ƒ | j	 i d d 6| | j
 d d d ƒ|  j t ƒ   | j d d d d | ƒ} Wd  QX| j	 i d d 6| | j
 d d d ƒ| j d d d d | d d g ƒ} |  j | d	 d d ƒ t ƒ  } | j _ t j | _ | j | d d d | ƒd  S(   NR#   R&   R'   c         @  s   t  ˆ  d <d  S(   Ni    (   t   True(   t   body(   t   _callback_called(    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   callback:   s    t   limiti   R5   R   i    t   bozt   bizt   BAMt   doomt
   serializert   picklet   BAMBAMt   accept(   R   R   R   R,   R$   R   t   reply_queuet   declareR   R+   R-   t   FalseR   t   assertEqualR.   t   assertRaisesR   R   t   drain_eventst   sockett   timeoutR*   (   R   R   t   exchangeR   t   ticketR5   t   replyt   de(    (   R4   s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR#   0   s:    	 		 !c         C@  sC   |  j  |  j j ƒ |  j |  j j j ƒ |  j |  j j j ƒ d  S(   N(   t   assertIsNoneR   R   R.   RG   R$   R,   (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_constructorW   s    c         C@  s,   |  j  |  j ƒ } |  j | j |  j ƒ d  S(   N(   R   R   t   assertIs(   R   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt
   test_bound\   s    c         C@  s   |  j  |  j j ƒ |  j  |  j j ƒ |  j |  j j |  j ƒ |  j  |  j ƒ |  j j d d |  j ƒ} |  j	 | j i  ƒ d  S(   Nt   test_pidbox2R   (
   R.   R!   t   hostnameR   RM   R   R   R   R    t   assertDictEqual(   R   t   node2(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt	   test_Node`   s    c         C@  s†   |  j  j ƒ  } |  j | j |  j ƒ |  j | j ƒ |  j j ƒ  } |  j  j d | d t ƒ } |  j | j | ƒ |  j	 | j ƒ d  S(   NR   t   no_ack(
   R!   t   ConsumerRM   R   R   R.   RT   R   RA   t   assertFalse(   R   t	   consumer1t   chan2t	   consumer2(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_Node_consumerj   s    c      	   C@  s¾   t  j ƒ  |  j j ƒ  } | j d } t  j d t ƒ E } | j d d d ƒ |  j | ƒ |  j	 d | d j
 j d ƒ Wd  QXt  j d t ƒ ' } | j d d d ƒ |  j | ƒ Wd  QXd  S(   Ni    t   recordR'   i   s   already using this(   t   warningst   resetwarningsR!   RU   t   queuest   catch_warningsR2   t   on_declaredR.   t   assertInt   messageR   RV   (   R   t   consumert   qt   log(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt%   test_Node_consumer_multiple_listenerst   s    
$c         C@  sD   |  j  j d d |  j ƒ} | j d „  ƒ } |  j d | j ƒ d  S(   Nt   test_handlerR   c         S@  s   d S(   Ni*   (    (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   my_handler_name„   s    Rh   (   R   R    R   t   handlerRa   R   (   R   R!   Rh   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRg      s    c         C@  sd   |  j  j d d |  j ƒ} | j d  d  d „ ƒ } |  j | j d d i d d 6d d 6ƒd	 ƒ d  S(
   Nt   test_dispatchR   c         S@  s   | | S(   N(    (   R   t   xt   y(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh      s    Rh   t	   argumentsi
   Rk   Rl   i   (   R   R    R   Ri   t   NoneRB   t   dispatch(   R   R!   Rh   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRj   Š   s
    c         C@  sT   |  j  j d d |  j ƒ} | j d „  ƒ } |  j t ƒ  | j d ƒ Wd  QXd  S(   Nt    test_dispatch_raising_SystemExitR   c         S@  s
   t  ‚ d  S(   N(   t
   SystemExit(   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   ˜   s    Rh   (   R   R    R   Ri   RC   Rq   Ro   (   R   R!   Rh   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRp   ”   s
    c         C@  sd   |  j  j d d |  j ƒ} | j d „  ƒ } | j d ƒ } |  j d | ƒ |  j d | d ƒ d  S(   Nt   test_dispatch_raisingR   c         S@  s   t  d ƒ ‚ d  S(   NR'   (   t   KeyError(   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   ¢   s    Rh   t   errorRs   (   R   R    R   Ri   Ro   Ra   (   R   R!   Rh   t   res(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRr   Ÿ   s
    c         @  sž   t  g ‰  ‡  f d †  } |  j j d d |  j ƒ} | | _ | j d  d  d „ ƒ } | j d d i d d 6d d	 6d
 i d d 6d d 6ƒ|  j ˆ  d ƒ d  S(   Nc         @  s   t  ˆ  d <d  S(   Ni    (   R2   (   t   datat   options(   t   _replied(    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRI   ­   s    Rj   R   c         S@  s   | | S(   N(    (   R   Rk   Rl   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   ³   s    Rh   Rm   i
   Rk   Rl   t   reply_toR'   RG   R&   t   routing_keyi    (	   RA   R   R    R   RI   Ri   Rn   Ro   R.   (   R   RI   R!   Rh   (    (   Rx   s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_dispatch_repliesª   s    		c   	      @  sÜ   d g ‰  ‡  f d †  } |  j |  j ƒ } | | _ | j d ƒ } | j d „  ƒ } | j d d i d d 6d d 6d	 d
 ƒˆ  d \ } } } } |  j | i d d 6ƒ |  j | d ƒ |  j | d ƒ |  j | d
 ƒ d  S(   Nc         @  s   |  | | | f ˆ  d <d  S(   Ni    (    (   Rv   RG   Rz   RH   R   (   Rx   (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   publish_reply¿   s    t
   test_replyc         S@  s   d S(   Ni*   (    (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   Æ   s    Rh   Ry   RG   t   rkeyRz   RH   t   TICKETi    i*   (   NNN(   Rn   R   R   R+   R    Ri   Ro   RB   (	   R   R|   R   R!   Rh   Rv   RG   Rz   RH   (    (   Rx   s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR}   ¼   s    		

c         C@  s’   |  j  j d ƒ } | j d  d  d „ ƒ } i d d 6i d d 6d d 6d 6} |  j | j | d  ƒ d ƒ d	 g | d
 <|  j | j | d  ƒ ƒ d  S(   Nt   test_dispatch_from_messagec         S@  s   | | S(   N(    (   R   Rk   Rl   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   ×   s    Rh   t   methodi@   Rk   Rl   Rm   t   some_other_nodet   destinationi   (   R   R    Ri   Rn   RB   t   handle_messageRK   (   R   R!   Rh   R3   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_handle_messageÔ   s    
c         C@  sŸ   |  j  j d ƒ } | j d „  ƒ } i d d 6i  d 6} t d d ƒ } i d d	 6| _ t d d
 ƒ | _ | j | | ƒ } | j j d ƒ |  j | d ƒ d  S(   Nt   test_adjusts_clockc         S@  s   d S(   Ni
   (    (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRh   ç   s    Rh   R   Rm   R$   Rb   i9  t   clockt   adjust_clocki
   (	   R   R    Ri   R   t   headersRˆ   R„   t   assert_called_withRB   (   R   R!   Rh   R3   Rb   Ru   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt!   test_handle_message_adjusts_clockä   s    

c         C@  sF   |  j  j ƒ  } |  j | j d |  j  j ƒ |  j | j |  j ƒ d  S(   Ni    (   R!   t   listenRB   t	   callbacksR„   R   R   (   R   Rc   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_listenô   s    c         C@  s?   |  j  j d g d ƒ |  j j ƒ  } |  j |  j | ƒ ƒ d  S(   Nt   somenodeR   (   R   t   castR!   RU   t   assertIsCastt   get_next(   R   Rc   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt	   test_castú   s    c         C@  s9   |  j  j d ƒ |  j j ƒ  } |  j |  j | ƒ ƒ d  S(   NR   (   R   t   abcastR!   RU   R‘   R’   (   R   Rc   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_abcastÿ   s    c         C@  s-   |  j  t ƒ  |  j j d d ƒ Wd  QXd  S(   Nt	   some_nodeR   (   RC   t
   ValueErrorR   t   call(   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt&   test_call_destination_must_be_sequence  s    c         C@  sK   |  j  |  j j d g d ƒ d ƒ |  j j ƒ  } |  j |  j | ƒ ƒ d  S(   NR–   R   R   (   RB   R   R˜   R!   RU   t   assertIsCallR’   (   R   Rc   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt	   test_call  s
    c         C@  sE   |  j  |  j j d ƒ d ƒ |  j j ƒ  } |  j |  j | ƒ ƒ d  S(   NR   R   (   RB   R   t
   multi_callR!   RU   Rš   R’   (   R   Rc   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   test_multi_call  s    c         C@  s$   | j  d j ƒ  } | r  | j Sd  S(   Ni    (   R^   t   gett   payload(   R   Rc   t   m(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR’     s    c         C@  s   |  j  | d ƒ d  S(   NR   (   R.   (   R   Rb   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR‘     s    c         C@  s&   |  j  | d ƒ |  j  | d ƒ d  S(   NR   Ry   (   R.   (   R   Rb   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyRš     s    (   R   R   R   R"   R1   R#   RL   RN   RS   RZ   Rf   Rg   Rj   Rp   Rr   R{   R}   R…   R‹   RŽ   R“   R•   R™   R›   R   R’   R‘   Rš   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyR	      s4   			
	'			
	
				
														(   t
   __future__R    RE   R\   t   kombuR   R   t   kombu.exceptionsR   R   t   kombu.utilsR   t   caseR   R   R   R	   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_pidbox.pyt   <module>   s   