σ
mάJ]c           @` s  d  d l  m Z m Z m Z m Z d  d l Z e 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 d  d l j j Z e j d e j  d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   Application(   t   pull_session(   t   StaticHandleri   (   t   ManagedServerLoopt   urlt   http_gett   levelc          C` s  t    }  t |   X } | j j   } | j d k s< t  | j d k sQ t  | j t j	 k si t  Wd  QXt |  d d X } | j j   } | j d k s¨ t  | j d k s½ t  | j t j	 k sΥ t  Wd  QXt |  d d X } | j j   } | j d k st  | j d k s)t  | j t j	 k sAt  Wd  QXt |  d d X } | j j   } | j d k st  | j d k st  | j t j	 k s­t  Wd  QXt |  d d X } | j j   } | j d k sμt  | j d k st  | j t j	 k st  Wd  QXt |  d d X } | j j   } | j d k sXt  | j d	 k smt  | j t j	 k st  Wd  QXd  S(
   Nu   serveru    t   prefixu   /foo/u   foo/u   foou   /foou   /foo/baru	   /foo/bar/(
   R   R   t   _tornadot	   resourcest   modet   AssertionErrort   root_urlt   path_versionerR   t   append_version(   t   applicationt   servert   r(    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_default_resources-   s>    	c          C` sm   t    }  t |    } | j j d  k s0 t  Wd  QXt |  d d  } | j j d k sc t  Wd  QXd  S(   Nt   indexu   foo(   R   R   R   R   t   NoneR   (   R   R   (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt
   test_indexS   s
    	c          C` s   t    }  t |    } | j j d k s0 t  Wd  QXxM d d d d g D]9 } t |  d |  } | j j d k s| t  Wd  QXqI Wd  S(   Nu    u   foou   /foou   /foo/u   foo/R   (   R   R   R   R   R   (   R   R   R   (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_prefix[   s    	c          C` sB   t    }  t j i |  d 6d d } | j d d k s> t  d  S(   Nu   /t    websocket_max_message_size_bytesi90  u   websocket_max_message_size(   R   t   tornadot   BokehTornadot   settingsR   (   t   appt   t(    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt%   test_websocket_max_message_size_bytesd   s    	c          C` s  t    }  t |   ( } | j j t d g  k s9 t  Wd  QXt |  d d g ( } | j j t d g  k sx t  Wd  QXt |  d d g ( } | j j t d g  k s· t  Wd  QXt |  d d d g + } | j j t d d g  k sό t  Wd  QXd  S(   Nu   localhost:5006t   allow_websocket_originu   foou   foo:80u   foo:8080u   baru   bar:80(   R   R   R   t   websocket_originst   setR   (   R   R   (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_websocket_originsi   s    	'''c          C` s¬   t    }  t j i  d g   } | j t   k s6 t  t j i |  d 6d g   } | j d h k sj t  t j i |  d 6|  d 6d g   } | j d d h k s¨ t  d  S(   Nu    u   /u   /foo(   R   R   R   t	   app_pathsR$   R   (   R   R    (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_default_app_pathsz   s    	#c          C` s₯   t    }  t |    } | j j   t d d d t |  d | j  } t d d d t |  d | j  } | j j   | j   | j   | j j   Wd  QXd  S(   Nt
   session_idu   session1R   t   io_loopu   session2(   R   R   R   t
   _log_statsR   R   R)   t   close(   R   R   t   session1t   session2(    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_log_stats   s    	

c       
   C` s@  t  d t d d d d   }  t |   u } t |  d } t | j |  } t j | j j	   j
    } | i i d d 6d d 6d 6d d	 6k s t  Wd  QXd
   } t  d |  } t |  u } t |  d } t | j |  } t j | j j	   j
    } | i i d d 6d d 6d 6d d	 6k s6t  Wd  QXd  S(   Nt   metadatat   hiu   hit   thereu   thereu   metadatau   datau   /u   urlc           S` s   t  d d d d  S(   Nt   nameu   mynamet   valueu   no value(   t   dict(    (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt	   meta_func   s    u   mynameu   nameu   no valueu   value(   R   R4   R   R   R	   R)   t   jsont   loadst   buffert   readt   decodeR   (   R   R   t   meta_urlt	   meta_respt	   meta_jsonR5   t   application1(    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   test_metadata   s    4	(   t
   __future__R    R   R   R   t   pytestt   loggingR6   t   bokeh.applicationR   t   bokeh.clientR   t!   bokeh.server.views.static_handlerR   t   utilsR   R   R	   t   bokeh.server.tornadoR   R   t   basicConfigt   DEBUGR   R   R   R!   R%   R'   R.   R?   (    (    (    s>   lib/python2.7/site-packages/bokeh/server/tests/test_tornado.pyt   <module>   s$   " 	&							