ó
mÜJ]c           @` s5  d  d l  m Z m Z m Z m Z d  d l Z e d  d l Z d  d l j j	 Z
 e j d „  ƒ 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 e f d „  ƒ  YZ d „  Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsNc          C` s9   d d l  m }  |  ƒ  } | j d d g d d g ƒ | S(   Ni    (   t   figurei   i   i   (   t   bokeh.plottingR   t   circle(   R   t	   test_plot(    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR   !   s    	t   TestServerDocumentc           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      
   C` s\   t  j t ƒ  t j d d d d ƒ Wd  QXt  j t ƒ  t j d d d d ƒ Wd  QXd  S(   Nt   urlu%   http://localhost:8081/foo/bar/sliderst	   resourcesi{   u   whatever(   t   pytestt   raisest
   ValueErrort   best   server_document(   t   self(    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_invalid_resources_param.   s    c         C` s.   t  j d d d d ƒ } d | k s* t ‚ d  S(   NR	   u%   http://localhost:8081/foo/bar/slidersR
   u   defaultu
   resources=(   R   R   t   AssertionError(   R   t   r(    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt"   test_resources_default_is_implicit4   s    c         C` s.   t  j d d d d  ƒ } d | k s* t ‚ d  S(   NR	   u%   http://localhost:8081/foo/bar/slidersR
   u   resources=none(   R   R   t   NoneR   (   R   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_resources_none8   s    c         C` sä   t  j d d ƒ } d | k s$ t ‚ d | k s6 t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k sr t ‚ | d	 j } t | ƒ s£ t t d
 d g ƒ ƒ ‚ | d } d d | d f } | i | d 6| d
 6k sà t ‚ d  S(   NR	   u%   http://localhost:8081/foo/bar/slidersu   bokeh-app-path=/foo/bar/slidersu8   bokeh-absolute-url=http://localhost:8081/foo/bar/slidersu   lxmlt   nameu   scripti   i    u   srcu   idu^   %s/autoload.js?bokeh-autoload-element=%s&bokeh-app-path=/foo/bar/sliders&bokeh-absolute-url=%s(	   R   R   R   t   bs4t   BeautifulSoupt   findAllt   lent   attrst   set(   R   R   t   htmlt   scriptsR   t   dividt   src(    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_general<   s    
c         C` sÛ   t  j d t d d ƒ ƒ } d | k s- t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k si t ‚ | d	 j } t	 | ƒ t	 d
 d g ƒ k sš t ‚ | d } d d | d f } | i | d 6| d
 6k s× t ‚ d  S(   Nt	   argumentst   fooi
   u   foo=10u   lxmlR   u   scripti   i    u   srcu   iduE   %s/autoload.js?bokeh-autoload-element=%s&bokeh-absolute-url=%s&foo=10u   http://localhost:5006(
   R   R   t   dictR   R   R   R   R   R   R   (   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt$   test_script_attrs_arguments_providedN   s    
c         C` sä   t  j d d ƒ } d | k s$ t ‚ d | k s6 t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k sr t ‚ | d	 j } t | ƒ t d
 d g ƒ k s£ t ‚ | d } d d | d f } | i | d 6| d
 6k sà t ‚ d  S(   NR	   u%   http://localhost:8081/foo/bar/slidersu   bokeh-app-path=/foo/bar/slidersu8   bokeh-absolute-url=http://localhost:8081/foo/bar/slidersu   lxmlR   u   scripti   i    u   srcu   idu^   %s/autoload.js?bokeh-autoload-element=%s&bokeh-app-path=/foo/bar/sliders&bokeh-absolute-url=%s(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt1   test_script_attrs_url_provided_absolute_resources_   s    
c         C` sÕ   t  j d d d t ƒ } d | k s* t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k sf t ‚ | d	 j } t	 | ƒ t	 d
 d g ƒ k s— t ‚ | d } d d | f } | i | d 6| d
 6k sÑ t ‚ d  S(   NR	   u%   http://localhost:8081/foo/bar/sliderst   relative_urlsu   bokeh-app-path=/foo/bar/slidersu   lxmlR   u   scripti   i    u   srcu   iduH   %s/autoload.js?bokeh-autoload-element=%s&bokeh-app-path=/foo/bar/sliders(
   R   R   t   TrueR   R   R   R   R   R   R   (   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_script_attrs_url_providedq   s    
(	   t   __name__t
   __module__R   R   R   R"   R&   R'   R*   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR   ,   s   						t   TestServerSessionc           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 ƒ} t | t ƒ s* t ‚ d  S(   Nt
   session_idu   fakesession(   R   t   server_sessiont
   isinstancet   strR   (   R   R   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_return_type„   s    c         C` sÕ   t  j | d d ƒ} d | k s' t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k sc t ‚ | d j } t | ƒ t d	 d
 g ƒ k s” t ‚ | d
 } d d | d f } | i | d
 6| d	 6k sÑ t ‚ d  S(   NR.   u   fakesessionu   bokeh-session-id=fakesessionu   lxmlR   u   scripti   i    u   srcu   idu[   %s/autoload.js?bokeh-autoload-element=%s&bokeh-absolute-url=%s&bokeh-session-id=fakesessionu   http://localhost:5006(	   R   R/   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt%   test_script_attrs_session_id_providedˆ   s    
c         C` sb   t  j t ƒ  t j | d d d d ƒWd  QXt  j t ƒ  t j | d d d d ƒWd  QXd  S(   NR.   u   fakesessionR
   i{   u   whatever(   R   R   R   R   R/   (   R   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR   ™   s    c         C` s1   t  j | d d d d ƒ} d | k s- t ‚ d  S(   NR.   u   fakesessionR
   u   defaultu
   resources=(   R   R/   R   (   R   R   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR   Ÿ   s    c         C` s1   t  j | d d d d  ƒ} d | k s- t ‚ d  S(   NR.   u   fakesessionR
   u   resources=none(   R   R/   R   R   (   R   R   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR   £   s    c         C` sÃ   t  j d  d d ƒ} t j | d ƒ } | j d d ƒ } t | ƒ d k sQ t ‚ | d j } t	 | ƒ s‚ t t	 d d	 g ƒ ƒ ‚ | d	 } d
 d | d f } | i | d	 6| d 6k s¿ t ‚ d  S(   NR.   u   fakesessionu   lxmlR   u   scripti   i    u   srcu   idu[   %s/autoload.js?bokeh-autoload-element=%s&bokeh-absolute-url=%s&bokeh-session-id=fakesessionu   http://localhost:5006(
   R   R/   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_model_none§   s    
c         C` sÕ   t  j | d d ƒ} d | k s' t ‚ t j | d ƒ } | j d d ƒ } t | ƒ d k sc t ‚ | d j } t | ƒ s” t t d	 d
 g ƒ ƒ ‚ | d
 } d d | d f } | i | d
 6| d	 6k sÑ t ‚ d  S(   NR.   u   fakesessionu   bokeh-session-id=fakesessionu   lxmlR   u   scripti   i    u   srcu   idu[   %s/autoload.js?bokeh-autoload-element=%s&bokeh-absolute-url=%s&bokeh-session-id=fakesessionu   http://localhost:5006(	   R   R/   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R    R!   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR"   ·   s    
(	   R+   R,   R2   R3   R   R   R   R4   R"   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR-   ‚   s   						t   Test__clean_urlc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s+   t  j d ƒ t  j j d ƒ k s' t ‚ d  S(   Nu   defaultu   /(   R   t
   _clean_urlt   DEFAULT_SERVER_HTTP_URLt   rstripR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_defaultÒ   s    c         C` s'   t  j t ƒ  t j d ƒ Wd  QXd  S(   Nu   ws://foo(   R   R   R   R   R6   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_bad_wsÕ   s    c         C` s:   t  j d ƒ d k s t ‚ t  j d ƒ d k s6 t ‚ d  S(   Nu   http://foo/baru   http://foo/bar/(   R   R6   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_argÙ   s    (   R+   R,   R9   R:   R;   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR5   Ð   s   		t   Test__get_app_pathc           B` s   e  Z d  „  Z RS(   c         C` s‹   t  j d ƒ d k s t ‚ t  j d ƒ d k s6 t ‚ t  j d ƒ d k sQ t ‚ t  j d ƒ d k sl t ‚ t  j d ƒ d k s‡ t ‚ d  S(	   Nu   foou   /foou
   http://foou   /u   http://foo/baru   /baru   https://foou   https://foo/bar(   R   t   _get_app_pathR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR;   ß   s
    (   R+   R,   R;   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR<   Ý   s   t   Test__process_argumentsc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s   t  j d  ƒ d k s t ‚ d  S(   Nu    (   R   t   _process_argumentsR   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt	   test_Noneè   s    c         C` sF   t  d d d d ƒ } t j | ƒ } | d k sB | d k sB t ‚ d  S(   NR$   i
   t   baru   bazu   &foo=10&bar=bazu   &bar=baz&foo=10(   R%   R   R?   R   (   R   t   argsR   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt	   test_argsë   s    c         C` sP   t  d d d d ƒ } d | d <t j | ƒ } | d k sL | d k sL t ‚ d  S(	   NR$   i
   RA   u   bazi   u
   bokeh-junku   &foo=10&bar=bazu   &bar=baz&foo=10(   R%   R   R?   R   (   R   RB   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt    test_args_ignores_bokeh_prefixedñ   s    
(   R+   R,   R@   RC   RD   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR>   æ   s   		t   Test__process_app_pathc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  j d ƒ d k s t ‚ d  S(   Nu   /u    (   R   t   _process_app_pathR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt	   test_rootú   s    c         C` s   t  j d ƒ d k s t ‚ d  S(   Nu   /stuffu   &bokeh-app-path=/stuff(   R   RF   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR;   ý   s    (   R+   R,   RG   R;   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyRE   ø   s   	t   Test__process_relative_urlsc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s@   t  j t d ƒ d k s t ‚ t  j t d ƒ d k s< t ‚ d  S(   Nu    u   /stuff(   R   t   _process_relative_urlsR)   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt	   test_True  s    c         C` s"   t  j t d ƒ d k s t ‚ d  S(   Nu   /stuffu   &bokeh-absolute-url=/stuff(   R   RI   t   FalseR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt
   test_Flase  s    (   R+   R,   RJ   RL   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyRH      s   	t   Test__process_resourcesc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s'   t  j t ƒ  t j d ƒ Wd  QXd  S(   Nu   foo(   R   R   R   R   t   _process_resources(   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   test_bad_input  s    c         C` s   t  j d  ƒ d k s t ‚ d  S(   Nu   &resources=none(   R   RN   R   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR@     s    c         C` s   t  j d ƒ d k s t ‚ d  S(   Nu   defaultu    (   R   RN   R   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR9     s    (   R+   R,   RO   R@   R9   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyRM   	  s   		t   Test__process_session_idc           B` s   e  Z d  „  Z RS(   c         C` s   t  j d ƒ d k s t ‚ d  S(   Nu   foo123u   &bokeh-session-id=foo123(   R   t   _process_session_idR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyR;     s    (   R+   R,   R;   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyRP     s   c         C` s   d „  } d  S(   Nc         S` s"   t  j d d ƒ d k s t ‚ d  S(   Nu
   http://foou   1234u2   http://foo/autoload.js?bokeh-autoload-element=1234(   R   t	   _src_pathR   (   R   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyRC     s    (    (   t   objectRC   (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   Test__src_path  s    (   t
   __future__R    R   R   R   R   R   t   bokeh.embed.servert   embedt   serverR   t   fixtureR   RS   R   R-   R5   R<   R>   RE   RH   RM   RP   RT   (    (    (    s<   lib/python2.7/site-packages/bokeh/embed/tests/test_server.pyt   <module>   s   " 	VN		