
P'^c           @@  s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z 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  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 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( m) Z) m* Z* m+ Z+ d  d l, m- Z- d  d l. m/ Z/ d Z0 d e1 f d     YZ2 e2   Z3 e4 d d d d  Z5 d e1 f d     YZ6 d e1 f d     YZ7 d   Z8 e8   Z9 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_importN(   t   deepcopy(   t   loadst   dumps(   t   promise(   t   Exchange(   t   shared_taskt   current_app(   t   app(   t   _state(   t   base(   t   defaults(   t   ImproperlyConfigured(   t   items(   t
   BaseLoader(   t   pyimplementation(   t   pickle(
   t   CELERY_TEST_CONFIGt   AppCaset   Mockt   depends_on_current_appt   mask_modulest   patcht   platform_pyimpt   sys_platformt   pypy_versiont   with_environ(   t   uuid(   t	   ErrorMails   this is a valuet   ObjectConfigc           B@  s   e  Z d  Z d Z RS(   i   i   (   t   __name__t
   __module__t   FOOt   BAR(    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR   *   s   R    i
   R!   i   t   ObjectConfig2c           B@  s&   e  Z e Z e Z d  Z e Z e Z RS(   i[(	   R   R   t   Truet   LEAVE_FOR_WORKt   MOMENT_TO_STOPt   CALL_ME_BACKt   Falset
   WANT_ME_TOt   UNDERSTAND_ME(    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR"   2   s
   t   Objectc           B@  s   e  Z d    Z RS(   c         K@  s1   x* t  |  D] \ } } t |  | |  q Wd  S(   N(   R   t   setattr(   t   selft   kwargst   keyt   value(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   __init__<   s    (   R   R   R0   (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR*   :   s   c           C@  s
   t  t  S(   N(   R   R   (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   _get_test_configA   s    t   test_modulec           B@  s   e  Z d    Z d   Z RS(   c         C@  s   |  j  t j t j  d  S(   N(   t   assertEqualt   _appt   default_appR	   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_default_appH   s    c         C@  s    |  j  t j d |  j   d  S(   NR   (   t
   assertTrueR4   t	   bugreportR   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_bugreportK   s    (   R   R   R6   R9   (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR2   F   s   	t   test_Appc           B@  s  e  Z d    Z d   Z d   Z d   Z d   Z e d    Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z e d d  d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# d"   Z$ d#   Z% d$   Z& d%   Z' d&   Z( d'   Z) d(   Z* e d)    Z+ d*   Z, d+ d,  Z- e. d-  d.    Z/ d/   Z0 d0   Z1 d1   Z2 d2   Z3 d3   Z4 d4   Z5 d5   Z6 d6   Z7 d7   Z8 d8   Z9 RS(9   c         C@  s   |  j  j t  d  S(   N(   R   t   add_defaultst   test_config(   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   setupQ   s    c      	   C@  s   |  j  d d t 6 } | j d    } |  j t   |   Wd  QXWd  QX|  j  d d t 6 } | j d    } | j   |  j |   d  Wd  QXd  S(   Nt   xyzibarit   autofinalizec           S@  s   d S(   Ni*   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   ttafdV   s    c           S@  s   d S(   Ni*   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   ttafd2^   s    i*   (   t   CeleryR'   t   taskt   assertRaisest   RuntimeErrort   finalizeR3   (   R,   R   R@   RA   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_autofinalize_disabledT   s    
c      
   C@  sa   |  j  d d t F } |  j t   | j d Wd  QX| j   |  j | j d  Wd  QXd  S(   NR>   R?   s   celery.chain(   RB   R'   RD   RE   t   tasksRF   R7   (   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt#   test_registry_autofinalize_disablede   s
    
c         C@  sW   |  j  d  B } d   } d | _ | j |  } |  j | j | j d  Wd  QXd  S(   Nt	   foozibaric           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   funo   s    t   __main__s   .fun(   RB   R   RC   R3   t   namet   main(   R,   R   RK   RC   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt	   test_taskl   s
    		c         C@  sK   |  j  d t  3 } |  j | j j d  |  j | j j d  Wd  QXd  S(   Nt   config_sourcei   i   (   RB   R   R3   t   confR    R!   (   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_with_config_sourcev   s    c         C@  si   t  j t } t  _ z5 |  j j d t  d    } |  j | j    Wd  | t  _ Xt  j se t  d  S(   Nt   sharedc           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   foo   s    (	   t   _appbaset   _EXECVR#   R   RC   R'   R7   t   _get_current_objectt   AssertionError(   R,   t   prevRT   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_windows_execv{   s    
c         C@  s5   |  j  t    |  j j d  d    } Wd  QXd  S(   Ni   c           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT      s    (   RD   t	   TypeErrorR   RC   (   R,   RT   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_takes_no_args   s    c         @  sH  |  j  |  j j  i d d 6    f d   } |  j j |  |  j | |  j j  |  j  |  j j  |  j |  j j j d  |  j	 |  j j  |  j  |  j j  t
 t |  j   } |  j t   | j j Wd  QXi d d 6} |  j j |  |  j |  j j j d  |  j   |  j j j  |  j | |  j j j  d  S(   Ni,  R    c           @  s     S(   N(    (    (   t   _conf(    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRQ      s    R!   (   t   assertFalseR   t
   configuredR;   t   assertInt   _pending_defaultsR3   RQ   R    R7   R   R   RD   t   AttributeErrorR   (   R,   RQ   t   apprt   conf2(    (   R]   s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_add_defaults   s"    c         C@  sh   |  j  j d t   |  j |  j  j j  Wd  QX|  j  j d t   |  j |  j  j j  Wd  QXd  S(   Nt   blockt   pool(   R   t   connection_or_acquireR#   R7   Rg   t   _dirtyR'   R^   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_connection_or_acquire   s    c         C@  s   t    } |  j _ t    } |  j j d <| j } |  j j   | j j   | j j   |  j |  j j  |  j |  j j d j  t    |  j _ |  j j   |  j j   d  S(   Nt   amqp(	   R   R   t   _poolt   __dict__t   _producer_poolt   _maybe_close_poolt   force_close_allt   assert_called_witht   assertIsNone(   R,   t   cpoolRk   t   ppool(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_maybe_close_pool   s    	c         C@  s,   t  |  j _ |  j t t |  j    d  S(   N(   R#   R   t   _using_v1_reduceR7   R   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_using_v1_reduce   s    c         C@  s   t    |  j j _ |  j j d d g d t |  j j j j d d g d  t    |  j j _ |  j j d   d d d t |  j j j j d d g d  d  S(   Ns   proj.As   proj.Bt   forceRH   c           S@  s
   d d g S(   Ns   proj.As   proj.B(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   <lambda>   t    t   related_namet   george(   R   R   t   loadert   autodiscover_tasksR#   Rq   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_autodiscover_tasks_force   s    		c      	   C@  s   t  d   } d   } |  j j |  |  j | j j  | j j d d } |  j | t  |  j	 | j
 |  j j  |  j	 | j d   d d d g  Wd  QXd  S(   Ns   celery.signals.import_modulesc           S@  s   d d d g S(   Ni   i   i   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   packages   s    i    i   i   i   (   R   R   R~   R7   t   connectt   calledt	   call_argst   assertIsInstanceR   R3   RK   t   _autodiscover_taskst   args(   R,   t   import_modulesR   t   prom(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_autodiscover_tasks_lazy   s    	t   CELERY_BROKER_URLRz   c         C@  s5   |  j  d d   } |  j | j j d  Wd  QXd  S(   Nt   brokers   foo://baribaz(   RB   R3   RQ   t
   BROKER_URL(   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_with_broker   s    c         C@  s   |  j  t |  j   d  S(   N(   R7   t   reprR   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt	   test_repr   s    c         C@  s>   |  j  d |  j j    } |  j | j |  j j  Wd  QXd  S(   NRH   (   RB   R   RH   t   assertIs(   R,   t   app2(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_custom_task_registry   s    c         C@  s5   |  j  d d   } |  j | j j d  Wd  QXd  S(   Nt   includeRT   s   bar.foo(   RT   s   bar.foo(   RT   s   bar.foo(   RB   R3   RQ   t   CELERY_IMPORTS(   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_include_argument   s    c         C@  sL   t  j j } z, |  j d t  } |  j t  j j |  Wd  | t  j _ Xd  S(   Nt   set_as_current(   R	   t   _tlsR   RB   R#   R   (   R,   t   currentR   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_set_as_current   s
    c         C@  s]   |  j  j t d   } t j j |  z  |  j |  j  j j | j  Wd  t j j	   Xd  S(   Nc         S@  s   d  S(   N(    (   RS   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT      s    (
   R   RC   R'   R	   t   _task_stackt   pushR3   t   current_taskRM   t   pop(   R,   RT   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_current_task   s    	 c         C@  sG   t  d  5 } |  j j d t  d    } |  j | j  Wd  QXd  S(   Ns'   celery.app.base.connect_on_app_finalizeRS   c           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT     s    (   R   R   RC   R'   R^   R   (   R,   t   shRT   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_not_shared  s    c      	   @  se   |  j  d t  M } t       f d   } | j d | d t  d    }   j |  Wd  QXd  S(   Nt   accept_magic_kwargsc         @  s     |   |  S(   N(    (   RC   (   t   check(    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   filter  s    
R   RS   c           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT     s    (   RB   R#   R   RC   R'   Rq   (   R,   R   R   RT   (    (   R   s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_compat_with_filter  s
    	!c      	   @  su   |  j  d t  ] } t       f d   } t j s= t  | j d | d t  d    }   j |  Wd  QXd  S(   NR   c         @  s     |   |  S(   N(    (   RC   (   R   (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR     s    
R   RS   c           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT   "  s    (   RB   R'   R   RU   RV   RX   RC   Rq   (   R,   R   R   RT   (    (   R   s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_task_with_filter  s    	!c         C@  sk   d d l  m } t | _ zA |  j d  , } | j d    } |  j | j d  Wd  QXWd  d  | _ Xd  S(   Ni    (   t   utilst   xuzzyc           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT   -  s    s	   xuzzy.foo(	   t   celeryR   t   __file__t   MP_MAIN_FILERB   RC   R3   RM   t   None(   R,   t   _utilsR   RT   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt%   test_task_sets_main_name_MP_MAIN_FILE'  s    	c         @  s   d d l  m } d | f d     Y} t       f d   } i i | d 6| j 6|  j j _ | j |  j  |  j | j |  j  |   } | d d d	 d
   j	 | d d d	 d
 | j
   | j
   d  S(   Ni    (   t   Taskt   adXc           B@  s   e  Z e Z d    Z RS(   c         S@  s   | | | f S(   N(    (   R,   t   yt   zt   x(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   run;  s    (   R   R   R#   t   abstractR   (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR   8  s   c         @  s      f d   } | S(   Nc          @  s     |  |    |  |   S(   N(    (   R   R-   (   R   RK   (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   _innerB  s    (    (   RK   R   (   R   (   RK   s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   deco@  s    s	   @__call__i   i   R   i   (   t   celery.app.taskR   R   RM   R   RQ   t   CELERY_ANNOTATIONSt   bindR   Rq   t   annotate(   R,   R   R   R   t   i(    (   R   s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_annotate_decorator5  s    		
c      	   C@  sk   |  j  j d d d t  d    } t d  5 } | j d
  | j d d	 } |  j | d  Wd  QXd  S(   Nt   __self__t   helloRS   c           S@  s   d  S(   N(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   aawsXU  s    s)   celery.app.amqp.TaskProducer.publish_taski   i   i    i   (   i   i   (   R   i   i   (   R   RC   R'   R   t   apply_asyncR   R3   (   R,   R   t   dtR   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_apply_async_has__self__T  s
    $c         C@  s   d d l  m } |  j j d t  d    } |  j j d t  d    } | j |  zN | j d t  z, | j d t  } |  j	 | | j
 j  Wd  | j   XWd  | j   Xd  S(   Ni    (   R   RS   c         S@  s   d  S(   N(    (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   a3cX1a  s    c         S@  s   d  S(   N(    (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   a3cX2e  s    t   called_directlyt   add_to_parent(   t   celery._stateR   R   RC   R'   R   t   push_requestR   R#   R`   t   requestt   childrent   pop_requestR   (   R,   R   R   R   t   res(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_apply_async_adds_children^  s    c         C@  sv   t  d d d d  } |  j j j |  t j |  j  } |  j t |  d  t j |  } |  j	 | | j  d  S(   Nt   THE_FOO_BARt   barst   THE_MII_MARt   jarsi   (
   t   dictR   RQ   t   updateR   R   t
   assertLesst   lenR   t   assertDictContainsSubset(   R,   t   changest   savedt   restored(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_pickle_appt  s    	c         C@  s|   d d l  m } d | j f d     Y} | j | } | _ z/ |  j j d d g  } |  j | d g  Wd  | | _ Xd  S(   Ni    (   t   workerR   c           B@  s   e  Z d    Z RS(   c         S@  s   | S(   N(    (   R,   t   argv(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   execute_from_commandline  s    (   R   R   R   (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR     s   R   s	   --version(   t
   celery.binR   R   t   worker_maint   assertListEqual(   R,   t
   worker_binR   RY   t   ret(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_worker_main}  s    c         C@  s:   d t  j d <|  j j d  |  j |  j j j d  d  S(   Ns   celery.tests.app.test_appt   CELERYTEST_CONFIG_OBJECTs   this is a value(   t   ost   environR   t   config_from_envvarR3   RQ   t   THIS_IS_A_KEY(   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_config_from_envvar  s    c         C@  su   |  j  |  j j j  |  j  |  j j j  |  j |  j j j d  |  j |  j j j  |  j  |  j j j	  d  S(   Ni[(
   R7   R   RQ   R$   R%   R3   R&   R^   R(   R)   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   assert_config2  s
    c         C@  sS   t    } |  j j |  |  j |  j j j  |  j |  j j |  |  j   d  S(   N(	   R"   R   t   config_from_objectR^   R}   R]   R   t   _config_sourceR   (   R,   RQ   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_config_from_object__lazy  s
    	c         C@  s=   |  j  j t   d t |  j |  j  j j  |  j   d  S(   NRx   (   R   R   R"   R#   R7   R}   R]   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_config_from_object__force  s    c         C@  s   d d d d d d g } |  j  j | d d |  j |  j  j j  |  j |  j  j j d	  |  j |  j  j j d
  |  j |  j  j j d  |  j |  j  j j	 d  |  j
 |  j  j j i d d 6 d  S(   Ns   .always_eager=nos   .result_backend=/dev/nulls   celeryd.prefetch_multiplier=368s   .foobarstring=(string)300s   .foobarint=(int)300s+   .result_engine_options=(dict){"foo": "bar"}t	   namespaceR   s	   /dev/nullip  t   300i,  t   barRT   (   R   t   config_from_cmdlineR^   RQ   t   CELERY_ALWAYS_EAGERR3   t   CELERY_RESULT_BACKENDt   CELERYD_PREFETCH_MULTIPLIERt   CELERY_FOOBARSTRINGt   CELERY_FOOBARINTt   assertDictEqualt   CELERY_RESULT_ENGINE_OPTIONS(   R,   t   cmdline(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_config_from_cmdline  s    	c         C@  sB   i  |  j  _ |  j  j t d d   |  j |  j  j j d  d  S(   Nt   CELERY_BACKENDt	   set_by_us(   R   t   _preconfR   R*   R3   RQ   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt"   test_compat_setting_CELERY_BACKEND  s    c         C@  sv   i d d 6d d 6} |  j  j t    |  j |  j  j j i   |  j  j t d |   |  j |  j  j j |  d  S(   NR   RT   t   bazt   spamt   BROKER_TRANSPORT_OPTIONS(   R   R   R*   R3   RQ   R  (   R,   t   _args(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt%   test_setting_BROKER_TRANSPORT_OPTIONS  s
    c         C@  s,   t  |  j _ |  j |  j j j t    d  S(   N(   R#   R   t
   IS_WINDOWSR^   t   logt   supports_color(   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_Windows_log_color_disabled  s    c         C@  s6   |  j  j t d d   |  j |  j  j j d  d  S(   Nt   CARROT_BACKENDR   (   R   R   R*   R3   RQ   t   BROKER_TRANSPORT(   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt"   test_compat_setting_CARROT_BACKEND  s    c         C@  s&   |  j  j } |  j | j  |  j   d  S(   N(   R   t   WorkControllerR   (   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_WorkController  s    c         C@  s&   |  j  j } |  j | j  |  j   d  S(   N(   R   t   WorkerR   (   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_Worker  s    c         C@  sW   |  j  j d  } |  j | j  |  j   t t |   } |  j | j  t j    d  S(   Nt   1(   R   t   AsyncResultR   R   R   R   RW   (   R,   R   t   r(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_AsyncResult  s    c         @  s   |  j  t t j     |  j   } t |    |  j | t j    | j   ~ t j	   |  j
 t  % t   f d   t j   D  Wd  QXd  S(   Nc         3@  s'   |  ] } t  |    k r | Vq d  S(   N(   t   id(   t   .0R   (   t   appid(    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pys	   <genexpr>  s    (   R7   t   listR	   t   _get_active_appsRB   R  R`   t   closet   gct   collectRD   t   StopIterationt   next(   R,   t   app1(    (   R  s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_get_active_apps  s    

t   CELERY_HARNESS_CFG1c      
   C@  s  |  j  |  j j d d t d t  |  j t  ! |  j j d d t d t Wd  QXt d t j	 | <|  j
 |  j j | d t  |  j |  j j d d  |  j |  j j d d  d	 t j	 | <|  j t   |  j j | d t Wd  QX|  j  |  j j | d t d t  t d
 t j	 | <|  j
 |  j j | d t  |  j |  j j d d  |  j |  j j d d  d  S(   Nt   HDSAJIHWIQHEWQURx   t   silents   .object_configR    i   R!   i   s   unknown_asdwqe.asdwqewqes   .dict_configi
   i   (   R^   R   R   R#   RD   R   R'   R   R   R   R7   R3   RQ   t   ImportError(   R,   R.   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_config_from_envvar_more  s&    		s8   celery.bin.celery.CeleryCommand.execute_from_commandlinec         C@  s!   |  j  j   |  j | j  d  S(   N(   R   t   startR7   R   (   R,   t   execute(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt
   test_start  s    c         C@  s   d t  f d     Y} | d |  j  |  j _ d  |  j j _ |  j |  j j d d   d g |  j j _ |  j |  j j d d   d  S(	   Nt   Loaderc           B@  s   e  Z d    Z RS(   c          _@  s
   |  | f S(   N(    (   R   R-   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   mail_admins  s    (   R   R   R)  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR(    s   R   t   Subjectt   Bodys   George Costanzas   george@vandelay.com(   s   George Costanzas   george@vandelay.com(	   R   R   R}   R   RQ   t   ADMINSR^   R)  R7   (   R,   R(  (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_mail_admins  s    c         C@  s   |  j  i d d 6d d 6d d 6d d 6|  j j d  j    d	 |  j j _ d
 |  j j _ |  j  i d	 d 6d
 d 6|  j j d  j    |  j j d  } |  j  i d d 6| j    d  S(   Nt	   localhostt   hostnamet   guestt   useridt   passwordt   /t   virtual_hosts	   pyamqp://i  RT   t   ports   pyamqp://:1978/foos   pyamqp:////values   /value(   R   R   t
   connectiont   infoRQ   t   BROKER_PORTt   BROKER_VHOST(   R,   t   conn(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_amqp_get_broker_info  s    
c         C@  s   d |  j  j _ |  j |  j  j d  j d  d  |  j  j _ |  j |  j  j d  j t j  d   } | |  j  j _ |  j |  j  j d  j |  d  S(   Ns   foo-bars   amqp:////valuec         s@  s	   t  Vd  S(   N(   R#   (   t   it(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   my_failover_strategy;  s    (	   R   RQ   t   BROKER_FAILOVER_STRATEGYR3   R6  t   failover_strategyR   t	   itertoolst   cycle(   R,   R=  (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt%   test_amqp_failover_strategy_selection*  s    
	c         C@  s&   |  j  |  j j j |  j j j  d  S(   N(   R3   R   RQ   t   BROKER_BACKENDR
  (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_BROKER_BACKEND_aliasD  s    c         C@  s]   t    } |  j _ |  j j |  j  | j j   |  j |  j j  |  j j |  j  d  S(   N(   R   R   Rl   t   _after_forkRp   Rq   Rr   (   R,   t   p(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_after_forkH  s
    c         C@  s9   t  d  ' |  j j } |  j | |  j j  Wd  QXd  S(   Ns   multiprocessing.util(   R   R   Rg   R   Rl   (   R,   Rg   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_pool_no_multiprocessingO  s    c         C@  s   |  j  |  j j    d  S(   N(   R7   R   R8   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR9   T  s    c         C@  s`  d t  f d     Y} |  j j   } | j   } zQ xJ d D]B } | j | d d t | j | d t | j | | |  q; WWd  | j   X| j	 d k s t
  |  j j j | d	 t d  d
 t } |   } |  j | j d d i  d	 d d d d |  |  j | j  |  j | j d d d  |  j | j d d i  d | d	 d d d  d  S(   Nt
   Dispatcherc           B@  s   e  Z g  Z d    Z RS(   c         _@  s   |  j  j | | f  d  S(   N(   t   sentt   append(   R,   t   typet   fieldsR   R-   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   publish\  s    (   R   R   RJ  RN  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRI  Y  s   t   foo_exchanget   moo_exchanget   bar_exchanget   directt   durablet   memoryt   exchanget   send_sent_eventt   footaskt   routing_keyt   event_dispatcheri    s	   task-sent(   RO  RP  RQ  (    (    (   t   objectR   R6  t   channelt   exchange_declareR#   t   queue_declaret
   queue_bindR  t   transport_clsRX   Rk   t   TaskProducerR   R7   t   publish_taskRJ  R3   (   R,   RI  R:  t   chant   et   prodt
   dispatcher(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_send_task_sent_eventW  s0    		
c         C@  s=   t  j i d d 6t   d 6d d 6d d 6} |  j |  d  S(   Nt	   task_nameRM   R  t	   FOOBARBAZt   exct   lanaR/  (   R   t   subjectR   R7   (   R,   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_error_mail_sender{  s
    
c         C@  s]   t    } t |  } t    | _ t | j _ | j t    t     |  j | j j j	  d  S(   N(
   R   R   t   should_sendR'   t   return_valuet   sendR^   R   R)  R   (   R,   RC   R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_error_mail_disabled  s    	(:   R   R   R=   RG   RI   RO   RR   R   RZ   R\   Re   Rj   Ru   Rw   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R$  R   R'  R-  R;  RB  RD  RG  RH  R9   Rf  Rl  Rp  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR:   O   sj   				
																			
											
													$	t   test_defaultsc           B@  s   e  Z d    Z RS(   c         C@  su   x$ d D] } |  j  t j |   q Wx$ d	 D] } |  j t j |   q. W|  j t   t j d  Wd  QXd  S(
   Nt   falset   not   0t   truet   yesR  t   unsure(   Rr  Rs  Rt  (   Ru  Rv  R  (   R^   R   t	   strtoboolR7   RD   R[   (   R,   t   s(    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_strtobool  s    (   R   R   Rz  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRq    s   t   test_debugging_utilsc           B@  s   e  Z d    Z RS(   c         C@  sV   zD t  j   |  j t  j t  j  t  j   |  j t  j t  j  Wd  t  j   Xd  S(   N(   R4   t   enable_traceR3   t   app_or_defaultt   _app_or_default_tracet   disable_tracet   _app_or_default(   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_enable_disable_trace  s    

(   R   R   R  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR{    s   t   test_pyimplementationc           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  s-   t  d     |  j t   d  Wd  QXd  S(   Nc           S@  s   d S(   Nt   Xython(    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRy     Rz   R  (   R   R3   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt#   test_platform_python_implementation  s    c         C@  s:   t    + t d   |  j d t    Wd  QXWd  QXd  S(   Ns   java 1.6.51t   Jython(   R   R   R`   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_platform_jython  s    
c         C@  ss   t    d t d  Q t d   |  j d t    Wd  QXt d   |  j d t    Wd  QXWd  QXWd  QXd  S(	   Nt   darwini   i   i   t   PyPyt   a4(   i   i   i   (   i   i   i   R  (   R   R   R   R`   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_platform_pypy  s    
c         C@  sJ   t    ; t d  ( t    |  j d t    Wd  QXWd  QXWd  QXd  S(   NR  t   CPython(   R   R   R   R3   R   (   R,   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_platform_fallback  s    

(   R   R   R  R  R  R  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR    s   			t   test_shared_taskc           B@  s   e  Z d    Z RS(   c         C@  s   |  j  d d t  } | j   t d    } t   d    } |  j | j |  |  j | j |  |  j | j    |  j  d d t R } |  j | j |  |  j | j |  t   d    } |  j | j |  Wd  QXWd  QXd  S(   Nt   xprojR   c           S@  s   d S(   Ni*   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyRT     s    c           S@  s   d S(   NiT   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR     s    t   yprojc           S@  s   d S(   Ni   (    (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR     s    (   RB   R#   RF   R   R   R   R7   RW   (   R,   R  RT   R   R  R   (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   test_registers_to_all_apps  s    
(   R   R   R  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyR    s   (@   t
   __future__R    R  R   R@  t   copyR   R   R   R   Rk   R   t   kombuR   R   R   R   R   R4   R	   t
   celery.appR
   RU   R   t   celery.exceptionsR   t   celery.fiveR   t   celery.loaders.baseR   t   celery.platformsR   t   celery.utils.serializationt   celery.tests.caseR   R   R   R   R   R   R   R   R   R   t   celery.utilsR   t   celery.utils.mailR   R   RZ  R   t   object_configR   t   dict_configR"   R*   R1   R<   R2   R:   Rq  R{  R  R  (    (    (    s;   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_app.pyt   <module>   sH   F				  >