ó
mÜJ]c           @` sš   d  d l  m Z m Z m Z m Z d  d l Z e d  d l m Z d  d l j	 j
 Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ d S(
   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   Applicationt   TestBokehServerContextc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s=   t  j d d d ƒ} t  j | ƒ } | j | k s9 t ‚ d  S(   Nu   appt   io_loopu   ioloop(   t   bsct   ApplicationContextt   BokehServerContextt   application_contextt   AssertionError(   t   selft   act   c(    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt	   test_init'   s    c         C` sg   t  j d d d ƒ} t d d d d ƒ | _ t  j | ƒ } t | j ƒ t d d g ƒ k sc t ‚ d  S(   Nu   appR   u   ioloopt   fooi   t   bari   (   R   R   t   dictt	   _sessionsR	   t   sett   sessionsR   (   R   R   R   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt   test_sessions,   s    (   t   __name__t
   __module__R   R   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR   %   s   	t   TestBokehSessionContextc           B` s   e  Z d  „  Z d „  Z RS(   c         C` sw   t  j d d d ƒ} t  j | ƒ } t  j d | d ƒ } | j d  k sN t ‚ | j d  k sc t ‚ | j ss t ‚ d  S(   Nu   appR   u   ioloopu   idu   doc(	   R   R   R	   t   BokehSessionContextt   sessiont   NoneR   t   requestt	   destroyed(   R   R   t   scR   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR   4   s    c         C` s   d t  f d „  ƒ  Y} t j d d d ƒ} t j | ƒ } t j d | d ƒ } | ƒ  } | | _ | j sq t ‚ t | _ | j s‰ t ‚ d  S(   Nt   FakeSessionc           B` s   e  Z e Z RS(    (   R   R   t   FalseR   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR    =   s   u   appR   u   ioloopu   idu   doc(	   t   objectR   R   R	   R   t   _sessionR   R   t   True(   R   R    R   R   R   t   sess(    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt   test_destroyed<   s    			(   R   R   R   R&   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR   2   s   	t   TestApplicationContextc           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s²   t  j d d d ƒ} | j d k s* t ‚ | j d k s? t ‚ | j d  k sT t ‚ t  j d d d d d ƒ} | j d k s„ t ‚ | j d k s™ t ‚ | j d k s® t ‚ d  S(   Nu   appR   u   ioloopt   urlu   url(   R   R   R   R   t   applicationR(   R   (   R   R   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR   J   s    c         C` sX   t  j d d d ƒ} t d d d d ƒ | _ t | j ƒ t d d g ƒ k sT t ‚ d  S(   Nu   appR   u   ioloopR   i   R   i   (   R   R   R   R   R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR   U   s    c         C` sL   t  j d d d ƒ} t d d d d ƒ | _ | j d ƒ d k sH t ‚ d  S(	   Nu   appR   u   ioloopR   i   R   i   u   foo(   R   R   R   R   t   get_sessionR   (   R   R   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt   test_get_session_successZ   s    c         C` st   t  j d d d ƒ} t d d d d ƒ | _ t j t  j ƒ  } | j d ƒ Wd  QXt | ƒ j	 d	 ƒ sp t
 ‚ d  S(
   Nu   appR   u   ioloopR   i   R   i   u   baxu   No such session bax(   R   R   R   R   t   pytestt   raisest   ProtocolErrorR*   t   strt   endswithR   (   R   R   t   e(    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt   test_get_session_failure_   s
    c         C` sw   t  ƒ  } t j | d d ƒ} d t f d „  ƒ  Y} | ƒ  } | j d d | ƒ} | j d ƒ | j ƒ  k ss t ‚ d  S(   NR   u   ioloopt   FakeRequestc           B` s   e  Z e d  d ƒ Z RS(   R   i
   (   R   R   R   t	   arguments(    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR3   i   s   u   fooR   (   R   R   R   R"   t   create_session_if_neededR*   t   resultR   (   R   t   appR   R3   t   reqt   s(    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt!   test_create_session_if_needed_newf   s    		c         C` s‰   t  ƒ  } t j | d d ƒ} d t f d „  ƒ  Y} | ƒ  } | j d d | ƒ} | j d d | ƒ} | j ƒ  | j ƒ  k s… t ‚ d  S(   NR   u   ioloopR3   c           B` s   e  Z e d  d ƒ Z RS(   R   i
   (   R   R   R   R4   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR3   r   s   u   fooR   (   R   R   R   R"   R5   R6   R   (   R   R7   R   R3   R8   t   s1t   s2(    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt$   test_create_session_if_needed_existso   s    		c         C` s–   t  ƒ  } t j | d d ƒ} d t f d „  ƒ  Y} | ƒ  } | j d d | ƒ} t j t j ƒ  } | j ƒ  Wd  QXt	 | ƒ j
 d ƒ s’ t ‚ d  S(   NR   u   ioloopR3   c           B` s   e  Z e d  d ƒ Z RS(   R   i
   (   R   R   R   R4   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR3   |   s   u    R   u   Session ID must not be empty(   R   R   R   R"   R5   R,   R-   R.   R6   R/   R0   R   (   R   R7   R   R3   R8   t   rR1   (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt+   test_create_session_if_needed_bad_sessionidy   s    		(	   R   R   R   R   R+   R2   R:   R=   R?   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyR'   H   s   							
(   t
   __future__R    R   R   R   R,   t   bokeh.applicationR   t   bokeh.server.contextst   servert   contextsR   R"   R   R   R'   (    (    (    s?   lib/python2.7/site-packages/bokeh/server/tests/test_contexts.pyt   <module>   s   " 
