σ
O'^c           @@  sΘ   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l	 m
 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 S(   i    (   t   absolute_import(   t
   Connection(   t   exchange(   t   Caset   Mock(   t	   Transportt   ExchangeCasec           B@  s   e  Z d Z d    Z RS(   c         C@  s1   |  j  r- |  j  t d t  j    |  _ n  d  S(   Nt	   transport(   t   typeR   R   t   channelt   e(   t   self(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   setUp   s    	N(   t   __name__t
   __module__t   NoneR   R   (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR   
   s   t   test_Directc           B@  s,   e  Z e j Z d	 d
 d d g Z d   Z RS(   t   rFoot   qFoot   qFoxt   rBart   qBart   rBazt   qBazc         C@  s   |  j  |  j j |  j d d d   d d g  |  j  |  j j |  j d d d  g   |  j  |  j j |  j d d	 d   d
 g  d  S(   Nt   eFooR   R   R   t   eMozt   rMozt   DEFAULTt   eBarR   R   (   t   assertListEqualR
   t   lookupt   tableR   (   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   test_lookup   s    N(   R   NR   (   R   NR   (   R   NR   (   R   NR   (   R   R   R   t   DirectExchangeR   R   R   R    (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR      s   		t   test_Fanoutc           B@  s;   e  Z e j Z d d d	 g Z d   Z d   Z d   Z	 RS(
   R   R   R   c         C@  s5   |  j  |  j j |  j d d d   d d d g  d  S(   NR   R   R   R   R   (   R   R
   R   R   R   (   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR    .   s    c         C@  s]   t    |  j _ t |  j j _ t    } |  j j | d d  |  j j j j d | d  d  S(   NR   t   rkey(   R   R
   R	   t   Truet   supports_fanoutt   delivert   _put_fanoutt   assert_called_with(   R   t   message(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt"   test_deliver_when_fanout_supported4   s    	c         C@  sT   t    |  j _ t |  j j _ |  j j t    d d   |  j |  j j j j	  d  S(   NR   (
   R   R
   R	   t   FalseR%   R&   R   t   assertFalseR'   t   called(   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt$   test_deliver_when_fanout_unsupported>   s    N(   NNR   (   NNR   (   NNR   (
   R   R   R   t   FanoutExchangeR   R   R   R    R*   R.   (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR"   (   s   				
t
   test_Topicc           B@  sA   e  Z e j Z d	 d
 g Z d   Z d   Z d   Z	 d   Z
 RS(   s   stock.#R   s
   stock.us.*R   c         C@  sT   t  t |   j   g  |  j D]* \ } } } | |  j j |  | f ^ q |  _ d  S(   N(   t   superR0   R   R   R
   t   key_to_pattern(   R   R#   t   _t   queue(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR   M   s    c         C@  s/   |  j  j d d d i   } |  j | d  d  S(   NR   R   s   stock.#s   ^stock\..*?$(   s   stock.#s   ^stock\..*?$R   (   R
   t   prepare_bindt   assertTupleEqual(   R   t   x(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   test_prepare_bindR   s    c         C@  sΐ   |  j  |  j j |  j d d d   d d g  |  j |  j j  |  j  |  j j |  j d d d   d g  |  j  |  j j |  j d d d   g   |  j  |  j j |  j d d d   g   d  S(   NR   s   stock.us.nasdaqR   R   s   stock.europe.OSEt   stockxeuropexOSEs    candy.schleckpulver.snap_crackle(   R   R
   R   R   R   t
   assertTruet	   _compiled(   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR    V   s    
	c         C@  s   t    |  j _ d |  j j j _ t    } |  j j | d d  d | f i  f d | f i  f g } |  j |  j j j j |  d  S(   Nt   at   bR   R#   (   R<   R=   (	   R   R
   R	   t   _lookupt   return_valueR&   R   t   _putt   call_args_list(   R   R)   t   expected(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   test_deliverj   s    	N(   s   stock.#NR   (   s
   stock.us.*NR   (   R   R   R   t   TopicExchangeR   R   R   R   R8   R    RC   (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR0   F   s   					t   test_ExchangeTypec           B@  s,   e  Z e j Z d    Z d   Z d   Z RS(   c      	   C@  s3   |  j  t   |  j j g  d d d   Wd  QXd  S(   NR   R   (   t   assertRaisest   NotImplementedErrorR
   R   R   (   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR    x   s    c         C@  s)   |  j  |  j j d d d i   d  d  S(   NR   R   R   (   R   NR   (   R6   R
   R5   R   (   R   (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyR8   |   s    c      
   C@  sk  t  d d d t d t d i   } |  j |  j j | d d t t i    |  j |  j j | d d t t i    |  j |  j j | d d t t i    |  j |  j j | d d t t i    |  j |  j j | d d t t i d d	 6  t  | d i d d	 6} |  j |  j j | d d t t i d d	 6  |  j |  j j | d d t t i d
 d	 6  d  S(   NR   t   directt   durablet   auto_deletet	   argumentsR   t   topiciΈ  t   expiresip  (   t   dictR$   R:   R
   t
   equivalentR,   R+   (   R   t   e1t   e2(    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   test_equivalent   s.    	""""(   R   R   R   t   ExchangeTypeR   R    R8   RR   (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyRE   u   s   			N(   t
   __future__R    t   kombuR   t   kombu.transport.virtualR   t   kombu.tests.caseR   R   t   kombu.tests.mocksR   R   R   R"   R0   RE   (    (    (    sM   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/virtual/test_exchange.pyt   <module>   s   /