σ
O'^c           @@  sn   d  d l  m Z d  d l Z d  d l m Z m Z m Z m Z m Z d  d l	 m
 Z
 d e
 f d     YZ d S(   i    (   t   absolute_importN(   t
   Connectiont   Exchanget   Queuet   Consumert   Producer(   t   Caset   test_MemoryTransportc           B@  sP   e  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 d d |  j d d |  _ t d d |  j d d |  _ t d d d	 |  _ t d
 d |  j |  _ t d d |  j |  _	 d  S(   Nt	   transportt   memoryt   test_transport_memoryt   exchanget   routing_keyt   test_transport_memory2t   test_transport_memory_fanoutt   typet   fanoutt   test_transport_memory_fanout1t   test_transport_memory_fanout2(
   R   t   cR   t   eR   t   qt   q2R   t   q3t   q4(   t   self(    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   setUp   s    						c         C@  s   |  j  |  j j j    d  S(   N(   t
   assertTrueR   R   t   driver_version(   R   (    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_driver_version   s    c         @  sΪ   |  j  j   } t | |  j  } t | |  j d t } x. t d  D]  } | j i | d 6d d qF Wg      f d   } | j	 |  | j
   x' t    d k r― Pn  |  j  j   q W|  j t    d  d  S(   Nt   no_acki
   t   fooR   R
   c         @  s     j  |  d  S(   N(   t   append(   t   message_datat   message(   t	   _received(    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   callback(   s    (   R   t   channelR   R   R   R   t   Truet   ranget   publisht   register_callbackt   consumet   lent   drain_eventst   assertEqual(   R   R%   t   producert   consumert   iR$   (    (   R#   sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_produce_consume_noack   s    
c         C@  sν   |  j  j   } |  j  j |  j |  j g  } | j i d d 6d | j d |  j |  j |  j |  j   j	   j
 i d d 6 |  j |  j |  j   j	   j
 i d d 6 |  j |  j |  j   j	    |  j |  j |  j   j	    d  S(   Nt   worldt   hellot   declareR   (   R   R   R   R   R   R(   t   queuesR   R-   t   gett   payloadt   assertIsNone(   R   R.   R/   (    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_produce_consume_fanout5   s    	
,,c   	      @  sΔ  |  j  j   } t | |  j  } t | |  j  } t | |  j  } |  j |  j   x. t d  D]  } | j	 i | d 6d d qe Wx. t d  D]  } | j	 i | d 6d d q Wg    g     f d   }  f d   } | j
 |  | j
 |  | j   | j   x1 t    t   d k r5Pn  |  j  j   qW|  j t    t   d  | j	 i t d	 6d d d
 d |  j |  j   } |  j | j i t d	 6 x. t d  D]  } | j	 i | d 6d d qΒW|  j |  j |  j    |  j |  j   |  j |  j   |  j |  j |  j    x. t d  D]  } | j	 i | d 6d d qQW|  j |  j |  j    |  j |  j   |  j |  j |  j    d  S(   Ni
   R   R   R
   R   c         @  s     j  |  | j   d  S(   N(   R    t   ack(   R!   R"   (   t
   _received1(    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt	   callback1S   s    c         @  s     j  |  | j   d  S(   N(   R    R:   (   R!   R"   (   t
   _received2(    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt	   callback2W   s    i   t
   compressedt   compressiont   zlib(   R   R%   R   R   R   R   R   R4   R'   R(   R)   R*   R+   R,   R-   R&   R6   t   assertDictEqualR7   R   t   deleteR8   t   purge(	   R   R%   R.   t	   consumer1t	   consumer2R0   R<   R>   t   m(    (   R;   R=   sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_produce_consumeD   sL    

 c         C@  s   |  j  t j   |  j j d d  Wd  QX|  j j   } |  j j   } |  j  t j   |  j j d d  Wd  QX~ ~ d  S(   Nt   timeoutgΉ?(   t   assertRaisest   socketRI   R   R,   R%   (   R   t   c1t   c2(    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_drain_events~   s    c         @  sd   |  j  j     d t f   f d     Y} |   |  j  j _ |  j t   |  j  j   Wd  QXd  S(   Nt   Cyclec           @  s   e  Z d   f d   Z RS(   c         @  s
   d   f S(   NR   (   R   R   (    (   R   RI   (   RL   (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyR6      s    N(   t   __name__t
   __module__t   NoneR6   (    (   RL   (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyRO      s   (   R   R%   t   objectR   t   cycleRJ   t   KeyErrorR,   (   R   RO   (    (   RL   sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt$   test_drain_events_unregistered_queue   s
    c         C@  sU   |  j  j   } | j j   | j d  } |  j |  |  j | j d  |  d  S(   NR   (   R   R%   R5   t   cleart
   _queue_forR   t   assertIs(   R   t   chant   x(    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   test_queue_for   s
    (
   RP   RQ   R   R   R1   R9   RH   RN   RV   R\   (    (    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyR   
   s   					:		(   t
   __future__R    RK   t   kombuR   R   R   R   R   t   kombu.tests.caseR   R   (    (    (    sC   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_memory.pyt   <module>   s   (