ó
P'^c           @@  s   d  d l  m Z d  d l 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 d S(	   i    (   t   absolute_import(   t   NullDictt   TaskPoolt   apply_target(   t   AppCaset   Caset   Mockt   mask_modulest   mock_modulet   test_NullDictc           B@  s   e  Z d    Z RS(   c         C@  s5   t    } d | d <|  j t   | d Wd  QXd  S(   Ni   t   foo(   R   t   assertRaisest   KeyError(   t   selft   x(    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_setitem
   s    	
(   t   __name__t
   __module__R   (    (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyR	      s   t   test_TaskPoolc           B@  s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c      	   C@  s4   t  d  " |  j t   t   Wd  QXWd  QXd  S(   Nt
   threadpool(   R   R   t   ImportErrorR   (   R   (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_without_threadpool   s    c         C@  s@   t  d  . t   } |  j | j  |  j | j  Wd  QXd  S(   NR   (   R   R   t
   assertTruet
   ThreadPoolt   WorkRequest(   R   R   (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_with_threadpool   s    	c         C@  sP   t  d  > t   } | j   |  j | j  |  j | j j t  Wd  QXd  S(   NR   (   R   R   t   on_startR   t   _poolt   assertIsInstancet   workRequestsR   (   R   R   (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_on_start   s
    	
c         C@  sP   t  d  > t   } | j   | j   | j j j | j d t Wd  QXd  S(   NR   t   do_join(	   R   R   R   t   on_stopR   t   dismissWorkerst   assert_called_witht   limitt   True(   R   R   (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_on_stop&   s
    	

c         C@  sÅ   t  d  ³ t   } | j   t   } t   } t   } | j | d d
 d i d d 6d | d	 | } | j j t | d i d d 6| | f  | j j	 j |  | j j
 j j j   Wd  QXd  S(   NR   t   argsi   i   t   kwargsi
   t   at   callbackt   accept_callback(   i   i   (   i   i   (   R   R   R   R   t   on_applyR   R"   R   R   t
   putRequestt   _results_queuet   queuet   clear(   R   R   R)   R*   t   targett   req(    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   test_on_apply-   s    	
					(   R   R   R   R   R   R%   R2   (    (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyR      s
   				N(   t
   __future__R    t   celery.concurrency.threadsR   R   R   t   celery.tests.caseR   R   R   R   R   R	   R   (    (    (    sG   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_threads.pyt   <module>   s   (	