ó
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 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 d e
 j 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   loaders(   t   NotConfigured(   t   base(   t   default(   t	   AppLoader(   t   NotAPackage(   t   SendmailWarning(   t   AppCaset   Caset   Mockt   depends_on_current_appt   patcht   with_environt   DummyLoaderc           B@  s   e  Z d  „  Z RS(   c         C@  s   i d d 6d d 6S(   Nt   bart   foot   ost   syst   CELERY_IMPORTS(   R   R   (    (   t   self(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   read_configuration   s    (   t   __name__t
   __module__R   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR      s   t   test_loadersc           B@  s/   e  Z d  „  Z e d „  ƒ Z e d „  ƒ Z RS(   c         C@  s    |  j  t j d ƒ t j ƒ d  S(   NR   (   t   assertEqualR   t   get_loader_clsR   t   Loader(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_get_loader_cls   s    c         C@  s3   |  j  ƒ  ! |  j t j ƒ  |  j j ƒ Wd  QXd  S(   N(   t   assertPendingDeprecationt   assertIsR   t   current_loadert   appt   loader(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_current_loader"   s    c         C@  s3   |  j  ƒ  ! |  j t j ƒ  |  j j ƒ Wd  QXd  S(   N(   R   R   R   t   load_settingsR    t   conf(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_load_settings'   s    (   R   R   R   R   R"   R%   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR      s   	t   test_LoaderBasec           B@  sò   e  Z i d  d 6d d 6d d 6d d 6Z i d d	 6d
 d 6d d 6d d 6d d 6Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z e d ƒ d „  ƒ Z e d ƒ d „  ƒ Z d  „  Z d! „  Z RS("   t   Subjectt   subjectt   Bodyt   bodys   x@x.comt   senders   y@x.comt   tos
   smtp.x.comt   hostiÒ  t   portt   xt   usert   qwertyt   passwordi   t   timeoutc         C@  s   t  d |  j ƒ |  _ d  S(   NR    (   R   R    R!   (   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   setup8   s    c         C@  s$   |  j  j d d ƒ |  j  j ƒ  d  S(   Ns   foo.tasks   feedface-cafebabe(   R!   t   on_task_initt   on_worker_init(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_handlers_pass;   s    c         C@  s<   |  j  |  j j d t ƒ ƒ |  j  |  j j d t ƒ ƒ d  S(   Nt   utc(   t
   assertTrueR!   t   nowt   Truet   False(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_now?   s    c         C@  s,   |  j  t j d |  j ƒ j d ƒ i  ƒ d  S(   NR    t   FOO_X_S_WE_WQ_Q_WE(   t   assertDictEqualR   t
   BaseLoaderR    R   (   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_read_configuration_no_envC   s    c         C@  sw   t  d ƒ e } t ƒ  g | _ d | j d _ |  j j d d g ƒ |  j d |  j j ƒ |  j j j d ƒ Wd  QXd  S(   Ns&   celery.loaders.base.autodiscover_taskst   mooi    t   At   B(	   R   R
   t   return_valueR   R!   t   autodiscover_taskst   assertInt   task_modulest   discard(   R   t   auto(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_autodiscoveryJ   s    c         C@  s    |  j  t |  j j d ƒ ƒ d  S(   NR   (   R   R   R!   t   import_task_module(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_import_task_moduleR   s    c         C@  s;   |  j  j ƒ  t ƒ  } |  j  _ |  j  j ƒ  | j ƒ  d  S(   N(   R!   t   on_worker_process_initR
   t   init_worker_processt   assert_called_with(   R   t   m(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_init_worker_processU   s    c         C@  s6   t  ƒ  |  j _ |  j j d ƒ |  j j j d ƒ d  S(   Nt   module_name(   R
   R!   t   import_from_cwdt   config_from_objectRP   (   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_config_from_object_module[   s    c         C@  sR   |  j  |  j j d d ƒ |  j  |  j j d d ƒ |  j  |  j j d d ƒ d  S(   NR   R   (   R   R!   R$   t   _conf(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_conf_property`   s    c         C@  sS   d „  } d |  j  j _ |  j t | |  j j ƒ  ƒ ƒ t | t t g ƒ ƒ ƒ d  S(   Nc         S@  s   g  |  D] } | j  ^ q S(   N(   R   (   t   lRQ   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   modnamesf   s    R   R   (   R   R   (	   R    R$   R   R   t   sortedR!   t   import_default_modulesR   R   (   R   RZ   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_import_default_modulese   s
    	c         @  sE   d  ‡  f d † ‰  t ˆ  _ |  j j d d ˆ  ƒ|  j ˆ  j ƒ d  S(   Nc         @  s   t  ˆ  _ d  S(   N(   R;   t   called(   t   modulet   package(   t   imp(    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyRa   p   s    R   Ra   (   t   NoneR<   R^   R!   RT   R9   (   R   (    (   Ra   s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_import_from_cwd_custom_impn   s    	s   celery.utils.mail.Mailer._sendc      	   C@  s€   t  ƒ  | _ t |  j |  j  } |  j t d ƒ  |  j j d t	 |  Wd  QX|  j
 t  ƒ  |  j j d t |  Wd  QXd  S(   Nt   KeyErrort   fail_silently(   Rd   t   side_effectt   dictt   message_optionst   server_optionst   assertWarnsRegexR   R!   t   mail_adminsR;   t   assertRaisesR<   (   R   t   sendt   opts(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_mail_admins_errorsw   s    c         C@  sµ   t  |  j |  j  } |  j j |   |  j | j ƒ | j d d } |  j | j |  j d g ƒ |  j | j	 |  j d ƒ |  j | j
 |  j d ƒ |  j | j |  j d ƒ d  S(   Ni    R,   R(   R+   R*   (   Rg   Rh   Ri   R!   Rk   R9   t	   call_argsR   R,   R(   R+   R*   (   R   Rm   Rn   t   message(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_mail_admins‚   s    c         C@  s<   d d l  m } t j d |  j ƒ } |  j | j | ƒ d  S(   Ni    (   t   mailR    (   t   celery.utilsRs   R   R@   R    R   (   R   Rs   R!   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_mail_attribute   s    c         C@  s-   |  j  t ƒ  |  j j d g ƒ Wd  QXd  S(   Ns   broker.port=foobar(   Rl   t
   ValueErrorR!   t   cmdline_config_parser(   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_cmdline_config_ValueError’   s    (   R   R   Rh   Ri   R4   R7   R=   RA   RK   RM   RR   RV   RX   R]   Rc   R   Ro   Rr   Ru   Rx   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR&   -   s0   



														t   test_DefaultLoaderc           B@  sq   e  Z e d  ƒ d „  ƒ Z e d  ƒ e d d ƒ d „  ƒ ƒ Z e d  ƒ d „  ƒ Z d „  Z d „  Z d „  Z	 RS(	   s   celery.loaders.base.find_modulec         C@  sK   t  ƒ  | _ t j d |  j ƒ } |  j t  ƒ  | j d t ƒ Wd  QXd  S(   NR    Re   (   R   Rf   R   R   R    Rl   R   R<   (   R   t   find_moduleRY   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt%   test_read_configuration_not_a_package™   s    t   CELERY_CONFIG_MODULEs   celeryconfig.pyc         C@  sK   t  ƒ  | _ t j d |  j ƒ } |  j t  ƒ  | j d t ƒ Wd  QXd  S(   NR    Re   (   R   Rf   R   R   R    Rl   R   R<   (   R   Rz   RY   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt"   test_read_configuration_py_in_name    s    c         C@  sp   t  t _ t ƒ  | _ t j d |  j ƒ } |  j t d ƒ  | j	 d t  ƒ Wd  QXt
 t _ | j	 d t  ƒ d  S(   NR    s   make sure it existsRe   (   R;   R   t	   C_WNOCONFt   ImportErrorRf   R   R    Rj   R   R   R<   (   R   Rz   RY   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt#   test_read_configuration_importerror¨   s    		c         C@  s  d d l  m } d | f d „  ƒ  Y} t j j d ƒ p; d } | | ƒ } d | _ t j j | ƒ } | t j | <z t j	 d	 |  j
 ƒ } t d
 d ƒ | _ | j d t ƒ } |  j | j d ƒ | j d t ƒ } |  j | j d ƒ | j ƒ  Wd  | r
| t j | <n  Xd  S(   Ni    (   t
   ModuleTypet   ConfigModulec           B@  s   e  Z RS(    (   R   R   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR‚   µ   s   R|   t   celeryconfigR   R   R    t   nameRz   Re   (   R   R   (   R   R   (   R   R   (   t   typesR   R   t   environt   getR   R   t   modulesR   R   R    R
   Rz   R   R<   t   assertTupleEqualR6   (   R   R   R‚   t
   confignameRƒ   t
   prevconfigRY   t   settings(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_read_configuration²   s"    	c         C@  s  t  j d |  j ƒ } t t j ƒ } y t j j t j ƒ  ƒ Wn t	 k
 rQ n Xt j
 j d d  ƒ } t j
 j d d  ƒ zo |  j | j d ƒ ƒ t j
 j d d  ƒ t j
 j d d  ƒ t j j d t j ƒ  ƒ |  j | j d ƒ ƒ Wd  | t _ | t j
 d <Xd  S(   NR    t   celerys   celery.fivei    (   R   R   R    t   listR   t   patht   removeR   t   getcwdRv   Rˆ   t   popRb   R9   RT   t   insert(   R   RY   t   old_pathRŽ   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_import_from_cwdÊ   s     	c         C@  s|   t  g } d t j f d „  ƒ  Y} t j d t ƒ 1 | d |  j ƒ } |  j | j ƒ t | d <Wd  QX|  j	 | d ƒ d  S(   Nt   _Loaderc           B@  s   e  Z d  „  Z RS(   c         S@  s   t  | ƒ ‚ d  S(   N(   R   (   R   R„   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyRz   â   s    (   R   R   Rz   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR—   à   s   t   recordR    i    (
   R<   R   R   t   warningst   catch_warningsR;   R    t   assertFalset
   configuredR9   (   R   t   context_executedR—   RY   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_unconfigured_settingsÝ   s    	(
   R   R   R   R{   R   R}   R€   R   R–   Rž   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyRy   —   s   	
		t   test_AppLoaderc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s   t  d |  j ƒ |  _ d  S(   NR    (   R   R    R!   (   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyR4   î   s    c         C@  sF   d |  j  j _ t j j d d  ƒ |  j j ƒ  |  j	 d t j ƒ d  S(   Nt
   subprocess(   R    (
   R    R$   R   R   Rˆ   R“   Rb   R!   t   init_workerRG   (   R   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_on_worker_initñ   s    (   R   R   R4   R¢   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyRŸ   ì   s   	RK   c           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  sc   t  t _ z t j d g ƒ Wd  t t _ Xt d ƒ ' } t j d g ƒ |  j | j ƒ Wd  QXd  S(   NR   s'   celery.loaders.base.find_related_module(   R;   R   t   _RACE_PROTECTIONRF   R<   R   R9   R^   (   R   t   frm(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_autodiscover_tasksú   s    	
c         @  s£   t  d ƒ ‘ ‰  t  d ƒ | } t ƒ  ˆ  _ d ˆ  j _ t j t d ƒ ‡  f d †  } | ˆ  _ t j t d ƒ d  ˆ  _ t ƒ  | _ t j t d ƒ Wd  QXWd  QXd  S(   Ns   importlib.import_modules   imp.find_moduleR   t   tasksc         @  s   t  ƒ  ˆ  _ d  S(   N(   t   AttributeErrorRf   (   t   val(   Ra   (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   se1  s    (	   R   R
   RE   t   __path__R   t   find_related_moduleRf   Rb   R   (   R   t   findR©   (    (   Ra   s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   test_find_related_module  s    		(   R   R   R¥   R­   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyRK   ø   s   	
(    t
   __future__R    R   R   R™   RŽ   R   t   celery.exceptionsR   t   celery.loadersR   R   t   celery.loaders.appR   t   celery.utils.importsR   t   celery.utils.mailR   t   celery.tests.caseR   R	   R
   R   R   R   R@   R   R   R&   Ry   RŸ   RK   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_loaders.pyt   <module>   s"   .jU