ó
P'—^c           @@  sQ  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 m Z m Z m Z m Z m Z m Z m Z d  d l m Z 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 f d „  ƒ  YZ d „  Z  d e f d „  ƒ  YZ! d S(   i    (   t   absolute_importN(   t   RestartFreqExceeded(   t
   LimitedSet(   t   state(   t   Consumert   Heartt   Taskst   Agentt   Minglet   Gossipt	   dump_bodyt   CLOSE(   t   AppCaset   ContextMockt   Mockt   SkipTestt   callt   patcht   test_Consumerc           B@  s€   e  Z e 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 RS(   c         K@  s‘   t  d t ƒ  d t ƒ  d t ƒ  d |  j d t ƒ  d t ƒ  d | rH d  n t ƒ  |  } t ƒ  | _ t ƒ  | _ t ƒ  | _ t j	 t
 f | _ | S(   Nt   on_task_requestt   init_callbackt   poolt   appt   timert
   controllert   hub(   R   R   R   t   Nonet	   blueprintt   _restart_statet   _amqp_connectiont
   connectiont   sockett   errort   OSErrort   connection_errors(   t   selft   no_hubt   kwargst   consumer(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   get_consumer   s    							c         C@  s$   |  j  ƒ  } |  j | j d ƒ d  S(   Ns   fooxasdwx.wewe(   R'   t   assertIsNonet   task_buckets(   R#   t   c(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_taskbuckets_defaultdict+   s    c         C@  s_   t  ƒ  } d | _ y t | j ƒ } Wn t k
 rD t d ƒ ‚ n X|  j t | | ƒ ƒ d  S(   Nt   strs   buffer type not available(   R   t   bodyt   buffert	   NameErrorR   t
   assertTrueR
   (   R#   t   msgt   buf(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_dump_body_buffer/   s    		c         C@  s]   |  j  d d ƒ } |  j | j d ƒ d |  j j _ |  j  d d  ƒ } |  j | j d ƒ d  S(   Nt   amqheartbeati
   i   (   R'   t   assertEqualR4   R   t   conft   BROKER_HEARTBEATR   (   R#   R*   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_sets_heartbeat8   s
    c         C@  sQ   t  d ƒ ? } d | _ d |  j j _ |  j ƒ  |  j |  j j j ƒ Wd  QXd  S(   Ns*   celery.worker.consumer._detect_environmentt   geventg
×£p=ª@@(   R   t   return_valueR   R6   t   BROKER_CONNECTION_TIMEOUTR'   R(   (   R#   t   de(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt+   test_gevent_bug_disables_connection_timeout?   s
    	
c         C@  s  |  j  ƒ  } t d ƒ e } t ƒ  } t ƒ  } t | j _ | j | | d ƒ | j j d ƒ | j | ƒ | j j | ƒ Wd  QXt d ƒ ‡ } t	 | j _ d | j
 _ | j | | d ƒ | j j d ƒ | j j j d | j | | d f ƒ | j
 j d ƒ |  j | j ƒ Wd  QXd  S(   Ns$   celery.worker.consumer.task_reservedi   g¤p=
×£
@i   (   R'   R   R   t   Truet   can_consumeR:   t   _limit_taskt   assert_called_withR   t   Falset   expected_timeR   t
   call_aftert   assertFalset   called(   R#   R*   t   reservedt   buckett   request(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_limit_taskF   s$    		c         C@  sR   |  j  ƒ  } t ƒ  } | j j _ t j | _ |  j t ƒ  | j ƒ  Wd  QXd  S(   N(   R'   R!   R   t   startt   side_effectt   errnot   EMFILEt   assertRaises(   R#   R*   t   exc(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt"   test_start_blueprint_raises_EMFILE^   s
    c         @  so   |  j  ƒ  ‰  ‡  f d †  } | ˆ  j j _ t j ƒ  ˆ  j j _ t d ƒ  } ˆ  j ƒ  | j	 d ƒ Wd  QXd  S(   Nc          @  s   t  ˆ  j _ t ƒ  ‚ d  S(   N(   R   R   R   R   (   t   argsR%   (   R*   (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   sei   s    s   celery.worker.consumer.sleepi   (
   R'   R   t   stepRL   R   R    R   RK   R   RA   (   R#   RS   t   sleep(    (   R*   sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_max_restarts_exceededf   s    
c         @  s   ‡  f d †  } | S(   Nc          @  s   t  ˆ  j _ d  S(   N(   R   R   R   (   RR   R%   (   R*   (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRS   t   s    (    (   R#   R*   RS   (    (   R*   sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   _closers   s    c         C@  si   |  j  ƒ  } t ƒ  | j j _ t j ƒ  | j j _ |  j	 | ƒ | j j
 _ | j ƒ  | j j j ƒ  d  S(   N(   R'   t   MemoryErrorR   t   collectRL   R   R    R   RK   RW   t   restartRA   (   R#   R*   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_collects_at_restartx   s    
c         C@  s&   |  j  ƒ  } | j t d d ƒ ƒ d  S(   Nt   namet   loop(   R'   t   register_with_event_loopR   (   R#   R*   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_register_with_event_loop€   s    c         C@  s”   t  d ƒ ‚ } |  j ƒ  } | j ƒ  | j j j j ƒ  | j j j ƒ  | j j ƒ  | j j	 j ƒ  d  | _ d  | _ d  | _ | j ƒ  Wd  QXd  S(   Ns(   celery.worker.consumer.reserved_requests(   R   R'   t   on_closeR   t	   semaphoret   clearRA   R   R   t   flushR   (   R#   RG   R*   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt-   test_on_close_clears_semaphore_timer_and_reqs„   s    
			c         C@  s„   t  ƒ  |  j _ |  j j j } |  j ƒ  } |  j | j ƒ  ƒ |  j | j j ƒ | j j	 d d } d g | _
 | t ƒ  d ƒ d  S(   Ni    i   i   i   (   i   i   i   (   R   R   R   R:   R'   R0   t   connectt   ensure_connectionRF   t	   call_argst   altR   (   R#   t   connR*   t   errback(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_connect_error_handler’   s    (   t   __name__t
   __module__RB   R'   R+   R3   R8   R=   RJ   RQ   RV   RW   R[   R_   Rd   Rk   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyR      s   												t
   test_Heartc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  sÂ   t  ƒ  } t  ƒ  | _ t  ƒ  | _ t d ƒ  } t | ƒ } |  j | j ƒ |  j | j d  ƒ |  j
 | j ƒ | j | ƒ |  j | j ƒ | j | j | j | j ƒ | j j j ƒ  Wd  QXd  S(   Ns   celery.worker.heartbeat.Heart(   R   R   t   event_dispatcherR   R   R0   t   enabledR5   t   heartbeat_intervalR   R(   t   heartRK   RA   (   R#   R*   t   hclst   h(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt
   test_startŸ   s    	
c         C@  sÈ   t  ƒ  } t  ƒ  | _ t  ƒ  | _ t d ƒ • } t | t d ƒ } |  j | j ƒ |  j | j	 d ƒ |  j
 | j ƒ | j | ƒ |  j | j ƒ | j | j | j | j	 ƒ | j j j ƒ  Wd  QXd  S(   Ns   celery.worker.heartbeat.Hearti   (   R   R   Ro   R   R   RB   R0   Rp   R5   Rq   R(   Rr   RK   RA   (   R#   R*   Rs   Rt   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_start_heartbeat_interval°   s    	
(   Rl   Rm   Ru   Rv   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRn      s   	t
   test_Tasksc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  sR   t  ƒ  } t | ƒ } |  j | j ƒ |  j | j ƒ t  ƒ  | _ | j | ƒ d  S(   N(   R   R   R(   t   task_consumert   qost   stop(   R#   R*   t   tasks(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt	   test_stopÄ   s    	c         C@  s&   t  ƒ  } t | ƒ } | j | ƒ d  S(   N(   R   R   Rz   (   R#   R*   R{   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_stop_already_stoppedÍ   s    	(   Rl   Rm   R|   R}   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRw   Â   s   		t
   test_Agentc           B@  s   e  Z d  „  Z RS(   c         C@  s]   t  ƒ  } t | ƒ } t  ƒ  | _ d | _ |  j | j | ƒ ƒ | j j | j | j ƒ d  S(   Ns	   foo:Agent(   R   R   t   instantiatet	   agent_clst   assertIsNotNonet   createRA   R   (   R#   R*   t   agent(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRu   Õ   s    		(   Rl   Rm   Ru   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyR~   Ó   s   t   test_Minglec           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  sZ   t  ƒ  } t ƒ  | j _ t | ƒ } t  ƒ  } | j j j _ i  | j _ | j	 | ƒ d  S(   N(
   R   R   R   R   R   t   controlt   inspectR:   t   helloRK   (   R#   R*   t   minglet   I(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_start_no_repliesà   s    	c         C@  sy  zdt  ƒ  } t ƒ  | j _ t | ƒ } |  j | j ƒ t ƒ  } t ƒ  } | j d ƒ | j d ƒ | j d ƒ t  ƒ  } | j j	 j
 _ i i d d 6| j d 6d 6i d d 6| j d 6d	 6i d
 d 6d 6| j _ | j | ƒ | j j | j t j j ƒ | j j j j t d ƒ t d ƒ g d t ƒ|  j d t j ƒ |  j d t j ƒ |  j d t j ƒ Wd  t j j ƒ  Xd  S(   Ns   Aig-1s   Aig-2s   Big-1i8  t   clockt   revokeds   A@example.comi   s   B@example.coms   unknown methodR    s   C@example.comt	   any_order(   R   R   R   R   R   R0   Rp   R   t   addR…   R†   R:   t   _dataR‡   RK   RA   t   hostnamet   worker_stateRŒ   R‹   t   adjustt   assert_has_callsR   R>   t   assertInRb   (   R#   R*   Rˆ   t   Aigt   BigR‰   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRu   è   s:    			(   Rl   Rm   RŠ   Ru   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyR„   Þ   s   	c          C@  s(   t  ƒ  }  t  ƒ  |  _ d |  j j _ |  S(   Nt   amqp(   R   R:   t	   transportt   driver_type(   R   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyR     s    	t   test_Gossipc           B@  s¼   e  Z d  „  Z d „  Z d „  Z d „  Z d d d d d d	 d
 d „ Z d „  Z d d d „ Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@  sN   |  j  ƒ  } t ƒ  | j _ t | ƒ } |  j | j ƒ |  j | j | ƒ d  S(   N(	   R   R   R   R   R	   R0   Rp   t   assertIst   gossip(   R#   R*   t   g(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt	   test_init  s
    c         C@  s  |  j  ƒ  } t ƒ  | j _ t | ƒ } t d d ƒ } t d d ƒ } t d d ƒ } t d d ƒ } | j j j | ƒ | j j j | ƒ | j j	 j | ƒ | j j
 j | ƒ t d d ƒ } | j | ƒ | j | ƒ | j | ƒ | j | ƒ | j | ƒ | j | ƒ | j | ƒ d  S(   NR\   t   on_node_joint   on_node_join2t   on_node_leaves   on.node_lostt   worker(   R   R   R   R   R	   R   t   ont	   node_joinRŽ   t
   node_leavet	   node_lostRŸ   RA   R¡   t   on_node_lost(   R#   R*   R   RŸ   R    R¡   R§   R¢   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_callbacks   s&    c      
   C@  s   |  j  ƒ  } t ƒ  | j _ t | ƒ } | j | ƒ | j d d d ƒ |  j | j d g  ƒ | j	 j
 j d d d d d d d d d ƒd  S(   Nt   idt   topict   actions   worker-electt   cveri   (   R   R   R   R   R	   RK   t   electiont   assertListEqualt   consensus_repliest
   dispatchert   sendRA   (   R#   R*   R   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_election6  s    c      
   C@  s×   |  j  ƒ  } t ƒ  | j _ t | ƒ } | j | ƒ t d ƒ ‘ } t ƒ  } | _ t ƒ  } | j	 | ƒ | j
 | d | j ƒ| j j
 ƒ  t ƒ  | j _ t d ƒ $ } | j	 | ƒ |  j | j ƒ Wd  QXWd  QXd  S(   Ns    celery.worker.consumer.signatureR   s   celery.worker.consumer.error(   R   R   R   R   R	   RK   R   R   R:   t	   call_taskRA   t   apply_asyncRX   RL   R0   RF   (   R#   R*   R   t	   signaturet   sigt   taskR    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_call_taskA  s    	R©   i8  s   foo@example.comiØ  Rª   R«   i   c         C@  s5   i | d 6| d 6| d 6| d 6| d 6| d 6| d 6S(   NR©   R‹   R   t   pidRª   R«   R¬   (    (   R#   R©   R‹   R   R¹   Rª   R«   R¬   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   EventS  s    c         C@  sÆ   |  j  ƒ  } t ƒ  | j _ t | ƒ } | j | ƒ |  j d ƒ } | j | ƒ | j d } |  j	 | ƒ | j
 j j d d d ƒ| j d ƒ t d ƒ $ } | j | ƒ |  j	 | j ƒ Wd  QXd  S(   Nt   id1s   worker-elect-ackR©   R‹   s   celery.worker.consumer.error(   R   R   R   R   R	   RK   Rº   t   on_electt   consensus_requestsR0   R°   R±   RA   t   popR   RF   (   R#   R*   R   t   eventt   in_heapR    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_elect`  s    s	   foo@x.comc         C@  s.   t  ƒ  } t ƒ  | j _ | | _ | | _ | S(   N(   R   R   R   R   R   R¹   (   R#   R   R¹   R*   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyR   q  s
    			c      
   C@  sš  | j  | ƒ |  j j | _ |  j d | j ƒ |  j | j i d d 6ƒ ƒ d d d g | j j _	 g  | j d <g  | j
 d <|  j d d d ƒ } |  j d d d ƒ } |  j d d	 d ƒ } | j | ƒ | j | ƒ | j | ƒ |  j t | j
 d ƒ d	 ƒ t d
 ƒ ‡ | j | ƒ |  j t | j d ƒ d ƒ | j | ƒ |  j t | j d ƒ d ƒ | j | ƒ |  j t ƒ  | j d Wd  QXWd  QXd  S(   Nt   idxR©   s	   foo@x.coms	   bar@x.coms	   baz@x.comR»   i   i   i   s   celery.worker.consumer.info(   RK   R   R‹   t   assertNotInR¯   R(   t   on_elect_ackR   t   alive_workersR:   R½   Rº   R¼   R5   t   lenR   RO   t   KeyError(   R#   R   R*   t   e1t   e2t   e3(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   setup_electionx  s,    c         C@  sS   |  j  d d ƒ } t | ƒ } t ƒ  } | j d <|  j | | ƒ | j d ƒ d  S(   NR   s	   foo@x.comRª   R«   (   R   R	   R   t   election_handlersRË   RA   (   R#   R*   R   t   handler(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_elect_ack_win”  s
    c         C@  se   |  j  d d ƒ } t ƒ  | j _ t | ƒ } t ƒ  } | j d <|  j | | ƒ |  j | j	 ƒ d  S(   NR   s	   bar@x.comRª   (
   R   R   R   R   R	   R   RÌ   RË   RE   RF   (   R#   R*   R   RÍ   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_elect_ack_lose›  s    c         C@  s`   |  j  d d ƒ } t | ƒ } i  | _ t d ƒ ' } |  j | | ƒ |  j | j ƒ Wd  QXd  S(   NR   s	   foo@x.coms   celery.worker.consumer.error(   R   R	   RÌ   R   RË   R0   RF   (   R#   R*   R   R    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt#   test_on_elect_ack_win_but_no_action£  s    	c         C@  sN   |  j  ƒ  } t | ƒ } t d ƒ $ } | j | ƒ | j d d ƒ Wd  QXd  S(   Ns   celery.worker.consumer.debugs   %s joined the partys	   foo@x.com(   R   R	   R   RŸ   RA   (   R#   R*   R   t   debug(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_node_join«  s
    c         C@  sN   |  j  ƒ  } t | ƒ } t d ƒ $ } | j | ƒ | j d d ƒ Wd  QXd  S(   Ns   celery.worker.consumer.debugs   %s lefts	   foo@x.com(   R   R	   R   R¡   RA   (   R#   R*   R   RÑ   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_node_leave²  s
    c         C@  sN   |  j  ƒ  } t | ƒ } t d ƒ $ } | j | ƒ | j d d ƒ Wd  QXd  S(   Ns   celery.worker.consumer.infos   missed heartbeat from %ss	   foo@x.com(   R   R	   R   R§   RA   (   R#   R*   R   t   info(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_node_lost¹  s
    c         C@  sb   |  j  ƒ  } t | ƒ } | j ƒ  | j j j | j | j ƒ | j } | j ƒ  | j	 j ƒ  d  S(   N(
   R   R	   t   register_timerR   t   call_repeatedlyRA   t   intervalt   periodict   _treft   cancel(   R#   R*   R   t   tref(    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_register_timerÀ  s    
	
c         C@  s±   |  j  ƒ  } t | ƒ } t ƒ  | _ t ƒ  } | _ t ƒ  } i | d 6| _ t | _ d | _ | j	 ƒ  t
 | _ | j	 ƒ  | j j | ƒ |  j t ƒ  | j d Wd  QXd  S(   Nt   foo(   R   R	   R   R§   R   t   workersR>   t   aliveR   RÙ   RB   RA   RO   RÇ   (   R#   R*   R   R   R¢   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_periodicÉ  s    			
	
c         C@  sÇ  |  j  ƒ  } t | ƒ } |  j | j ƒ t ƒ  } d i  f | _ | j j j j	 d | j
 d | j d d ƒ t ƒ  | _ t ƒ  } t ƒ  | _
 t ƒ  | _ | d f | j _ t ƒ  } i d d 6| _ i d d 6| _ t ƒ  } | j d <| j | | ƒ | j	 | j ƒ i  | _ | j | | ƒ i d	 d 6| _ d	 i  f | _ | j | | ƒ i d
 d 6| _ d
 i  f | _ | d f | j _ | j | | ƒ i | j d 6| _ | j | | ƒ | j j j	 ƒ  d  S(   Ns   worker-onlineRŸ   R¡   t   max_tasks_in_memoryi   t   routing_keyt   otherR   s   worker-offlines
   worker-bazi    (   R   R	   R0   Rp   R   R:   R   t   eventst   StateRA   RŸ   R¡   t   update_statet   delivery_infot   headerst   event_handlerst
   on_messaget   payloadR   R‹   t   forward(   R#   R*   R   t   prepareR¢   t   messageRÍ   (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   test_on_messageÚ  s@    						(   Rl   Rm   Rž   R¨   R²   R¸   Rº   RÁ   R   RË   RÎ   RÏ   RÐ   RÒ   RÓ   RÕ   RÝ   Rá   Rð   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyRš     s&   															("   t
   __future__R    RM   R   t   billiard.exceptionsR   t   celery.datastructuresR   t   celery.workerR   R‘   t   celery.worker.consumerR   R   R   R   R   R	   R
   R   t   celery.tests.caseR   R   R   R   R   R   R   Rn   Rw   R~   R„   R   Rš   (    (    (    sC   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/worker/test_consumer.pyt   <module>   s   :.…%2	