๓
O'^c           @@  sศ   d  d l  m Z y d  d l Z Wn e k
 r9 d Z n Xd  d l m Z d  d l m Z m Z 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_importN(   t   librabbitmq(   t   Caset   Mockt   SkipTestt   patcht   lrmqCasec           B@  s   e  Z d    Z RS(   c         C@  s   t  d  k r t d   n  d  S(   Ns   librabbitmq is not installed(   R   t   NoneR   (   t   self(    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   setUp   s    (   t   __name__t
   __module__R	   (    (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyR      s   t   test_Messagec           B@  s   e  Z d    Z RS(   c         C@  sv   t  d d  } t j | i d d 6i d d 6d  } |  j | j d  |  j | j d  |  j | j d d  d  S(   Nt   namet   channeli*   t   propiQ  t   delivery_tagt   body(   R   R   t   Messaget   assertEqualR   R   t
   properties(   R   t   chant   message(    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt	   test_init   s     (   R
   R   R   (    (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyR      s   t   test_Channelc           B@  s   e  Z d    Z RS(   c   	      C@  s9  t  d d  } t j | d  } |  j |  d } i d d 6} | j | d | d d d	 d
 d d d i d d 6\ } } |  j | d d  |  j | d d  |  j | d	 d
  |  j | d d  |  j | d i d d 6 |  j | |  | j | d d \ } } |  j | d d  |  j | |  d  S(   NR   t
   connectioni   s   the quick brown fox...s	   Elaine M.R   t   priorityi็  t   content_typet   ctypet   content_encodingt   cenct   headersi   t   Hi	  (   R   R   t   Channelt
   assertTruet   prepare_messageR   (	   R   t   connR   R   R   t   body2t   props2t   body3t   props3(    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_prepare_message"   s(    (   R
   R   R)   (    (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyR       s   t   test_Transportc           B@  sk   e  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  t |   j   t d d  |  _ t j |  j  |  _ d  S(   NR   t   client(   t   superR*   R	   R   R+   R   t	   Transportt   T(   R   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyR	   @   s    c         C@  s   |  j  |  j j    d  S(   N(   R"   R.   t   driver_version(   R   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_driver_versionE   s    c         C@  s?   t  d d  } |  j j |  } |  j |  | j j   d  S(   NR   R   (   R   R.   t   create_channelR"   R   t   assert_called_with(   R   R$   R   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_create_channelH   s    c         C@  s<   t  d d  } |  j j | d d | j j d d  d  S(   NR   R   t   timeoutgHแzฎG๕?(   R   R.   t   drain_eventsR2   (   R   R$   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_drain_eventsN   s    c         C@  s3   t  |  j _ |  j t   |  j j   Wd  QXd  S(   N(   t   TrueR+   t   sslt   assertRaisest   NotImplementedErrorR.   t   establish_connection(   R   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt+   test_establish_connection_SSL_not_supportedS   s    c         C@  sญ   t  d d  |  j _ t |  j j _ d  |  j j _ i  |  j j _ |  j j	   } |  j
 |  j j j |  j j d  |  j
 | j |  j j  |  j
 |  j j j | j  d  S(   NR   t
   Connectiont   port(   R   R.   R=   t   FalseR+   R8   R   R>   t   transport_optionsR;   R   t   default_connection_paramsR5   (   R   R$   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_establish_connectionX   s    c         C@  sI   d |  j  j _ |  j  j d   |  j |  j j  |  j |  j  j  d  S(   Niา  (   R.   R+   R5   t   _collectR   t   assertIsNone(   R   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_collect__no_connf   s    c         C@  s  d |  j  j _ t d d  } i t d d  d 6t d d  d 6} | _ i t d d  d	 6t d d
  d 6| _ x, t | j j    D] \ } } | | _ q Wt	 d  * } |  j  j
 |  | j | j    Wd  QX|  j | j  |  j | j  x$ | j   D] } |  j | j  qW|  j |  j j  |  j |  j  j  t	 d  E } |  j |  j  _ t   | _ |  j  j
 |  | j | j    Wd  QXd  S(   Niา  R   R   t   chan1i   t   chan2i   t   cb1t   foot   cb2t   bars   os.close(   R.   R+   R5   R   t   channelst	   callbackst	   enumeratet   valuesR   R   RC   R2   t   filenot   assertFalseRD   t   OSErrort   side_effect(   R   R$   t   chanst   iR   t   close(    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_collect__with_connl   s(    -)"c         C@  sZ   t  d d  } t  d d  } |  j j | |  | j j | j   |  j j | |  d  S(   NR   R$   t   loop(   R   R.   t   register_with_event_loopt
   add_readerR2   RP   t   on_readable(   R   R$   RX   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_register_with_event_loop   s
    	c         C@  s5   t  d d  } t | _ |  j |  j j |   d  S(   NR   R   (   R   R7   t	   connectedR"   R.   t   verify_connection(   R   R$   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_verify_connection   s    	c         C@  sO   t  d d  } d |  j _ |  j j |  |  j |  j j  | j j   d  S(   NR   R   iา  (   R   R+   R5   R.   t   close_connectionRD   RV   R2   (   R   R$   (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   test_close_connection   s
    (   R
   R   R	   R0   R3   R6   R<   RB   RE   RW   R\   R_   Ra   (    (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyR*   >   s   										(   t
   __future__R    R   t   ImportErrorR   t   kombu.transportt   kombu.tests.caseR   R   R   R   R   R   R   R*   (    (    (    sH   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/transport/test_librabbitmq.pyt   <module>   s   
"