σ
O'^c           @@  sΚ   d  d l  m Z d  d l m Z m Z m Z d  d l m Z d d l m Z m	 Z	 m
 Z
 d d l m Z m Z d e f d     YZ d	 e f d
     YZ d e f d     YZ d e f d     YZ d S(   i    (   t   absolute_import(   t
   Connectiont   Exchanget   Queue(   t   compati   (   t   Caset   Mockt   patch(   t	   Transportt   Channelt	   test_miscc           B@  s   e  Z d    Z d   Z RS(   c         C@  sΖ   d t  f d     Y} d t  f d     Y} |   } |   } t j | |  } |  j t |  d  |  j | j  t j | | d d } |  j t |  d d	 d
 d d d d d d d g
  d  S(   Nt   MyConnectionc           B@  s   e  Z d  Z d   Z RS(   i    c         _@  s   |  j  d 7_  |  j  S(   Ni   (   t   drained(   t   selft   argst   kwargs(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   drain_events   s    (   t   __name__t
   __module__R   R   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR      s   t   Consumerc           B@  s   e  Z e Z d    Z RS(   c         _@  s   t  |  _ d  S(   N(   t   Truet   active(   R   R   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   consume   s    (   R   R   t   FalseR   R   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR      s   i   t   limiti
   i   i   i   i   i   i   i   i	   i   (   t   objectR   t   _iterconsumet   assertEqualt   nextt
   assertTrueR   t   list(   R   R   R   t   connt   consumert   itt   it2(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   test_iterconsume   s    		c         C@  s  i d d 6d d 6d d 6t  d 6t d 6} t j d	 t |   } |  j | j d	  |  j | j d  |  j | j j d  |  j | j j	 d  |  j
 | j  |  j
 | j j  |  j | j  |  j | j j  t j d	 t | d
 t  } |  j
 | j  |  j | j j  t j d	 t | d t   } |  j | j  |  j
 | j j  t j d	 t | d t  } |  j | j  |  j
 | j j  t j d	 t | d t   } |  j
 | j  |  j | j j  |  j t j d	 t |   t j d	 t |    d  S(   Ns   foo.#t   binding_keyt   fooext   exchanget   topict   exchange_typet   durablet   auto_deletet   foot   exchange_durablet   exchange_auto_deletet   queue_durablet   queue_auto_delete(   R   R   R   t	   from_dictt   dictR   t   namet   routing_keyR&   t   typeR   R)   t   assertFalseR*   (   R   t   defst   q1t   q2t   q3t   q4t   q5(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   test_Queue_from_dict$   s@    

(   R   R   R#   R<   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR
   
   s   	t   test_Publisherc           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  s   t  d t  |  _ d  S(   Nt	   transport(   R   R   t
   connection(   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   setUpO   s    c      
   C@  s6  t  j |  j d d d d } |  j | j t  |  j | j j d  |  j	 | j j
  |  j | j j  |  j | j j d  t  j |  j d d d d d t d t } |  j	 | j j  |  j | j j
  t d	 d
 d } t  j |  j d | } |  j | j |  t  j |  j d d d |  j j d  S(   NR&   t   test_Publisher_constructorR3   t   rkeyt   directt   test_Publisher_constructor2R*   R)   t#   test_Publisher_constructor_explicitR4   R'   t   test_Publisher_constructor3t   channel(   R   t	   PublisherR?   t   assertIsInstancet   backendR	   R   R&   R2   R   R)   R5   R*   R4   R   R   R   t   default_channel(   R   t   pubt   pub2t   explicitt   pub3(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   test_constructorR   s.    					c         C@  sS   t  j |  j d d d d } | j i d d 6 |  j d | j  | j   d  S(   NR&   t   test_Publisher_sendR3   RB   t   barR+   t   basic_publish(   R   RH   R?   t   sendt   assertInRJ   t   close(   R   RL   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt	   test_sendn   s    	c         C@  sX   t  j |  j d d d d } | j   } |  j | |  | j   |  j | j  d  S(   NR&   RQ   R3   RB   (   R   RH   R?   t	   __enter__t   assertIst   __exit__R   t   _closed(   R   RL   t   x(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   test__enter__exit__v   s    	
(   R   R   R@   RP   RW   R]   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR=   M   s   			t   test_Consumerc           B@  sΉ   e  Z d    Z e d  d d   Z d d  Z d d  Z d d	  Z d
 d  Z d d  Z	 d d  Z
 d d  Z d d  Z d d  Z d d  Z d d  Z d d  Z RS(   c         C@  s   t  d t  |  _ d  S(   NR>   (   R   R   R?   (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR@      s    s   kombu.compat._iterconsumeR#   c         C@  sQ   t  j |  j d | d | } | j d d d t  | j | j | t d  d  S(   Nt   queueR&   R   i
   t   no_ack(   R   R   R?   t   iterconsumeR   t   assert_called_with(   R   R!   t   nt   c(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt#   test_iterconsume_calls__iterconsume   s    t   test_Consumer_constructorc         C@  sH  t  j |  j d | d | d d } |  j | j t  | j d } |  j | j  |  j | j	 j  |  j
 | j  |  j
 | j	 j  |  j | j |  |  j | j	 j |  t  j |  j d | d d | d d d d t d t d	 t } | j d } |  j
 | j  |  j
 | j	 j  |  j | j  |  j | j	 j  d  S(
   NR_   R&   R3   RB   i    t   2R)   R*   t	   exclusive(   R   R   R?   RI   RJ   R	   t   queuesR   R)   R&   R5   R*   R   R2   R   R   (   R   Rc   Rd   t   qt   c2R8   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRP      s&    	
R]   c         C@  s^   t  j |  j d | d | d d } | j   } |  j | |  | j   |  j | j  d  S(   NR_   R&   R3   RB   (   R   R   R?   RX   RY   RZ   R   R[   (   R   Rc   Rd   R\   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR]   ‘   s    	
t   test_revivec         C@  sZ   t  j |  j d | d | } |  j j   ' } | j |  |  j | j |  Wd  QXd  S(   NR_   R&   (   R   R   R?   RG   t   reviveRY   RJ   (   R   Rc   Rd   Rk   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRl   ©   s    t   test__iter__c         C@  sK   t  j |  j d | d | } t   | _ | j   | j j d t  d  S(   NR_   R&   t   infinite(   R   R   R?   R   t	   iterqueuet   __iter__Rb   R   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRn   °   s    
t   test_iterqueuec         C@  s2   t  j |  j d | d | d d } | j   d  S(   NR_   R&   R3   RB   (   R   R   R?   RV   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt	   test_iter·   s    	t   test_process_nextc         C@  sR   t  j |  j d | d | d d } |  j t   | j   Wd  QX| j   d  S(   NR_   R&   R3   RB   (   R   R   R?   t   assertRaisest   NotImplementedErrort   process_nextRV   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRt   Ό   s
    	c         C@  s2   t  j |  j d | d | d d } | j   d  S(   NR_   R&   R3   RB   (   R   R   R?   RV   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR#   Γ   s    	t   test_discard_allc         C@  sE   t  j |  j d | d | d d } | j   |  j d | j  d  S(   NR_   R&   R3   RB   t   queue_purge(   R   R   R?   t   discard_allRU   RJ   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRx   Θ   s    	
t
   test_fetchc         @  s  t  j |  j d | d | d d } |  j | j    |  j | j d t   |  j d | j  t g     f d   } | j j	 j
 d  | j   j } |  j | d  | j j	 j
 d	  | j |  |  j | j d
 t  j d	  |  j   d  d  S(   NR_   R&   R3   RB   R`   t	   basic_getc         @  s   t    d <d  S(   Ni    (   R   (   t   payloadt   message(   t   callback_called(    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   receiveΧ   s    t   42t   46t   enable_callbacksi    (   R   R   R?   t   assertIsNonet   fetchR   RU   RJ   R   t
   to_delivert   appendR}   R   t   register_callbackR   (   R   Rc   Rd   R   R}   (    (   R   s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR{   Ξ   s    		t   xjf21j21c         C@  s[   t  j |  j d | d | d d } |  j t   | j d d    Wd  QX| j   d  S(   NR_   R&   R3   RB   t
   filterfuncc         S@  s   |  S(   N(    (   R\   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   <lambda>ζ   t    (   R   R   R?   Ru   Rv   Rz   RV   (   R   Rc   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt)   test_discard_all_filterfunc_not_supportedβ   s
    	t	   test_waitc         C@  sm   d t  j f d     Y} | |  j d | d | d d } |  j | j d  t t d    | j   d  S(   Nt   Cc           B@  s   e  Z d d   Z RS(   c         s@  s    x t  |  D] } | Vq Wd  S(   N(   t   range(   R   R   t   i(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRa   ν   s    N(   R   R   t   NoneRa   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR   λ   s   R_   R&   R3   RB   i
   (   R   R   R?   R   t   waitR   R   RV   (   R   Rc   R   Rd   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR   ι   s
    %c         @  s   d g   d t  j f   f d     Y} | |  j d | d | d d } |  j t | j d d	   t t d	    | j   d  S(
   Ni    R   c           @  s   e  Z d   f d   Z RS(   c         @  s     d }   d c d 7<| S(   Ni    i   (    (   R   R   t   z(   R   (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR   ϋ   s    
N(   R   R   R   R   (    (   R   (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR   ω   s   R_   R&   R3   RB   R   i
   (   R   R   R?   R   R   Rp   R   RV   (   R   Rc   R   Rd   (    (   R   s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRr   φ   s    	.(   R   R   R@   R   Re   RP   R]   Rl   Rn   Rs   Rt   R#   Rx   R{   R   R   Rr   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR^      s   		t   test_ConsumerSetc           B@  sJ   e  Z d    Z d   Z e d  d d   Z d d  Z d d  Z RS(	   c         C@  s   t  d t  |  _ d  S(   NR>   (   R   R   R?   (   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR@     s    c         C@  s}   t  d d  } t j |  j d | } |  j | j  |  j | j |  t  d d  | _ | j	   |  j
 | j	 j  d  S(   NR2   RG   t   cancel(   R   R   t   ConsumerSetR?   R   t   _provided_channelRY   RJ   R   RV   R5   t   called(   R   t   chant   cs(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   test_providing_channel  s    
s   kombu.compat._iterconsumeR#   c         C@  sl   t  j |  j d | d | } t  j |  j d | g } | j d d d t  | j | j | t d  d  S(   NR_   R&   t	   consumersR   i
   R`   (   R   R   R?   R   Ra   R   Rb   (   R   R   Rc   Rd   R   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR#     s    Rl   c         C@  su   t  j |  j d | d | } t  j |  j d | g } |  j j   ' } | j |  |  j | j |  Wd  QXd  S(   NR_   R&   R   (   R   R   R?   R   RG   Rm   RY   RJ   (   R   Rc   Rd   R   Rk   (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRl     s
    t   0daf8h21c   	   
   C@  sN  i i d | d 6d d 6d | 6i d | d 6d d 6d | 6} g  t  d  D]8 } t j |  j d | t |  d | t |  ^ qM } t j |  j d	 | } t j |  j d
 | } |  j t | j  d  |  j t | j  d  | j	 t j |  j d | d d | d  |  j t | j  d  x' | j D] } |  j
 | j | j  q=W| j i i d | d 6d d 6d | 6 |  j t | j  d  x' | j D] } |  j
 | j | j  qͺW| j   |  j | j j j d  d  | j   | j   | j   |  j d | j  |  j d | j  |  j d | j  d  S(   Ns   %s.xyxR&   t   xyxR3   s   %s.xyzt   xyzi   R_   R   R0   i   t   xaxxxai   s   %s.xxxt   xxxRy   t   basic_cancelRV   (   R   R   R   R?   t   strR   R   t   lenRi   t   add_consumerRY   RG   t   add_consumer_from_dictRz   R   t   countR   RV   RU   (	   R   t   prefixt   dconR   R   Rd   Rk   t   cqt   c2q(    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyRP   $  s>    H
	



(   R   R   R@   R   R   R#   Rl   RP   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyR     s   		
	N(   t
   __future__R    t   kombuR   R   R   R   t   caseR   R   R   t   mocksR   R	   R
   R=   R^   R   (    (    (    s9   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/test_compat.pyt   <module>   s   C3