๓
O'^c           @@ sQ  d  d l  m Z d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m	 Z	 d  d l
 m Z d  d l m Z d  d	 l m Z m Z m Z m Z m Z m Z m Z e j d, k rไ d  d l m Z m Z n 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 e f d     YZ d e f d     YZ  d e f d     YZ! d e f d     YZ" d   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( e f d)     YZ) d* e f d+     YZ* d S(-   i    (   t   absolute_import(   t   unicode_literalsN(   t   wraps(   t   version_info_t(   t   utils(   t   version_string_as_tuple(   t   string_t(   t   Caset   Mockt   patcht   redirect_stdoutst   mask_modulest   module_existst   skip_if_modulei   (   t   StringIOt   BytesIO(   R   R   t	   OldStringc           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ s   | |  _  d  S(   N(   t   value(   t   selfR   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   __init__   s    c         C@ s   |  j  S(   N(   R   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   __str__   s    c         O@ s   |  j  j | |   S(   N(   R   t   split(   R   t   argst   kwargs(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   !   s    c         O@ s   |  j  j | |   S(   N(   R   t   rsplit(   R   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   $   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR      s   			t   test_kombu_modulec           B@ s   e  Z d    Z RS(   c         C@ s#   d d  l  } |  j t |   d  S(   Ni    (   t   kombut
   assertTruet   dir(   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_dir*   s    (   R   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   (   s   t
   test_utilsc           B@ s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@ sd   |  j  t j d   g   |  j  t j d  d g  |  j  t j d d d g  d d d g  d  S(   Ni   i   i   (   t   assertEqualR   t
   maybe_listt   None(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_maybe_list1   s    c         C@ s2   |  j  t t j d d d   d d d g  d  S(   Ng      ๐?g      @g       @(   R!   t   listR   t   fxrange(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_fxrange_no_repeatlast6   s    c         C@ s   |  j  t t j d d d d   d d d d d d d d d d d g  |  j  t t j d d  d d   d d d d d d d g  d  S(	   Ng      ๐?g      @g      >@g       @g      @g      @g      @g      @(   R!   R%   R   t
   fxrangemaxR#   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_fxrangemax:   s
    !!c         C@ s/   |  j  t j i d d 6d d 6d d 6  d  S(   Nu   baru   fooi   i   u   vu   k(   R   R   t
   reprkwargs(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_reprkwargsA   s    c         C@ s'   |  j  t j d d i t d 6  d  S(   Nu   addi   u   copy(   i   i   (   R   R   t   reprcallt   True(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_reprcallD   s    (   R   R   R$   R'   R)   R+   R.   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR    /   s
   				t	   test_UUIDc           B@ s/   e  Z d    Z d   Z e d  d    Z RS(   c         C@ s    |  j  t j   t j    d  S(   N(   t   assertNotEqualR   t   uuid4(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt
   test_uuid4L   s    c         C@ s<   t  j   } t  j   } |  j | t  |  j | |  d  S(   N(   R   t   uuidt   assertIsInstancet   strR0   (   R   t   i1t   i2(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt	   test_uuidP   s    u   __pypy__c         @ sM   t  j j d  } t d    f d    } z |   Wd  | t  j d <Xd  S(   Nu   kombu.utilsu   ctypesc          @ sM   d d l  m }  m }   j |   |   }   j |    j | t  d  S(   Ni    (   t   ctypesR3   (   t   kombu.utilsR9   R3   t   assertIsNoneR   R4   R   (   R9   R3   t   tid(   R   (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   with_ctypes_maskedZ   s
    	u   celery.utils(   t   syst   modulest   popR   (   R   t	   old_utilsR=   (    (   R   s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_uuid_without_ctypesV   s
    	(   R   R   R2   R8   R   RB   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR/   J   s   		t	   test_Miscc           B@ s   e  Z d    Z RS(   c         C@ s=   d   } i d d 6d d 6} |  j  | t j |     d  S(   Nc          [@ s   |  S(   N(    (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   fm   s    u   foou   bar(   R   R   t   kwdict(   R   RD   t   kw(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_kwdictk   s    	

(   R   R   RG   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRC   i   s   t
   MyStringIOc           B@ s   e  Z d    Z RS(   c         C@ s   d  S(   N(    (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   closew   s    (   R   R   RI   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRH   u   s   t	   MyBytesIOc           B@ s   e  Z d    Z RS(   c         C@ s   d  S(   N(    (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRI   }   s    (   R   R   RI   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRJ   {   s   t   test_emergency_dump_statec           B@ s&   e  Z e d     Z e d    Z RS(   c         @ s|   t      t j i d d 6d   f d   |  j t j   j    i d d 6 |  j | j    |  j | j    d  S(   Nu   baru   foot	   open_filec         @ s     S(   N(    (   t   nt   m(   t   fh(    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   <lambda>   t    (	   RJ   R   t   emergency_dump_statet   assertDictEqualt   picklet   loadst   getvalueR   t   assertFalse(   R   t   stdoutt   stderr(    (   RO   s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt	   test_dump   s
    	#&c         @ s   t      d   } t j i d d 6d   f d   d | |  j d   j    |  j d   j    |  j | j    |  j | j    d  S(   Nc          _@ s   t  d   d  S(   Nu   foo(   t   KeyError(   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   raise_something   s    u   baru   fooRL   c         @ s     S(   N(    (   RM   RN   (   RO   (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRP      RQ   t   dump(   RH   R   RR   t   assertInRV   R   RW   (   R   RX   RY   R\   (    (   RO   s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_dump_second_strategy   s    		(   R   R   R
   RZ   R_   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRK      s   	c         @ s   t       f d    } | S(   Nc          @ s=   d   } t  j } | t  _ z   |  |   SWd  | t  _ Xd  S(   Nc         S@ s   d  S(   N(    (   t   i(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   mysleepก   s    (   R   t   sleep(   R   R   Ra   t
   prev_sleep(   t   fun(    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   _inner   s    			(   R   (   Rd   Re   (    (   Rd   s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   insomnia   s    t   test_retry_over_timec           B@ sf   e  Z d    Z d e f d     YZ d   Z d   Z e d    Z e d    Z	 e d    Z
 RS(   c         C@ s   d |  _  d  S(   Ni    (   t   index(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   setUpฐ   s    t	   Predicatec           B@ s   e  Z RS(    (   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRj   ณ   s   c         C@ s"   |  j  d k  r |  j    n  d S(   Ni	   i*   (   Rh   Rj   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   myfunถ   s    c      
   C@ s<   t  |  } d
 } |  j d	 7_ |  j | | |  j  | S(   Ng       @g      @g      @g       @g      $@g      (@g      ,@g      0@i   (
   Ng       @g      @g      @g       @g      $@g      (@g      ,@g      0@g      0@(   t   nextR#   Rh   R!   (   R   t   exct	   intervalst   retriest   intervalt	   sleepvals(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   errbackป   s
    c      	   C@ s๏   t  j t   } t  _ zศ t t d   t  j _ t  j |  j |  j d d  d d } |  j
 |  t t d   t  j _ t   } t  j |  j |  j d |  j d | d d } |  j | d  |  j |  j d  | j   Wd  | t  _ Xd  S(	   Ni   Rr   t   interval_maxi   i
   t   callbacki*   i	   (   R   t   countR   R%   t   ranget   return_valuet   retry_over_timeRk   Rj   R#   R;   Rr   R!   Rh   t   assert_called_with(   R   t
   prev_countt   xt   cb(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_simpleย   s    		c         C@ s   |  j  |  j  0 t j |  j |  j d d d |  j d d Wd  QX|  j |  j d  |  j  |  j  - t j |  j |  j d d d d  d d Wd  QXd  S(   Nt   max_retriesi   Rr   Rs   i   (	   t   assertRaisesRj   R   Rx   Rk   Rr   R!   Rh   R#   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_retry_onceี   s    c      
   @ sv   |  j    d t f   f d     Y} |   } |  j t j | |  j  d d d d  d d d  |  j | j d	  d  S(
   Nt   Func           @ s    e  Z d    Z   f d   Z RS(   c         S@ s   d |  _  d  S(   Ni    (   t   calls(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   ๊   s    c         @ s7   z  |  j  d k r d S     Wd  |  j  d 7_  Xd  S(   Ni
   i*   i   (   R   (   R   R   R   (   Rj   (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   __call__ํ   s
    (   R   R   R   R   (    (   Rj   (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   ่   s   	R~   i    Rr   Rs   i   i*   i   (   Rj   t   objectR!   R   Rx   R#   R   (   R   R   Rd   (    (   Rj   s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_retry_alwaysไ   s    		(   R   R   Ri   t	   ExceptionRj   Rk   Rr   Rf   R}   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRg   ฎ   s   			t   test_cached_propertyc           B@ s   e  Z d    Z d   Z RS(   c         C@ s_   d t  f d     Y} |   } | ` |  j | j  d | j d <| ` |  j | j d  d  S(   Nt   Xc           B@ s2   e  Z e Z e j d     Z e j d    Z RS(   c         S@ s   d S(   Ni*   (    (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   foo  s    c         S@ s   | |  _  d  S(   N(   t   xx(   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR     s    (   R   R   t   FalseR   R   t   cached_propertyR   t   deleter(    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR     s   u   hereu   foo(   R   R   RW   R   t   __dict__R!   (   R   R   R{   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_deleting  s    	c         C@ sษ   d t  f d     Y} | j d } |  j | j |  |  j | j d   |  |  j | j d  d  |  |  j | j d   |  |  j | j	 d   |   } d | _ |  j
 | j d  | ` d  S(   NR   c           B@ s2   e  Z d Z e j d     Z e j d    Z RS(   c         S@ s   d S(   Ni*   (    (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR     s    c         S@ s   d |  _  d  S(   Ni
   (   R   (   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR     s    N(   R   R   R#   R   R   R   R   t   setter(    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR     s   u   fooi   i   i
   (   R   R   t   assertIsR   t   __get__R#   t   __set__t
   __delete__R   R   R!   R   (   R   R   t   descR{   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_when_access_from_class  s    		(   R   R   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR      s   	t   test_symbol_by_namec           B@ s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@ s&   t    } |  j t j |  |  d  S(   N(   R   R   R   t   symbol_by_name(   R   t   instance(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_instance_returns_instance4  s    	c         C@ s,   t    } |  j t j d d | |  d  S(   Nu   xyz.ryx.qedoa.weq:fozt   default(   R   R   R   R   (   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_returns_default8  s    	c         C@ s'   |  j  t   t j d  Wd  QXd  S(   Nu   xyz.ryx.qedoa.weq:foz(   R   t   ImportErrorR   R   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_no_default?  s    c         C@ sB   t    } t   | _ |  j t   t j d d | Wd  QXd  S(   Nu   kombu.Connectiont   imp(   R   t
   ValueErrort   side_effectR   R   R   (   R   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_imp_reraises_ValueErrorC  s    	c         C@ sO   d d l  m } |  j t j d d d |  |  j t j d d d  d  S(   Ni    (   t   Exchangeu   .entity:Exchanget   packageu   kombuu	   :Consumer(   t   kombu.entityRฃ   R   R   R   R   (   R   Rฃ   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_packageI  s
    (   R   R   R   R   R   Rข   Rฆ   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyR   2  s
   				t   test_ChannelPromisec           B@ s   e  Z d    Z RS(   c         C@ sB   t  d d  } |  j d t t j |    |  j | j  d  S(   Nt   nameu   cbu   promise(   R   R^   t   reprR   t   ChannelPromiseRW   t   called(   R   t   obj(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt	   test_reprT  s
    (   R   R   Rญ   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRง   R  s   t   test_entrypointsc           B@ s2   e  Z e d   d    Z e d   d    Z RS(   u   pkg_resourcesc         C@ s#   |  j  t t j d   g   d  S(   Nu
   kombu.test(   t   assertListEqualR%   R   t   entrypoints(   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_without_pkg_resources_  s    c         C@ s   t  d d t k } t   t   g } | _ |  j t t j d    | j d  | d j	 j   | d j	 j   Wd  QXd  S(   Nu   pkg_resources.iter_entry_pointst   createu
   kombu.testi    i   (
   R	   R-   R   Rw   R   R%   R   Rฐ   Ry   t   load(   R   t   iterept   eps(    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_with_pkg_resourcesc  s    (   R   R   R   Rฑ   R   Rถ   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRฎ   ]  s   t   test_shufflecyclec           B@ s   e  Z d    Z RS(   c         C@ sแ   t  j t   } t  _ zบ t t d   t  j _ t d d d g  } t  j |  } t   } x t d  D] } t |  qk Wt  j j	 d   |  j | j |   |  j t   t |  t |  Wd  QXWd  | t  _ Xd  S(   Ni
   u   Au   Bu   C(   R   t   repeatR   R%   Rv   Rw   t   sett   shufflecycleRl   Ry   R#   R   t   issubsetR   t   StopIteration(   R   t   prev_repeatt   valuest   cyclet   seenR`   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_shufflesp  s    	
(   R   R   Rม   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRท   n  s   t   test_version_string_as_tuplec           B@ s   e  Z d    Z RS(   c         C@ s๔   |  j  t d  t d d d d d   |  j  t d  t d d d d d   |  j  t d  t d d d d d   |  j  t d  t d d d d	 d   |  j  t d
  t d d d d	 d   |  j t d  t d d d d	 d   d  S(   Nu   3i   i    u    u   3.3u   3.3.1i   u   3.3.1a3u   a3u   3.3.1a3-40c32u   40c32u   3.3.1.a3.40c32(   t   assertTupleEqualR   R   R!   (   R   (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   test_versions  s$    						(   R   R   Rฤ   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyRย     s   (   i   i    (+   t
   __future__R    R   RT   R>   t	   functoolsR   R   R   R   t   kombu.utils.textR   t
   kombu.fiveR   t   kombu.tests.caseR   R   R	   R
   R   R   R   t   version_infot   ioR   R   R   R   R   R    R/   RC   RH   RJ   RK   Rf   Rg   R   R   Rง   Rฎ   Rท   Rย   (    (    (    s>   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_utils.pyt   <module>   s8   4	R2 