ó
P'—^c           @@  s  d  d l  m Z d  d l Z d  d l m Z m Z d  d l m Z 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 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 e	 j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d e f d „  ƒ  YZ! e! e" d ƒ Z# e! e$ d ƒ Z% d e f d „  ƒ  YZ& d d „ 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   datetimet	   timedelta(   t   dumpst   loads(   t   beat(   t   keyst   string_t(   t   schedule(   t   uuid(   t   AppCaset   Mockt   SkipTestt   callt   patcht   Objectc           B@  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR      s   t
   MockShelvec           B@  s&   e  Z e Z e Z d  „  Z d „  Z RS(   c         C@  s   t  |  _ d  S(   N(   t   Truet   closed(   t   self(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   close   s    c         C@  s   t  |  _ d  S(   N(   R   t   synced(   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   sync   s    (   R   R   t   FalseR   R   R   R   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR      s   	t   MockServicec           B@  s/   e  Z e Z e Z d  „  Z d „  Z d „  Z RS(   c         O@  s   d  S(   N(    (   R   t   argst   kwargs(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   __init__"   s    c         K@  s   t  |  _ d  S(   N(   R   t   started(   R   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   start%   s    c         K@  s   t  |  _ d  S(   N(   R   t   stopped(   R   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   stop(   s    (   R   R   R   R   R    R   R   R!   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR      s
   		t   test_ScheduleEntryc           B@  s>   e  Z e j Z d  „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         K@  sP   t  d d d t d d ƒ d d d i d	 d
 6d |  j ƒ } |  j t  | |    S(   Nt   names   celery.unittest.addR   t   secondsi
   R   i   t   optionst   cput   routing_keyt   app(   i   i   (   t   dictR   R(   t   Entry(   R   R   t   entry(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   create_entry/   s    c         C@  s—   |  j  d d ƒ } |  j | j ƒ |  j | j t ƒ |  j | j d ƒ | j t d d ƒ } | j | ƒ } |  j	 | j | ƒ |  j | j d ƒ d  S(   NR   i
   i    R$   i   (
   R,   t
   assertTruet   last_run_att   assertIsInstanceR   t   assertEqualt   total_run_countR   t   nextt   assertGreaterEqual(   R   R+   t   next_run_att
   next_entry(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   test_next9   s    c         C@  sÑ   |  j  d t d d ƒ ƒ } |  j | j |  j ƒ |  j | j j |  j ƒ | j ƒ  \ } } |  j | ƒ |  j | d ƒ | j t d d ƒ } | j	 | ƒ } | j ƒ  \ } } |  j
 | ƒ |  j | d ƒ d  S(   NR   R$   i
   i	   (   R,   R   t   assertIsR(   R   t   is_duet   assertFalset   assertGreaterR.   R2   R-   (   R   R+   t   due1t   next_time_to_run1R4   R5   t   due2t   next_time_to_run2(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_is_dueD   s    c         C@  s&   |  j  ƒ  } |  j d t | ƒ ƒ d  S(   Ns   <Entry:(   R,   t   assertInt   repr(   R   R+   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   test_reprR   s    c         C@  s  |  j  ƒ  } |  j | j t d d ƒ ƒ |  j | j d ƒ |  j | j i  ƒ |  j | j i d d 6ƒ |  j  d t d d ƒ d	 d d i d d 6d i d d 6ƒ } | j	 | ƒ |  j | j t t d d ƒ ƒ ƒ |  j | j d ƒ |  j | j i d d 6ƒ |  j | j i d d 6ƒ d  S(   NR$   i
   i   R&   R'   R   t   minutesi   R   i   R   s   foo.bar.bazt   callbackR%   t   urgent(   i   i   (   i   i   (   i   i   (
   R,   R0   R   R   t   assertTupleEqualR   t   assertDictEqualR   R%   t   update(   R   R+   t   entry2(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_updateV   s    "(
   R   R   R   t   ScheduleEntryR*   R,   R6   R?   RB   RJ   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR"   ,   s   		
			t
   mSchedulerc           B@  s#   e  Z d  „  Z d d d d „ Z RS(   c         O@  s#   g  |  _  t j j |  | | Ž d  S(   N(   t   sentR   t	   SchedulerR   (   R   R   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR   j   s    	c         K@  s?   |  j  j i | d 6| d 6| d 6| d 6ƒ |  j j t ƒ  ƒ S(   NR#   R   R   R%   (   RM   t   appendR(   t   AsyncResultR	   (   R   R#   R   R   R%   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   send_taskn   s
    N(   R   R   R   t   NoneRQ   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRL   h   s   	t   mSchedulerSchedulingErrorc           B@  s   e  Z d  „  Z RS(   c         O@  s   t  j d ƒ ‚ d  S(   Ns   Could not apply task(   R   t   SchedulingError(   R   R   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRQ   x   s    (   R   R   RQ   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRS   v   s   t   mSchedulerRuntimeErrorc           B@  s   e  Z d  „  Z RS(   c         O@  s   t  d ƒ ‚ d  S(   Ns   dict modified while itervalues(   t   RuntimeError(   R   R   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   maybe_due~   s    (   R   R   RW   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRU   |   s   t   mocked_schedulec           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s4   | |  _  | |  _ t d d ƒ |  _ t j |  _ d  S(   NR$   i   (   t   _is_duet   _next_run_atR   t	   run_everyR   t   utcnowt   nowfun(   R   R8   R4   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR   „   s    		c         C@  s   |  j  |  j f S(   N(   RY   RZ   (   R   R.   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR8   Š   s    (   R   R   R   R8   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRX   ‚   s   	i   t   test_Schedulerc           B@  sà   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z e d ƒ d „  ƒ Z d „  Z	 d „  Z
 d	 „  Z e d
 ƒ d „  ƒ Z d „  Z d „  Z e d ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@  sB   i d d 6} t  d |  j d | d t ƒ } |  j | j | ƒ d  S(   Nt   bart   fooR(   R   t   lazy(   RL   R(   R   R7   t   data(   R   t   customt	   scheduler(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_custom_schedule_dict”   s    c         C@  sœ   |  j  j d t ƒ d „  ƒ } t d d ƒ | _ | j | j ƒ  j k sN t ‚ t	 d |  j  ƒ } | j | j
 d | j d |  j  ƒ ƒ |  j | j j ƒ d  S(   Nt   sharedc           S@  s   d  S(   N(    (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR`   ›   s    R#   s   foo.apply_asyncR(   t   task(   R(   Rg   R   R   t   apply_asyncR#   t   _get_appt   taskst   AssertionErrorRL   R*   R-   t   called(   R   R`   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt/   test_apply_async_uses_registered_task_instances™   s    %c         C@  sæ   |  j  j d t ƒ d „  ƒ } t ƒ  | _ t d |  j  ƒ } t ƒ  | _ t ƒ  | _ t | j _	 | j | j
 d | j d |  j  ƒ ƒ | j j ƒ  t ƒ  | _ t | j _	 | j | j
 d | j d |  j  ƒ ƒ |  j | j j ƒ d  S(   NRf   c           S@  s   d  S(   N(    (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   not_sync§   s    R(   Rg   (   R(   Rg   R   R   Rh   RL   t   _do_synct   should_syncR   t   return_valueR*   R#   t   assert_called_withR9   Rl   (   R   Rn   t   s(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_should_sync¥   s    %%c         C@  sç   d |  j  j _ |  j  j d t ƒ d „  ƒ } t ƒ  | _ t d |  j  ƒ } |  j | j	 d ƒ t ƒ  | _
 | j | j d | j d |  j  ƒ ƒ |  j | j d ƒ | j | j d | j d |  j  ƒ ƒ | j
 j ƒ  d |  j  j _ d  S(   Ni   Rf   c           S@  s   d  S(   N(    (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRn   »   s    R(   Rg   i   i    (   R(   t   conft   CELERYBEAT_SYNC_EVERYRg   R   R   Rh   RL   R0   t   sync_every_tasksRo   R*   R#   t   _tasks_since_syncRr   (   R   Rn   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt.   test_should_sync_increments_sync_every_counter¸   s    %%c         C@  s©   d |  j  j _ |  j  j d t ƒ d „  ƒ } t ƒ  | _ t d |  j  ƒ } |  j | j	 d ƒ | j | j
 d | j d |  j  ƒ ƒ |  j | j d ƒ d |  j  j _ d  S(   Ni   Rf   c           S@  s   d  S(   N(    (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRn   Î   s    R(   Rg   i    (   R(   Ru   Rv   Rg   R   R   Rh   RL   R0   Rw   R*   R#   Rx   (   R   Rn   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt(   test_sync_task_counter_resets_on_do_syncË   s    %s    celery.app.base.Celery.send_taskc         C@  s?   t  j d |  j ƒ } | j d d d ƒ| j d d d ƒd  S(   NR(   s	   tasks.addt	   countdowni
   (   R   RN   R(   RQ   Rr   (   R   RQ   t   b(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_send_taskÛ   s    c         C@  s)   t  d |  j ƒ } |  j | j t ƒ d  S(   NR(   (   RL   R(   R/   t   infoR   (   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   test_infoá   s    c         C@  sv   t  d |  j ƒ } | j d d d d d |  j ƒ } |  j | j | j | ƒ | ƒ |  j | j d i d d 6ƒ ƒ d  S(   NR(   R#   s	   add everyRg   s	   tasks.add(   RL   R(   R*   R7   t   _maybe_entryR#   R-   (   R   Rs   R+   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_maybe_entryå   s
    !c         C@  s@   t  d |  j ƒ } i d d 6| _ |  j | j i d d 6ƒ d  S(   NR(   R_   R`   (   RL   R(   R   R0   Rb   (   R   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_set_scheduleí   s    s-   kombu.connection.Connection.ensure_connectionc         C@  sZ   t  d |  j ƒ } |  j | j ƒ  ƒ |  j | j ƒ | j d d } | t ƒ  d ƒ d  S(   NR(   i    i   (   RL   R(   R-   t   _ensure_connectedRl   t	   call_argst   KeyError(   R   t   ensureRs   RD   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt$   test_ensure_connection_error_handlerò   s
    c         C@  sô   d  |  j j _ i  |  j j _ t d |  j ƒ } | j i  ƒ |  j d | j ƒ t	 |  j j
 _ d |  j j _ t d |  j ƒ } | j i  ƒ |  j d | j ƒ t |  j j
 _ d |  j j _ t d |  j ƒ } | j i  ƒ |  j d | j ƒ d  S(   NR(   s   celery.backend_cleanupi   i   (   RR   R(   Ru   t   CELERY_TASK_RESULT_EXPIRESt   CELERYBEAT_SCHEDULERL   t   install_default_entriest   assertNotInRb   R   t   backendt   supports_autoexpireR@   R   (   R   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_install_default_entriesû   s    c         C@  sU   t  d |  j ƒ } | j d d d t d d d i d	 d
 6ƒ |  j | j ƒ  d ƒ d  S(   NR(   R#   t   test_due_tickR   R   i   i   R   R_   R`   (   i   i   (   RL   R(   t   addt
   always_dueR0   t   tick(   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR     s    s   celery.beat.errorc         C@  sR   t  d |  j ƒ } | j d d d t ƒ |  j | j ƒ  d ƒ |  j | j ƒ d  S(   NR(   R#   t   test_due_tick_SchedulingErrorR   i   (   RS   R(   R   R‘   R0   R’   R-   Rl   (   R   t   errorRd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR“     s
    c         C@  sE   t  d |  j ƒ } | j d d d t ƒ |  j | j ƒ  | j ƒ d  S(   NR(   R#   t   test_due_tick_RuntimeErrorR   (   RU   R(   R   R‘   R0   R’   t   max_interval(   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR•     s    c         C@  sB   t  d |  j ƒ } | j d d d t ƒ |  j | j ƒ  d ƒ d  S(   NR(   R#   t   test_pending_tickR   i   (   RL   R(   R   t   always_pendingR0   R’   (   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR—   $  s    c         C@  sX   t  d |  j ƒ } | j } | j d d d t t | d ƒ ƒ |  j | j ƒ  | ƒ d  S(   NR(   R#   t   test_honors_max_intervalR   i   (   RL   R(   R–   R   RX   R   R0   R’   (   R   Rd   t   maxi(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR™   *  s
    	c         C@  ss   t  d |  j ƒ } d d d d d d g } t d „  t | ƒ Dƒ ƒ } | j | ƒ |  j | j ƒ  t | ƒ ƒ d  S(	   NR(   iX  i,  iŠ  ix   iú   i$   c         s@  s5   |  ]+ \ } } d  | i t  t | ƒ d 6f Vq d S(   s   test_ticks%sR   N(   RX   R   (   t   .0t   it   j(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pys	   <genexpr>4  s   (   RL   R(   R)   t	   enumeratet   update_from_dictR0   R’   t   min(   R   Rd   t   numsRs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt
   test_ticks1  s    	c         C@  sN   t  d |  j ƒ } | j d d d t t d  ƒ ƒ |  j | j ƒ  | j ƒ d  S(   NR(   R#   t   test_schedule_no_remainR   (	   RL   R(   R   RX   R   RR   R0   R’   R–   (   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR£   :  s    c         C@  s4   t  d |  j ƒ } | j ƒ  | j ƒ  | j ƒ  d  S(   NR(   (   RL   R(   R   t   setup_scheduleR   (   R   Rd   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_interface@  s    

c         C@  sñ   t  d |  j ƒ } t  d |  j ƒ } | j i i t t d ƒ d 6d 6i t t d ƒ d 6d 6ƒ | j i i t t d ƒ d 6d 6i t t d ƒ d 6d 6ƒ | j | j ƒ |  j d | j ƒ |  j d | j ƒ |  j	 | j d j j
 d ƒ d  S(	   NR(   i
   R   R`   i   R_   i(   t   baz(   RL   R(   RŸ   RX   R   t   merge_inplaceR   R‹   R@   R0   RZ   (   R   t   aR|   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_merge_inplaceF  s      (   R   R   Re   Rm   Rt   Ry   Rz   R   R}   R   R   R‚   R‡   RŽ   R   R“   R•   R—   R™   R¢   R£   R¥   R©   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR^   ’   s(   																		c         @  sA   ˆ  d  k r t ƒ  ‰  n  d t j f ‡  f d †  ƒ  Y} | ˆ  f S(   Nt   MockPersistentSchedulerc           @  s>   e  Z ˆ  Z e ƒ  Z ‡  f d  †  e _ e Z d Z	 d „  Z
 RS(   c          @  s   ˆ  S(   N(    (   R¨   t   kw(   t   shelv(    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   <lambda>[  t    c         S@  s5   |  j  r t ƒ  ‚ n  |  j r1 |  j j j ƒ  n  d S(   Ng        (   t   tick_raises_exitt
   SystemExitt   shutdown_servicet   _is_shutdownt   set(   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR’   _  s
    		N(   R   R   t   shR   t   persistencet   openR   R¯   RR   R±   R’   (    (   R¬   (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRª   X  s   	(   RR   R   R   t   PersistentScheduler(   R¬   Rª   (    (   R¬   s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   create_persistent_schedulerT  s    t   test_PersistentSchedulerc           B@  s/   e  Z e d  ƒ d „  ƒ Z d „  Z d „  Z RS(   s	   os.removec         C@  s®   t  ƒ  d d |  j d d ƒ } | j ƒ  | j g  | j D] } t d | ƒ ^ q9 ƒ t ƒ  } t j | _ | | _	 | j ƒ  t j
 | _ |  j t ƒ  | j ƒ  Wd  QXd  S(   Ni    R(   t   schedule_filenameR   (   R¸   R(   t
   _remove_dbt   assert_has_callst   known_suffixesR   t   OSErrort   errnot   ENOENTt   side_effectt   EPERMt   assertRaises(   R   t   removeRs   t   suffixt   err(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_remove_dbk  s    	
'		
c         @  s/  t  ƒ  d d |  j d d ƒ ‰ t ƒ  ‰  ˆ j _ t ƒ  ˆ _ ‡  ‡ f d †  } | ˆ  _ ˆ j ƒ  ˆ j j ƒ  i d d 6ˆ _	 ˆ j ƒ  t ƒ  ˆ j	 _
 t ƒ  } ˆ j _ ˆ j	 | _ d ˆ j	 d	 <ˆ j ƒ  | j ˆ j d
 t ƒˆ j	 j
 j ƒ  t ˆ j	 d <t ƒ  ˆ j	 _
 ˆ j ƒ  ˆ j	 j
 j ƒ  d  S(   Ni    R(   Rº   R   c          @  s#   ˆ  j  d k r ˆ j St ƒ  ‚ d  S(   Ni   (   t
   call_countR´   R¾   (   R   R   (   t   opensRs   (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   effect  s    i   t   __version__t   FUNKYt   tzt	   writebackt   utc_enabled(   R¸   R(   R   Rµ   R¶   R»   RÁ   R¤   Rr   t   _storet   clearRq   Rº   R   R   (   R   RÊ   t   op(    (   RÉ   Rs   s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_setup_schedule{  s*    		



c         C@  sw   t  ƒ  d d d d |  j ƒ } i i  d 6| _ i d d 6| _ |  j | j i d d 6ƒ |  j | j d | j ƒ d  S(   Ni    Rº   R   R(   t   entriesR_   R`   (   R¸   R(   RÐ   R   RG   (   R   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_get_schedule˜  s    (   R   R   R   RÇ   RÓ   RÕ   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyR¹   i  s   	t   test_Servicec           B@  sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@  s.   t  ƒ  \ } } t j d |  j d | ƒ | f S(   NR(   t   scheduler_cls(   R¸   R   t   ServiceR(   (   R   RN   t   mock_shelve(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   get_service¤  s    c         C@  s8   t  j d |  j d t ƒ } |  j t t | ƒ ƒ ƒ d  S(   NR(   R×   (   R   RØ   R(   R   R-   R   R   (   R   Rs   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_pickleable¨  s    c         C@  sT  |  j  ƒ  \ } } | j j } |  j | t ƒ |  j | j t j ƒ t | j ƒ  ƒ } x( t | d ƒ D] } |  j	 | | ƒ qg W| j
 ƒ  |  j | j ƒ |  j | j ƒ |  j | j j ƒ  ƒ | j
 ƒ  | j d t ƒ |  j | j j ƒ  ƒ | j d t ƒ |  j | j j ƒ  ƒ | j j } d  | j _ z | j j
 ƒ  Wd  | | j _ Xd  S(   NRÔ   t   wait(   RÚ   Rd   R   R/   R)   R   RN   t   listR   R@   R   R-   R   R   t   _is_stoppedt   isSetR!   R   R²   R   RÐ   RR   (   R   Rs   R´   R   t	   scheduledt	   task_namet   p(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt
   test_start¬  s*    

c         C@  s3   |  j  ƒ  \ } } | j j ƒ  | j d t ƒ d  S(   Nt   embedded_process(   RÚ   R²   R³   R   R   (   R   Rs   R´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_start_embedded_processÆ  s    c         C@  s3   |  j  ƒ  \ } } | j j ƒ  | j d t ƒ d  S(   NRä   (   RÚ   R²   R³   R   R   (   R   Rs   R´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_start_threadË  s    c         C@  sB   |  j  ƒ  \ } } t | j _ | j ƒ  |  j | j j ƒ  ƒ d  S(   N(   RÚ   R   Rd   R¯   R   R-   R²   Rß   (   R   Rs   R´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt!   test_start_tick_raises_exit_errorÐ  s    
c         C@  sB   |  j  ƒ  \ } } | | j _ | j ƒ  |  j | j j ƒ  ƒ d  S(   N(   RÚ   Rd   R±   R   R-   R²   Rß   (   R   Rs   R´   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt+   test_start_manages_one_tick_before_shutdownÖ  s    
(	   R   R   RÚ   RÛ   Rã   Rå   Ræ   Rç   Rè   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRÖ   ¢  s   						t   test_EmbeddedServicec           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s
  y d d  l  } Wn t k
 r/ t d ƒ ‚ n Xd d l m } t j |  j ƒ } |  j | | ƒ |  j | j	 t j
 ƒ t ƒ  | _	 d t f d „  ƒ  Y} t d ƒ  | j ƒ  Wd  QX|  j | j	 j ƒ | ƒ  | _ | j ƒ  |  j | j	 j ƒ |  j | j j ƒ d  S(   Ni    s   multiprocessing not available(   t   Processt   _Popenc           B@  s   e  Z e Z d  „  Z RS(   c         S@  s   t  |  _ d  S(   N(   R   t
   terminated(   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt	   terminateï  s    (   R   R   R   Rì   Rí   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRë   ì  s   s   celery.platforms.close_open_fds(   t   _multiprocessingt   ImportErrorR   t   billiard.processRê   R   t   EmbeddedServiceR(   R/   t   serviceRØ   R   t   objectR   t   runR-   R   t   _popenR!   R    Rì   (   R   Rî   Rê   Rs   Rë   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_start_stop_processß  s"    
c         C@  s˜   t  j |  j d t ƒ} d d l m } |  j | | ƒ |  j | j t  j ƒ t	 ƒ  | _ | j
 ƒ  |  j | j j ƒ | j ƒ  |  j | j j ƒ d  S(   Nt   threadi    (   t   Thread(   R   Rñ   R(   R   t	   threadingRø   R/   Rò   RØ   R   Rô   R-   R   R!   R    (   R   Rs   Rø   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_start_stop_threadedû  s    

(   R   R   Rö   Rú   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRé   Ý  s   	t   test_schedulec           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  su   t  d d |  j ƒ} t | _ | j t j ƒ  ƒ } |  j | j ƒ t	 | _ | j t j ƒ  ƒ } |  j
 | j ƒ d  S(   Ni
   R(   (   R   R(   R   RÏ   t   maybe_make_awareR   R\   R-   t   tzinfoR   t   assertIsNone(   R   t   xt   dt   d2(    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_maybe_make_aware  s    		c         C@  su   t  d d |  j ƒ} t | _ | j t j ƒ  ƒ } |  j | j ƒ t	 | _ | j t j ƒ  ƒ } |  j
 | j ƒ d  S(   Ni
   R(   (   R   R(   R   RÏ   t   to_localR   R\   Rþ   Rý   R   R-   (   R   Rÿ   R   (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   test_to_local  s    		(   R   R   R  R  (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyRû   	  s   		(-   t
   __future__R    R¿   R   R   t   pickleR   R   t   celeryR   t   celery.fiveR   R   t   celery.schedulesR   t   celery.utilsR	   t   celery.tests.caseR
   R   R   R   R   Ró   R   R)   R   R   R"   RN   RL   RS   RU   RX   R   R‘   R   R˜   R^   RR   R¸   R¹   RÖ   Ré   Rû   (    (    (    s<   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/app/test_beat.pyt   <module>   s0   (<Â9;,