ó
P'—^c           @@  s÷   d  d l  m Z d  d l Z d  d l m Z m Z m Z m Z d  d l m	 Z	 m
 Z
 m Z m Z m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ e ƒ  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   Commandt   Optiont
   Extensionst   HelpFormatter(   t   AppCaset   Mockt   depends_on_current_appt   override_stdoutst   patcht   Objectc           B@  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR
      s   t   MyAppc           B@  s   e  Z i d d  6Z RS(   t   preloadN(   R   R   t   Nonet   user_options(    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR      s   t   MockCommandc           B@  s#   e  Z d Z d d „ Z d „  Z RS(   t   arg1t   arg2t   arg3c         C@  s(   t  ƒ  } d | _ | | _ | |  j f S(   Nt   bar(   R
   t   foot	   prog_namet	   mock_args(   t   selfR   t	   argumentst   commandt   options(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   parse_options   s    			c         O@  s
   | | f S(   N(    (   R   t   argst   kwargs(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   run#   s    (   R   R   R   N(   R   R   R   R   R   R    (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR      s   t   test_Extensionsc           B@  s   e  Z d  „  Z RS(   c         C@  sJ  t  d ƒ 8} t  d ƒ  } t ƒ  } d | _ d | _ d d g | _ | g | _ t ƒ  } | _ t ƒ  } t d | ƒ } | j ƒ  | j d ƒ | j | d	 d ƒWd  QXt  d ƒ B } t	 ƒ  | _
 t  d
 ƒ ! } | j ƒ  |  j | j ƒ Wd  QXWd  QXt  d ƒ 6 } t d ƒ | _
 |  j t ƒ  | j ƒ  Wd  QXWd  QXWd  QXd  S(   Ns   pkg_resources.iter_entry_pointss   celery.bin.base.symbol_by_namet   epR   R   t   bazt   units   foo:bart   names   warnings.warn(   R	   R   R%   t   module_namet   attrst   return_valueR   t   loadt   assert_called_witht   SyntaxErrort   side_effectt
   assertTruet   calledt   KeyErrort   assertRaises(   R   t   iterept	   symbynameR"   t   clst   registert   et   warn(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt	   test_load)   s,    				

(   R   R   R7   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR!   '   s   t   test_HelpFormatterc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s9   t  ƒ  } |  j | j d ƒ ƒ |  j | j d ƒ ƒ d  S(   Nt   hellot    (   R   R-   t   format_epilogt   assertFalse(   R   t   f(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_format_epilogF   s    	c         C@  s#   t  ƒ  } |  j | j d ƒ ƒ d  S(   NR9   (   R   R-   t   format_description(   R   R=   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_format_descriptionK   s    	(   R   R   R>   R@   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR8   D   s   	t   test_Commandc           B@  s  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e	 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 e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@  s,   t  ƒ  } d | _ |  j | j ƒ  d ƒ d  S(   Ni   i   i   (   i   i   i   (   i   i   i   (   R   t   option_listt   assertTupleEqualt   get_options(   R   t   cmd(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_get_optionsR   s    		c         C@  s6   d t  f d „  ƒ  Y} | ƒ  } |  j | j d ƒ d  S(   Nt   Cc           B@  s   e  Z d  Z RS(   R   (   R   R   t   description(    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyRG   Y   s   R   (   R   t   assertEqualRH   (   R   RG   t   c(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_custom_descriptionW   s    	c         C@  s?   t  d d d d ƒ } |  j | j d ƒ |  j | j d ƒ d  S(   Nt   on_errori   t   on_usage_errori	   (   R   RI   RL   RM   (   R   RJ   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_register_callbacks_   s    c         C@  s†   t  ƒ  } t d | ƒ } t  ƒ  | _ t  ƒ  | _ | j d d d ƒ} | j _ |  j | ƒ  | j ƒ | j | ƒ | j j d ƒ d  S(   NRM   R   t   statusi   (    (	   R   R   t   verify_argsR    t
   UsageErrorR,   RI   RO   R*   (   R   t   cbRJ   t   exc(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_run_raises_UsageErrord   s    	c         C@  s?   t  ƒ  } t ƒ  | _ t ƒ  } | j | ƒ | j j | ƒ d  S(   N(   R   R   t   handle_errort	   ExceptionRM   R*   (   R   RE   RS   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_default_on_usage_erroro   s
    		c         C@  sR   t  ƒ  } d „  } | | _ |  j | j ƒ  | j d ƒ Wd  QX| j d ƒ d  S(   Nc         S@  s   d  S(   N(    (   t   at   bRJ   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyR    y   s    i   i   i   (   i   (   i   i   i   (   R   R    R0   RQ   RP   (   R   RJ   R    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_verify_args_missingv   s    			c         C@  s'   |  j  t ƒ  t ƒ  j ƒ  Wd  QXd  S(   N(   R0   t   NotImplementedErrorR   R    (   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_run_interface   s    s
   sys.stdoutc         C@  s3   t  ƒ  } |  j t ƒ  | j d g ƒ Wd  QXd  S(   Ns	   --version(   R   R0   t
   SystemExitt   early_version(   R   t   stdoutRE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_early_version…   s    	c         C@  s±   t  d |  j ƒ } | j ƒ  \ } } |  j | | j ƒ |  j i d d 6| ƒ |  j | j d ƒ ƒ | j d g ƒ \ } } |  j | | j ƒ |  j i d d 6d d 6| ƒ d  S(   Nt   appR   R   R   (   R   Ra   t   execute_from_commandlineRC   R   t   assertDictContainsSubsetR-   t   get(   R   RE   t   args1t   kwargs1t   args2t   kwargs2(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_execute_from_commandline‹   s    c         C@  s‰   t  ƒ  z \ } } t d |  j ƒ } t | _ |  j t ƒ  | j d d g ƒ Wd  QX|  j | j	 ƒ  ƒ |  j
 d | j	 ƒ  ƒ Wd  QXd  S(   NRa   t   argvs   --bogust   Unrecognized(   R   R   Ra   t   Falset   supports_argsR0   R]   Rb   R-   t   getvaluet   assertIn(   R   t   _t   stderrRE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_with_bogus_args–   s    	c         C@  sˆ   t  j j d d  ƒ } zB t d |  j ƒ } | j d g ƒ |  j t  j j d ƒ d ƒ Wd  | rp | t  j d <n t  j j d d  ƒ Xd  S(   Nt   CELERY_CONFIG_MODULERa   s   --config=foo.bar.bazs   foo.bar.baz(	   t   ost   environt   popR   R   Ra   t   setup_app_from_commandlineRI   Rd   (   R   t   prevRE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_with_custom_config_moduleŸ   s    c         C@  sˆ   t  j j d d  ƒ } zB t d |  j ƒ } | j d g ƒ |  j t  j j d ƒ d ƒ Wd  | rp | t  j d <n t  j j d d  ƒ Xd  S(   Nt   CELERY_BROKER_URLRa   s   --broker=xyzza://s   xyzza://(	   Rt   Ru   Rv   R   R   Ra   Rw   RI   Rd   (   R   Rx   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_with_custom_broker¬   s    c         C@  s   t  d |  j ƒ } d j t d g ƒ } | j d | f d g ƒ |  j | j t ƒ | j d | d g ƒ |  j | j t ƒ d  S(   NRa   t   .t   APPs   --app=%ss   --loglevel=INFOs   -A(   R   Ra   t   joinR   Rw   t   assertIsR}   (   R   RE   Ra   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_with_custom_appº   s    

c         C@  sh   t  d |  j ƒ } | j d g ƒ |  j | j ƒ t  d |  j ƒ } | j d g ƒ |  j | j ƒ d  S(   NRa   s   -qs   --quiet(   R   Ra   Rw   R-   t   quiet(   R   RE   t   cmd2(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_setup_app_sets_quietÄ   s    c         C@  sH   t  d ƒ 6 } t d |  j ƒ } | j d g ƒ | j d ƒ Wd  QXd  S(   Ns   os.chdirRa   s   --workdir=/opts   /opt(   R	   R   Ra   Rw   R*   (   R   t   chdirRE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_setup_app_sets_chdirÌ   s    c         C@  ss   t  j j d ƒ } z= t d |  j ƒ } | j d g ƒ |  j t  j d d ƒ Wd  | d  k	 rn | t  j d <n  Xd  S(   Nt   CELERY_LOADERRa   s   --loader=X.Y:Zs   X.Y:Z(   Rt   Ru   Rd   R   Ra   Rw   RI   R   (   R   Rx   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_setup_app_sets_loaderÒ   s    c         C@  sT   t  d |  j ƒ } t | _ t d ƒ ' } | j d g ƒ |  j | j ƒ Wd  QXd  S(   NRa   s   celery.bin.base.Celerys   --app=x.y:z(   R   Ra   Rl   t   respects_app_optionR	   Rw   R-   R.   (   R   RE   t   cp(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_setup_app_no_respectÜ   s
    	c         C@  sV   t  d |  j ƒ } t ƒ  } | _ i d  d 6| _ | j g  ƒ |  j | j | ƒ d  S(   NRa   R   (   R   Ra   R   R   R   Rw   RI   (   R   RE   Ra   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_setup_app_custom_appã   s
    c         C@  s‘   t  d |  j ƒ } |  j | j d ƒ ƒ |  j | j d ƒ ƒ |  j | j d ƒ ƒ |  j | j d ƒ ƒ |  j t ƒ  | j t ƒ Wd  QXd  S(   NRa   s   celery.tests.bin.proj.apps   celery.tests.bin.projs   celery.tests.bin.proj:hellos   celery.tests.bin.proj.app:app(   R   Ra   R-   t   find_appR0   t   AttributeErrorR   (   R   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_find_app_suspectsê   s    c         C@  s˜   t  d |  j ƒ } t d ƒ t } d | _ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d	 ƒ d
 ƒ Wd  QXd  S(   NRa   s   socket.gethostnames   blacktron.example.comR:   s	   celery@%hs   celery@blacktron.example.coms	   celery@%ds   celery@example.coms	   celery@%ns   celery@blacktron(   R   Ra   R	   R(   RI   t   host_format(   R   RE   t   hn(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_host_formatô   s    	c         C@  s;   t  d |  j ƒ } t | _ |  j | j d d d ƒ ƒ d  S(   NRa   s   <-R   (   R   Ra   t   TrueR   t   assertIsNonet   say_chat(   R   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_say_chat_quiet  s    	c         C@  sN   t  d |  j ƒ } t ƒ  | _ t | _ | j d d d ƒ | j j d ƒ d  S(   NRa   s   ->R   t   body(   R   Ra   R   t   outR’   t	   show_bodyR”   R*   (   R   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_say_chat_show_body  s
    	c         C@  s>   t  d |  j ƒ } t ƒ  | _ t | _ | j d d d ƒ d  S(   NRa   s   ->R   R–   (   R   Ra   R   R—   Rl   R˜   R”   (   R   RE   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_say_chat_no_body  s    	c         C@  s‹   t  d |  j ƒ } t | _ d | _ | j d d d d d g ƒ } |  j | j j j d ƒ |  j | j j j	 d	 ƒ |  j
 | d g ƒ d  S(
   NRa   t   celerydRj   s   --loglevel=INFOs   --s$   broker.url=amqp://broker.example.coms   .prefetch_multiplier=100s   amqp://broker.example.comid   (   R   Ra   R’   t   enable_config_from_cmdlinet	   namespaceRw   RI   t   conft
   BROKER_URLt   CELERYD_PREFETCH_MULTIPLIERt   assertListEqual(   R   RE   t   rest(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_with_cmdline_config  s    			c         @  s‡   t  d |  j ƒ } t d ƒ c ‰  d d l m } | d ƒ ‰ ‡  ‡ f d †  } | ˆ  _ t g ˆ _ |  j | j	 d ƒ d ƒ Wd  QXd  S(   NRa   s   celery.bin.base.symbol_by_namei    (   t
   ModuleTypet   projc          @  s   ‡ f d †  } | ˆ  _  ˆ S(   Nc          @  s   d ˆ  _  d  ˆ  _ ˆ  S(   Ns   quick brown fox(   Ra   R   t   __path__(   R   R   (   t   x(    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   after.  s    		(   R,   (   R   R   R¨   (   t   sbnR§   (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   on_sbn,  s    	s   quick brown fox(
   R   Ra   R	   t   typesR¤   R,   R’   R¦   RI   RŒ   (   R   RE   R¤   Rª   (    (   R©   R§   s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   test_find_app&  s    	c         C@  sY   t  ƒ  } t d d d d d ƒf | _ | j d d g ƒ } |  j | j d ƒ d ƒ d  S(   Ns   -st   actiont   storet   destt   silentt   yes(   R   R   t   preload_optionst   parse_preload_optionsRI   Rd   (   R   RE   t   acc(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt#   test_parse_preload_options_shortopt8  s    	c         C@  sc   t  ƒ  } t d d d d g  ƒ} | f | _ | j d d g ƒ } |  j | i d d g d	 6ƒ d  S(
   Ns   --zoomR­   t   appendt   defaults   --zoom=1s   --zoom=2t   1t   2t   zoom(   R   R   R²   R³   RI   (   R   RE   t   optR´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt1   test_parse_preload_options_with_equals_and_append>  s
    	c         C@  si   t  ƒ  } t d d d d g  ƒ} | f | _ | j d d d d g ƒ } |  j | i d d g d 6ƒ d  S(   Ns   --zoomR­   R¶   R·   R¸   R¹   Rº   (   R   R   R²   R³   RI   (   R   RE   R»   R´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt4   test_parse_preload_options_without_equals_and_appendF  s
    	(    R   R   RF   RK   RN   RT   RW   RZ   R\   R	   R`   Ri   Rr   Ry   R{   R€   Rƒ   R…   R‡   RŠ   R‹   RŽ   R‘   R•   R™   Rš   R   R£   R¬   Rµ   R¼   R½   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyRA   P   s8   													
			
			
							(   t
   __future__R    Rt   t   celery.bin.baseR   R   R   R   t   celery.tests.caseR   R   R   R   R	   t   objectR
   R   R}   R   R!   R8   RA   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/bin/test_base.pyt   <module>   s   "(	