σ
P'^c           @@  sm  d  d l  m Z d  d l m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z d  d l m Z d  d l m Z m Z e i d d 6d" d 6i d	 d
 6d 6i d d 6d 6d d 6 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 e f d     YZ d e f d     YZ d e f d      YZ d! S(#   i    (   t   absolute_import(
   t	   Signaturet   chaint   groupt   chordt	   signaturet   xmapt   xstarmapt   chunkst   _maybe_groupt   maybe_signature(   t   EagerResult(   t   AppCaset   Mockt   TASKt   taskt   A1t   argst   V1t   K1t   kwargst   TASK_IDt   task_idt   optionst    t   subtask_typet
   CanvasCasec           B@  s   e  Z d    Z RS(   c         C@  sy   |  j  j d t  d    } | |  _ |  j  j d t  d    } | |  _ |  j  j d t  d    } | |  _ d  S(   Nt   sharedc         S@  s   |  | S(   N(    (   t   xt   y(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   add   s    c         S@  s   |  | S(   N(    (   R   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   mul#   s    c         S@  s   |  | S(   N(    (   R   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   div(   s    (   t   appR   t   FalseR   R   R    (   t   selfR   R   R    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   setup   s    		(   t   __name__t
   __module__R$   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyR      s   t   test_Signaturec           B@  s   e  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 RS(   c         C@  sT   |  j  t j  |  j  t j  |  j  t j  |  j  t j  |  j  t j  d  S(   N(   t
   assertTrueR   R   R   R   R   R   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_getitem_property_class0   s
    c         C@  sq   |  j  t j d  |  j  t j d  |  j  t j i d d 6 |  j  t j i d d 6 |  j  t j d  d  S(	   NR   R   R   R   R   R   R   (   R   (   t   assertEqualt   SIGR   R   R   R   R   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_getitem_property7   s
    c         C@  s   t  d d t  d  } |  j | j d  | j t  d   |  j | j d t  |  j t  d  | j d  |  j t  d  | j d  d  S(   NR   t   linkt   Bt   C(   R   R(   R   R-   t   assertIsInstancet   listt   assertIn(   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_link_on_scalar>   s    c         C@  s   t  d d i   } |  j | j d d  j d  |  j | j d i d d 6 j i d d 6 |  j | j d i d	 d
 6 j i d	 d
 6 d  S(   NR   t   AR   R.   R   t   BARt   FOOR   t   123R   (   R.   (   R.   (   R   t   assertTupleEqualt   replaceR   t   assertDictEqualR   R   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_replaceF   s    c         C@  s=   |  j  t d d d j d d  j i d d 6d d 6 d  S(   NR   R   i   R   t   2(   R:   R   t   setR   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_setR   s    c         C@  s^   t  t  } | j t  | j t  |  j t | j d  |  j t | j d  d  d  S(   NR-   i   (   R   R+   R-   R2   R   R*   t   len(   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt	   test_linkX   s
    c         C@  s^   t  t  } | j t  | j t  |  j t | j d  |  j t | j d  d  d  S(   Nt
   link_errori   (   R   R+   RA   R2   R   R*   R?   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_link_error_   s
    c         C@  s~   |  j  j d d  |  j j d  |  j j d  g } | d j | d  | d j | d  |  j | d j   |  d  S(   Ni   i   i    i   (   R   t   sR   R    R-   R*   t   flatten_links(   R#   t   tasks(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_flatten_linksf   s    6c         C@  s   |  j  j d d  |  j j d  B} |  j | t  |  j  j d d  |  j j d  B} | | B} |  j | t  |  j | t  |  j t | j  d  |  j	 t
   | d BWd  QX|  j  j d d  |  j  j d  |  j  j d  BB} |  j | t  |  j t | j  d d  d  S(   Ni   i   i
   i   i   s   consolidates chain to chain(   R   RC   R   R0   R   R    R*   R?   RE   t   assertRaisest	   TypeError(   R#   R   R   t   zt   ax(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_ORl   s    %%
5c         C@  s|   |  j  j d d  } t   | _ t   | j _ t   | j j _ d | j j j _ |  j | d  |  j | j j  d  S(   Ni   i   (	   R   RC   R   t   apply_asynct   return_valuet   getR*   R(   t   called(   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_INVERTz   s    c         C@  s   |  j  j d d d d } | j d i d d 6i d d 6 \ } } } |  j | d	  |  j | i d d 6 |  j | i d d 6 d  S(
   Ni   t   fooi   i   t   bari   R   (   i   (   i   i   (   R   t   sit   _mergeR8   R:   (   R#   R   R   R   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_merge_immutable   s
    ,c         C@  si   |  j  j d d  } |  j | j  | j d t  |  j | j  | j d t  |  j | j  d  S(   Ni   t	   immutable(   R   RC   t   assertFalseRV   R=   t   TrueR(   R"   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_set_immutable   s    c         C@  ss   |  j  j d d  } | j d  t   | j j _ | j   } |  j | j j j j j	  |  j
 | j d  d  S(   Ni   RQ   (   R   RC   t   freezeR   t   typeR!   t   controlt   electionR(   RO   R*   t   id(   R#   R   t   r(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_election   s    c         C@  s)   t  d d |  j } |  j | j  d  S(   Ns   xxx.not.registeredR!   (   R   R!   R(   t   AsyncResult(   R#   RC   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt$   test_AsyncResult_when_not_registered   s    c         C@  s)   t  d d |  j } |  j | j  d  S(   Ns   xxx.not.registeredR!   (   R   R!   R(   t   _apply_async(   R#   RC   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt$   test_apply_async_when_not_registered   s    (   R%   R&   R)   R,   R3   R;   R>   R@   RB   RF   RK   RP   RU   RY   R`   Rb   Rd   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyR'   .   s   															t   test_xmap_xstarmapc           B@  s   e  Z d    Z RS(   c         C@  sλ   xδ t  d f t d f g D]Κ \ } } g  t d  D] } | | f ^ q2 } t |  j |  |  } t   | _ | j d d  | j j j d i |  j j	   d 6| d 6d d |  j
 | j t |   |  |  j t |   q Wd  S(	   Nt   mapt   starmapi
   RQ   i   R   t   it(    (   R   R   t   ranget   getattrR   R   R[   RL   t   assert_called_withRC   R*   t	   from_dictt   dictR(   t   repr(   R#   R[   t   attrt   iR   RC   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt
   test_apply₯   s    %%'(   R%   R&   Rq   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRe   £   s   t   test_chunksc           B@  s   e  Z d    Z RS(   c         C@  sϋ   |  j  j t d  d  } |  j t t j t |  d |  j  t |   |  j | j    |  j t	 | j   j
  d  t   | _ t   } | j _ | j   | j j d i   |   | j   t |  j j _ t j d |  j | d  d  S(   Nid   i
   R!   R   (    (   R   R   Ri   R*   Rm   Rl   R!   R(   R   R?   RE   R   RM   RL   Rk   RX   t   conft   CELERY_ALWAYS_EAGERt   apply_chunks(   R#   R   t   gr(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRr   Ά   s    .

(   R%   R&   Rr   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRr   ΄   s   t
   test_chainc           B@  sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C@  sU   |  j  j d d  |  j  j d  B} |  j t |  d |  j  j |  j  j f  d  S(   Ni   s   %s(2, 2) | %s(2)(   R   RC   R*   Rn   t   name(   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt	   test_reprΞ   s    %c         C@  s[   |  j  j d d  |  j  j d  B} |  j t |  t  |  j t t |   t  d  S(   Ni   (   R   RC   R0   R   R   Rm   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_reverseΤ   s    %c         C@  sC   t  |  j j _ |  j |  j j d d  |  j j d  Bd  d  S(   Ni   i   i   (   RX   R!   Rs   Rt   R*   R   RC   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_always_eagerΩ   s    c         C@  sΊ   t  |  j j d d  |  j j d  |  j j d   } | j   } |  j | t  |  j | j   d  |  j | j j   d  |  j | j j j   d  |  j	 | j j j  d  S(   Ni   i   i
   i   i   (
   R   R   RC   t   applyR0   R   R*   RN   t   parentt   assertIsNone(   R#   R   t   res(    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRq   έ   s    9c         C@  s?   |  j  t d |  j     |  j  t d |  j  j    d  S(   NR!   (   R~   R   R!   RL   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_empty_chain_returns_noneη   s    c         C@  s   t    } |  j |    d  S(   N(   R   RW   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_call_no_tasksλ   s    	c         C@  sb   |  j  j d d  |  j  j d  B} t   | _ | d d d d | j j d i d d 6 d  S(   Ni   i   RQ   i   (   i   i   (   R   RC   R   RL   Rk   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_call_with_tasksο   s    %c         C@  su   t  |  j j d d  |  j j d  B } d  | d <|  j t j |  t  d | d <|  j t j |  t  d  S(   Ni   i   R   (   i   (   Rm   R   RC   t   NoneR0   R   Rl   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt!   test_from_dict_no_args__with_argsυ   s
    +

c         @  sS   t    f d   t d  D  }   j | j d j   j    j | j  d  S(   Nc         3@  s!   |  ] }   j  j |  Vq d  S(   N(   R   RC   (   t   .0Rp   (   R#   (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pys	   <genexpr>ύ   s    i
   i    (   R   Ri   R(   RE   R[   R   (   R#   R   (    (   R#   s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_accepts_generator_argumentό   s    "(   R%   R&   Ry   Rz   R{   Rq   R   R   R   R   R   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRw   Μ   s   				
				t
   test_groupc           B@  sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@  sS   t  |  j j d d  |  j j d d  g  } |  j t |  t | j   d  S(   Ni   i   (   R   R   RC   R*   Rn   RE   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRy     s    0c         C@  sf   t  |  j j d d  |  j j d d  g  } |  j t |  t   |  j t t |   t   d  S(   Ni   i   (   R   R   RC   R0   R   Rm   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRz     s    0c         C@  s;   |  j  t |  j j d d   |  j j d d  g  d  S(   Ni   (   t   assertListEqualR	   R   RC   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_maybe_group_sig  s    c         C@  s   t  |  j j d d  |  j j d d  g  } d | d <|  j t  j t |    d  | d <|  j t  j t |    d  S(   Ni   i   R   (   i   i   (   R   R   RC   R(   Rl   Rm   R   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_from_dict  s
    0

c         C@  sG   t  d |  j  } |  j t |     | j   | j   |   d  S(   NR!   (   R   R!   RW   R?   t   delayRL   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_call_empty_group  s
    

c         C@  s   t  g  t d  D] } |  j j | |  ^ q  } | j d d d d d d  x8 t | j  D]' \ } } |  j | j d | d  q` Wd  S(   Ni
   t   starti   t   stopt   stept	   countdown(	   R   Ri   R   RC   t   skewt	   enumerateRE   R*   R   (   R#   Rp   t   gR   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt	   test_skew   s    4c         C@  sW   t  g  t d  D] } |  j j | |  ^ q  } |  j t t |   | j  d  S(   Ni
   (   R   Ri   R   RC   R   R1   t   iterRE   (   R#   Rp   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt	   test_iter&  s    4(	   R%   R&   Ry   Rz   R   R   R   R   R   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyR     s   						t
   test_chordc           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  sx   t  |  j j d d  |  j j d d  g d |  j j d  } |  j t |  t   |  j t t |   t   d  S(   Ni   i   t   body(   R   R   RC   R   R0   R   Rm   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRz   -  s    Bc         C@  s₯   t  |  j j d d  |  j j d d  g d |  j j d  } | j   } |  j | j d | j d  | j j d  | j   } |  j | j j	 d   d  S(   Ni   i   R   (
   R   R   RC   R   t   clonet   assertIsNotR   t   popR~   RN   (   R#   R   R   RI   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_clone_clones_body2  s    Bc         C@  s   t  |  j j d d  |  j j d d  g d |  j j d  } | j |  j j d   |  j | j j d   |  j	 | j
 d j d  | j |  j j d   |  j | j j d   |  j	 | j
 d j d  |  j	 | j  |  j	 | j  d  S(   Ni   i   R   R-   RA   (   R   R   RC   R   R-   R    RW   R   RN   R(   R   RA   RE   R   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_links_to_body:  s    Bc         C@  s|   t  |  j j d d  |  j j d d  g d |  j j d  } |  j t |   d  | j d <|  j d t |   d  S(   Ni   i   R   s   without body(	   R   R   RC   R   R(   Rn   R   R   R2   (   R#   R   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyRy   G  s    B(   R%   R&   Rz   R   R   Ry   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyR   +  s   			t   test_maybe_signaturec           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s    |  j  t d  d |  j  d  S(   NR!   (   R~   R
   R   R!   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_is_NoneP  s    c         C@  s2   |  j  t t |  j j    d |  j t  d  S(   NR!   (   R0   R
   Rm   R   RC   R!   R   (   R#   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_is_dictS  s    c         C@  s2   |  j  j   } |  j t | d |  j |  d  S(   NR!   (   R   RC   t   assertIsR
   R!   (   R#   RC   (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   test_when_sigX  s    (   R%   R&   R   R    R’   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyR   N  s   		N(   R   (   t
   __future__R    t   celery.canvasR   R   R   R   R   R   R   R   R	   R
   t   celery.resultR   t   celery.tests.caseR   R   R+   R   R'   Re   Rr   Rw   R   R   R   (    (    (    s@   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/tasks/test_canvas.pyt   <module>   s    Fu6)#