ó
O'—^c           @@ sâ   d  d l  m Z m Z d  d l Z d  d l Z d  d l m Z d  d l m Z m	 Z	 m
 Z
 m Z m Z d  d l m Z d  d l m Z d d l m Z m Z m Z d d	 l m Z d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   i    (   t   absolute_importt   unicode_literalsN(   t   defaultdict(   t
   Connectiont   Consumert   Producert   Exchanget   Queue(   t   MessageStateError(   t   ChannelPromisei   (   t   Caset   Mockt   patch(   t	   Transportt   test_Producerc           B@ sï   e  Z d  „  Z d „  Z d „  Z d „  Z e d ƒ d „  ƒ Z e d ƒ 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^   t  d d ƒ |  _ t d t ƒ |  _ |  j j ƒ  |  j |  j j j ƒ |  j |  j j	 ƒ d  S(   Nu   foou   directt	   transport(
   R   t   exchangeR   R   t
   connectiont   connectt
   assertTruet	   connectedt   assertFalset   is_bound(   t   self(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   setUp   s
    c         C@ s&   t  |  j ƒ } |  j t | ƒ ƒ d  S(   N(   R   R   R   t   repr(   R   t   p(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt	   test_repr   s    c         C@ sM   t  ƒ  } t | d d ƒ} t j t j | ƒ ƒ } |  j | j | j ƒ d  S(   Nt
   serializeru   pickle(   R   R   t   picklet   loadst   dumpst   assertEqualR   (   R   t   chant   producert   p2(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_pickle   s    	c         C@ s    t  d  ƒ } |  j | j ƒ d  S(   N(   R   t   NoneR   t   _channel(   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_no_channel#   s    u   kombu.messaging.maybe_declarec         C@ sB   |  j  j ƒ  } t d ƒ } | j | ƒ | j | | j t ƒ d  S(   Nu   foo(   R   R   R   t   maybe_declaret   assert_called_witht   channelt   False(   R   R(   R   t   q(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_maybe_declare'   s    u   kombu.common.maybe_declarec         C@ s0   |  j  j ƒ  } | j d  ƒ |  j | j ƒ d  S(   N(   R   R   R(   R%   R   t   called(   R   R(   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt$   test_maybe_declare_when_entity_false.   s    c         C@ sj   |  j  j ƒ  } t | |  j d t ƒ} |  j | j |  j d ƒ |  j | j j ƒ |  j d | d ƒ d  S(   Nt   auto_declareu   creates Exchange clone at bindu   exchange_declareu   auto_declare declares exchange(	   R   R*   R   R   t   Truet   assertIsNotR   R   t   assertIn(   R   R*   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_auto_declare4   s    c         C@ sn   |  j  j ƒ  } t | |  j d t ƒ} |  j | j j ƒ |  j d | d ƒ | j ƒ  |  j	 d | d ƒ d  S(   NR0   u   exchange_declareu,   auto_declare=False does not declare exchangeu   p.declare() declares exchange(
   R   R*   R   R   R+   R   R   t   assertNotInt   declareR3   (   R   R*   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_manual_declare=   s    
c         C@ s   i d d 6} |  j  j ƒ  } t | |  j d d ƒ} | j | d i  ƒ\ } } } |  j | t j | ƒ ƒ |  j | d ƒ |  j | d ƒ d  S(   Nu   jumps over the lazy dogu   the quick brown foxR   u   jsont   headersu   application/jsonu   utf-8(	   R   R*   R   R   t   _preparet   assertDictEqualt   anyjsonR   R    (   R   t   messageR*   R   t   mt   ctypet	   cencoding(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_prepareG   s    c   	      C@ sÍ   i d d 6} |  j  j ƒ  } t | |  j d d ƒ} i  } | j | d d d | ƒ\ } } } |  j | d ƒ |  j | d	 ƒ |  j | d
 d ƒ d d  l } |  j t j | j	 | ƒ j
 d	 ƒ ƒ | ƒ d  S(   Nu   jumps over the lazy dogu   the quick brown foxR   u   jsont   compressionu   zlibR8   u   application/jsonu   utf-8u   compressionu   application/x-gzipi    (   R   R*   R   R   R9   R    t   zlibR;   R   t
   decompresst   decode(	   R   R<   R*   R   R8   R=   R>   R?   RB   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_prepare_compressionP   s    c         C@ sÜ   d j  d ƒ } |  j j ƒ  } t | |  j d d ƒ} | j | d d ƒ\ } } } |  j | | ƒ |  j | d ƒ |  j | d ƒ | j | d d d d	 ƒ\ } } } |  j | | ƒ |  j | d ƒ |  j | d	 ƒ d  S(
   Nu   the quick brown foxu   utf-8R   u   jsont   content_typeu   customu   binaryt   content_encodingu   alien(   t   encodeR   R*   R   R   R9   R    (   R   R<   R*   R   R=   R>   R?   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt    test_prepare_custom_content_type`   s    c         C@ så   d } |  j  j ƒ  } t | |  j d d ƒ} | j | d d ƒ\ } } } |  j | | j d ƒ ƒ |  j | d ƒ |  j | d ƒ | j | d d d d ƒ\ } } } |  j | | j d ƒ ƒ |  j | d ƒ |  j | d ƒ d  S(   Nu   the quick brown foxR   u   jsonRF   u
   text/plainu   utf-8RG   (   R   R*   R   R   R9   R    RH   (   R   R<   R*   R   R=   R>   R?   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_prepare_is_already_unicoden   s    c         C@ s_   |  j  j ƒ  } t ƒ  | _ | j d d t d ƒ d d ƒ|  j | j j j	 d d d ƒ d  S(   Nu   helloR   u   foot   delivery_modeu	   transienti   u   exchange(
   R   R   R   R*   t   publishR   R    R&   t   basic_publisht	   call_args(   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt#   test_publish_with_Exchange_instance|   s
    c         @ s[   t  ƒ  ‰  t t  ƒ ˆ  _ t t ‡  f d †  ƒ d d ƒ} | j ˆ  j d j j d ƒ d  S(   Nc           @ s   ˆ  S(   N(    (    (   R!   (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   <lambda>‡   t    t	   on_returnu	   on_returnu   basic_return(   R   R   t   eventsR   R	   R*   t   addR)   (   R   R   (    (   R!   s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_set_on_return„   s
    	!c         C@ s[   t  t ƒ  ƒ } t ƒ  | _ t ƒ  } | j _ | j d d d d t ƒ|  j | j ƒ d  S(   Nu   fooR   t   retry(	   R   R   t   _connectionR   t   ensureRL   R1   R   R.   (   R   R   RX   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_publish_retry_calls_ensure‹   s
    c         C@ s{   |  j  j ƒ  } t ƒ  | _ t ƒ  | j  _ t d ƒ } | j d d d d i  i  d d d | d | g ƒ
| j j | ƒ d  S(   Nu   foou   helloi    u    u   rkR6   (   R   R   R   R(   RX   R   t   _publishR)   (   R   R   t   ex(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_publish_retry_with_declare’   s    1c         C@ sg   |  j  j ƒ  } t ƒ  | _ t d ƒ } | j } | j | ƒ |  j | j | ƒ | j j j	 | ƒ d  S(   Nu	   memory://(
   R   R   R   R   R   t   default_channelt   revivet   assertIsR*   R)   (   R   R   t   new_connt   defchan(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt&   test_revive_when_channel_is_connectionš   s    	c         C@ sL   |  j  j ƒ  } t ƒ  | _ |  j | j ƒ  | ƒ | j ƒ  | j j ƒ  d  S(   N(   R   R   R   t   releaseR_   t	   __enter__t   __exit__R)   (   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_enter_exit¤   s
    
c         C@ s8   |  j  j ƒ  } t ƒ  | _ d  | _ |  j | j  ƒ d  S(   N(   R   R   t   objectR*   R%   t   __connection__t   assertIsNone(   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt/   test_connection_property_handles_AttributeError¬   s    	c         C@ sÿ   |  j  j ƒ  } t | |  j d d ƒ} i d d 6} | j | d d ƒ} |  j d | ƒ |  j d | ƒ | \ } } } |  j | t j | d	 ƒ ƒ |  j	 i d
 d 6d d 6d d 6| ƒ |  j	 i d d 6| d ƒ |  j
 | | j j ƒ |  j
 | d ƒ d  S(   NR   u   jsonu   jumps over the lazy dogu   the quick brown foxt   routing_keyu   processu   prepare_messageu   basic_publishu   bodyu   application/jsonu   content_typeu   utf-8u   content_encodingi    u   priorityi   u   delivery_modeu
   properties(   R   R*   R   R   RL   R3   R:   R;   R   t   assertDictContainsSubsetR    t   name(   R   R*   R   R<   t   retR=   t   exct   rkey(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_publish²   s    c         C@ s2   |  j  j ƒ  } t | ƒ } |  j | j j ƒ d  S(   N(   R   R*   R   R   R   Rm   (   R   R!   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_no_exchangeÃ   s    c         C@ sd   |  j  j ƒ  } t | ƒ } |  j  j ƒ  } | j | ƒ |  j | j | ƒ |  j | j j | ƒ d  S(   N(   R   R*   R   R^   R_   R   (   R   R!   R   t   chan2(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_reviveÈ   s    c         C@ sX   |  j  j ƒ  } d „  } t | d | ƒ} |  j | | j d k ƒ |  j | j ƒ d  S(   Nc         S@ s   d  S(   N(    (   t	   exceptionR   Rk   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRR   Ó   s    RR   u   basic_return(   R   R*   R   R   RS   RR   (   R   R!   RR   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_on_returnÐ   s
    	(   t   __name__t
   __module__R   R   R$   R'   R   R-   R/   R4   R7   R@   RE   RI   RJ   RO   RU   RY   R\   Rb   Rf   Rj   Rq   Rr   Rt   Rv   (    (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyR      s.   							
										
					t   test_Consumerc           B@ sL  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 d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# „  Z% RS($   c         C@ sK   t  d t ƒ |  _ |  j j ƒ  |  j |  j j j ƒ t d d ƒ |  _ d  S(   NR   u   foou   direct(   R   R   R   R   R   R   R   R   (   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyR   Ý   s    c         C@ s‹   t  |  j ƒ } |  j | j ƒ t  |  j d d d g ƒ} |  j | j t d d g ƒ ƒ t  |  j d | j ƒ} |  j | j | j ƒ d  S(   Nt   acceptu   jsonu   pickleu   application/jsonu   application/x-python-serialize(   R   R   Ri   Rz   t   assertSetEqualt   set(   R   t   at   bt   c(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_acceptã   s    c         C@ sQ   t  |  j ƒ } t d d ƒ | _ t d ƒ | j _ |  Wd  QX| j j ƒ  d  S(   NRm   u   Consumer.cancelu   foo(   R   R   R   t   cancelt   KeyErrort   side_effectR)   (   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_enter_exit_cancel_raisesî   s    c         C@ s    t  d d ƒ } g  | _ t  d d ƒ } t |  j d d g d | ƒ} d  | _ t  d d ƒ | _ d  | j _ | j | ƒ | j	 | ƒ |  j
 | j | j ƒ d  S(   NRm   u   Messageu
   on_messageRz   u   jsont
   on_messageu   channel(   R   t   errorsR   R   R%   t   on_decode_errorR*   t   message_to_pythont   _receive_callbackR)   R{   Rz   (   R   R<   t   callbackR   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_receive_callback_acceptö   s    		c         C@ sÏ   t  d ƒ } t d d |  j ƒ} | j ƒ  } | j i t ƒ  d 6d | g d |  j d d ƒt d d	 ƒ } | j d
 | g d | g ƒ 0 } |  j | j	 ƒ  | j
 d d ƒ Wd  QXWd  QX|  j | j ƒ d  S(   Nu	   memory://u   fooR   u   complexR6   R   u   pickleRm   u   callbackt   queuest	   callbackst   timeouti   (   R   R   R   R   RL   Rg   R   R   t   assertRaisest   ContentDisallowedt   drain_eventsR   R.   (   R   t   connR,   R   RŠ   t   consumer(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_accept__content_disallowed  s    !c         C@ sá   t  d ƒ } t d d |  j ƒ} | j ƒ  } | j i t ƒ  d 6d | g d |  j d d ƒt d d	 ƒ } | j d
 | g d d g d | g ƒ  | j d d ƒ Wd  QX|  j	 | j
 ƒ | j d \ } } |  j	 | d ƒ d  S(   Nu	   memory://u   fooR   u   complexR6   R   u   pickleRm   u   callbackRŒ   Rz   R   RŽ   i   i    (   R   R   R   R   RL   Rg   R   R   R‘   R   R.   RN   (   R   R’   R,   R   RŠ   t   bodyR<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_accept__content_allowed  s    c         C@ s@   t  d  ƒ } |  j | j ƒ | j t ƒ  ƒ |  j | j ƒ d  S(   N(   R   R%   Ri   R*   R^   R   R   (   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_set_no_channel#  s    c         C@ sS   |  j  j ƒ  } t d |  j d ƒ } t | | d t d t ƒ} |  j | j ƒ d  S(   Nu   qnameu   rkeyR0   t   no_ack(   R   R*   R   R   R   R1   R   R˜   (   R   R*   t   queueR“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_set_no_ack)  s    c         C@ sX   |  j  j d t ƒ } t ƒ  } | | _ | j | ƒ |  j | | j ƒ | j j	 ƒ  d  S(   NR0   (
   R   R   R1   R   t   return_valuet	   add_queueR3   RŒ   R6   R)   (   R   R“   R,   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt    test_add_queue_when_auto_declare/  s    		c         C@ s^   |  j  j d t ƒ } t ƒ  } | | _ | j | ƒ |  j | | j ƒ |  j | j	 j
 ƒ d  S(   NR0   (   R   R   R+   R   R›   Rœ   R3   RŒ   R   R6   t
   call_count(   R   R“   R,   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt$   test_add_queue_when_not_auto_declare7  s    		c         C@ s0   |  j  j ƒ  } g  | j (|  j | j ƒ  ƒ d  S(   N(   R   R   RŒ   Ri   t   consume(   R   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt#   test_consume_without_queues_returns?  s    
c         C@ s  |  j  j ƒ  } t d ƒ t d ƒ t d ƒ g | j (i d d 6d d 6| _ |  j | j t d ƒ ƒ ƒ |  j | j d ƒ ƒ |  j | j t d ƒ ƒ ƒ |  j | j d ƒ ƒ |  j | j t d ƒ ƒ ƒ |  j | j t d ƒ ƒ ƒ |  j | j d ƒ ƒ d  S(   Nu   au   bu   di   i   u   c(   R   R   R   RŒ   t   _active_tagsR   t   consuming_fromR   (   R   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_consuming_fromD  s    %c         C@ s“   |  j  j ƒ  } | j ƒ  } t | d ƒ } d  | _ zO t ƒ  } g  | _ d | j _	 t ƒ  } | _
 | j | ƒ | j d | ƒ Wd  | | _ Xd  S(   Nu   message_to_pythonu   Hello(   R   R*   R   t   getattrR%   Rˆ   R   R†   RD   R›   t   receiveR‰   R)   (   R   R*   R   t   m2pR<   t   recv(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt!   test_receive_callback_without_m2pQ  s    			c         C@ sh   |  j  j ƒ  } t d |  j d ƒ } d „  d „  g } t | | d t d | ƒ} |  j | j | ƒ d  S(   Nu   qnameu   rkeyc         S@ s   |  S(   N(    (   t   xt   y(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRP   c  RQ   c         S@ s   |  S(   N(    (   Rª   R«   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRP   d  RQ   R0   R   (   R   R*   R   R   R   R1   R    R   (   R   R*   R™   R   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_set_callbacks`  s    	c         C@ s3  |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} | j ƒ  | j ƒ  |  j | j d | ƒ |  j	 | j d j
 ƒ |  j	 | j d j j
 ƒ |  j | j d j |  j ƒ x d
 D] } |  j | | ƒ q¹ W|  j | j j d ƒ d	 ƒ |  j	 | j ƒ | j | j ƒ | j | j ƒ |  j | j ƒ d  S(   Nu   qnameu   rkeyR0   i    u   exchange_declareu   queue_declareu
   queue_bindu   basic_consumei   (   u   exchange_declareu   queue_declareu
   queue_bindu   basic_consume(   R   R*   R   R   R   R1   R    R2   RŒ   R   R   R3   R    R.   t   countR¢   t   cancel_by_queueRm   R   (   R   R*   R™   R“   t   meth(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyR4   i  s&    

  
c         C@ sg   |  j  j ƒ  } t d |  j d ƒ } t | | d d ƒ} | j ƒ  |  j | j | j j	 d ƒ ƒ d  S(   Nu   qnameu   rkeyt
   tag_prefixu	   consumer_(
   R   R*   R   R   R   R    R   R¢   Rm   t
   startswith(   R   R*   R™   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_consumer_tag_prefix€  s    
c         C@ s  |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} |  j | j d | ƒ |  j | j d j	 ƒ |  j | j d j j	 ƒ |  j | j d j |  j ƒ x d	 D] } |  j
 | | ƒ q¥ W| j ƒ  x d
 D] } |  j | | ƒ qÐ W|  j
 d | ƒ | j ƒ  |  j d | ƒ d  S(   Nu   qnameu   rkeyR0   i    u   exchange_declareu   queue_declareu   basic_consumeu
   queue_bind(   u   exchange_declareu   queue_declareu   basic_consume(   u   exchange_declareu   queue_declareu
   queue_bind(   R   R*   R   R   R   R+   R2   RŒ   R   R   R5   R6   R3   R    (   R   R*   R™   R“   R¯   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyR7   Š  s&     

 

c         C@ sq   |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} | j ƒ  | j ƒ  |  j d | ƒ |  j	 | j
 ƒ d  S(   Nu   qnameu   rkeyR0   u   basic_cancel(   R   R*   R   R   R   R1   R    R   R3   R   R¢   (   R   R*   R™   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_consume__cancel¢  s    

c         C@ s«   |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} | j ƒ  } |  j | | ƒ |  j | j	 ƒ | j
 d  d  d  ƒ } |  j | ƒ |  j d | ƒ |  j | j	 ƒ d  S(   Nu   qnameu   rkeyR0   u   basic_cancel(   R   R*   R   R   R   R1   Rd   R_   R   R¢   Re   R%   R   R3   (   R   R*   R™   R“   t   contextt   res(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test___enter____exit__«  s    c         C@ sZ   |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} | j t ƒ |  j d | ƒ d  S(   Nu   qnameu   rkeyR0   u   flow(	   R   R*   R   R   R   R1   t   flowR+   R3   (   R   R*   R™   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt	   test_flow·  s
    c         C@ s`   |  j  j ƒ  } t d |  j d ƒ } t | | d t ƒ} | j d d t ƒ |  j d | ƒ d  S(   Nu   qnameu   rkeyR0   i   i
   u	   basic_qos(	   R   R*   R   R   R   R1   t   qosR+   R3   (   R   R*   R™   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_qos¾  s
    c         C@ s®   |  j  j ƒ  } t d |  j d ƒ } t d |  j d ƒ } t d |  j d ƒ } t d |  j d ƒ } t | | | | | g d t ƒ} | j ƒ  |  j | j j	 d ƒ d ƒ d  S(	   Nu   qname1u   rkeyu   qname2u   qname3u   qname4R0   u   queue_purgei   (
   R   R*   R   R   R   R1   t   purgeR    R.   R­   (   R   R*   t   b1t   b2t   b3t   b4R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt
   test_purgeÅ  s    !
c         C@ sQ  |  j  j ƒ  } t d |  j d ƒ } t d |  j d ƒ } t d |  j d ƒ } t d |  j d ƒ } t | | | | | g ƒ } | j ƒ  |  j | j j d ƒ d ƒ |  j | j j d ƒ d ƒ |  j | j j d	 ƒ d ƒ |  j | j j d
 ƒ d ƒ |  j t	 | j
 ƒ d ƒ | j ƒ  |  j | j j d ƒ d ƒ |  j t	 | j
 ƒ ƒ d  S(   Nu   qname1u   rkeyu   qname2u   qname3u   qname4u   exchange_declarei   u   queue_declareu
   queue_bindu   basic_consumeu   basic_cancel(   R   R*   R   R   R   R    R    R.   R­   t   lenR¢   R   R   (   R   R*   R¼   R½   R¾   R¿   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_multiple_queuesÏ  s    

c         @ s«   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } g  ‰  ‡  f d †  } | j | ƒ | j i d d 6ƒ |  j d | ƒ |  j d | ƒ |  j ˆ  d i d d 6ƒ d  S(	   Nu   qname1u   rkeyc         @ s"   ˆ  j  |  ƒ | j ƒ  | j d  S(   N(   t   appendt   ackt   payload(   t   message_dataR<   (   t   received(    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ   æ  s    
u   baru   foou	   basic_acku   message_to_pythoni    (	   R   R*   R   R   R   t   register_callbackR‰   R3   R    (   R   R*   R¼   R“   RŠ   (    (   RÇ   s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_receive_callbackà  s    c         C@ sz   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } d „  } | j | ƒ |  j t ƒ  | j i d d 6ƒ Wd  QXd  S(   Nu   qname1u   rkeyc         S@ s   | j  ƒ  | j  ƒ  d  S(   N(   RÄ   (   RÆ   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ   ÷  s    
u   baru   foo(	   R   R*   R   R   R   RÈ   R   R   R‰   (   R   R*   R¼   R“   RŠ   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_basic_ack_twiceò  s    	c         C@ st   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } d „  } | j | ƒ | j i d d 6ƒ |  j d | ƒ d  S(   Nu   qname1u   rkeyc         S@ s   | j  ƒ  d  S(   N(   t   reject(   RÆ   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ     s    u   baru   foou   basic_reject(   R   R*   R   R   R   RÈ   R‰   R3   (   R   R*   R¼   R“   RŠ   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_basic_rejectÿ  s    	c         C@ sŠ   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } d „  } | j | ƒ |  j t ƒ  | j i d d 6ƒ Wd  QX|  j	 d | ƒ d  S(   Nu   qname1u   rkeyc         S@ s   | j  ƒ  | j  ƒ  d  S(   N(   RË   (   RÆ   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ     s    
u   baru   foou   basic_reject(
   R   R*   R   R   R   RÈ   R   R   R‰   R3   (   R   R*   R¼   R“   RŠ   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_basic_reject_twice  s    	c         C@ st   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } d „  } | j | ƒ | j i d d 6ƒ |  j d | ƒ d  S(   Nu   qname1u   rkeyc         S@ s   | j  ƒ  d  S(   N(   t   requeue(   RÆ   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ     s    u   baru   foou   basic_reject:requeue(   R   R*   R   R   R   RÈ   R‰   R3   (   R   R*   R¼   R“   RŠ   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_basic_reject__requeue  s    	c         C@ sŠ   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } d „  } | j | ƒ |  j t ƒ  | j i d d 6ƒ Wd  QX|  j	 d | ƒ d  S(   Nu   qname1u   rkeyc         S@ s   | j  ƒ  | j  ƒ  d  S(   N(   RÎ   (   RÆ   R<   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRŠ   *  s    
u   baru   foou   basic_reject:requeue(
   R   R*   R   R   R   RÈ   R   R   R‰   R3   (   R   R*   R¼   R“   RŠ   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt    test_basic_reject__requeue_twice%  s    	c         C@ s`   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } |  j t ƒ  | j d d ƒ Wd  QXd  S(   Nu   qname1u   rkeyi   i   (   R   R*   R   R   R   R   t   NotImplementedErrorR¦   (   R   R*   R¼   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt%   test_receive_without_callbacks_raises3  s
    c         C@ sp   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } t | j _ |  j t ƒ  | j	 i d d 6ƒ Wd  QXd  S(   Nu   qname1u   rkeyu   baru   foo(
   R   R*   R   R   R   R1   t   throw_decode_errorR   t
   ValueErrorR‰   (   R   R*   R¼   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_decode_error:  s    c         @ sÂ   |  j  j ƒ  } t d |  j d ƒ } g  ‰  ‡  f d †  } t | | g d | ƒ} t | j _ | j i d d 6ƒ |  j ˆ  ƒ ˆ  d \ } } |  j	 t
 j | ƒ i d d 6ƒ |  j | t ƒ d  S(   Nu   qname1u   rkeyc         @ s   ˆ  j  |  j | f ƒ d  S(   N(   RÃ   R•   (   t   msgRo   (   t   thrown(    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyR‡   H  s    R‡   u   baru   fooi    (   R   R*   R   R   R   R1   RÓ   R‰   R   R    R;   R   t   assertIsInstanceRÔ   (   R   R*   R¼   R‡   R“   R=   Ro   (    (   R×   s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_on_decode_error_callbackC  s     c         C@ sT   |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } | j ƒ  |  j d | ƒ d  S(   Nu   qname1u   rkeyu   basic_recover(   R   R*   R   R   R   t   recoverR3   (   R   R*   R¼   R“   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test_recoverT  s
    
c         C@ s    |  j  j ƒ  } t d |  j d ƒ } t | | g ƒ } |  j  j ƒ  } | j | ƒ |  j | j | ƒ |  j | j d j | ƒ |  j | j d j j | ƒ d  S(   Nu   qname1u   rkeyi    (   R   R*   R   R   R   R^   R_   RŒ   (   R   R*   R¼   R“   t   channel2(    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRt   [  s    c         C@ sG   |  j  j ƒ  } t d |  j d ƒ } |  j t t | | g ƒ ƒ ƒ d  S(   Nu   qname1u   rkey(   R   R*   R   R   R   R   R   (   R   R*   R¼   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   test__repr__e  s    c         C@ s/   |  j  j ƒ  } t ƒ  | _ |  j | j  ƒ d  S(   N(   R   R   Rg   R*   Ri   (   R   R   (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRj   j  s    (&   Rw   Rx   R   R€   R„   R‹   R”   R–   R—   Rš   R   RŸ   R¡   R¤   R©   R¬   R4   R²   R7   R³   R¶   R¸   Rº   RÀ   RÂ   RÉ   RÊ   RÌ   RÍ   RÏ   RÐ   RÒ   RÕ   RÙ   RÛ   Rt   RÝ   Rj   (    (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyRy   Û   sH   																	
							
													
	(   t
   __future__R    R   R;   R   t   collectionsR   t   kombuR   R   R   R   R   t   kombu.exceptionsR   t   kombu.utilsR	   t   caseR
   R   R   t   mocksR   R   Ry   (    (    (    s<   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_messaging.pyt   <module>   s   (Ë