
    ^h                     Z    S SK r S SKJr  S SKJrJrJr  S SKJr  S SK	J
r
Jr  S rS rS rg)	    N)get_static_page_config)get_app_infolock_extensionunlock_extension)PluginManager)PluginHandlerplugins_handler_pathc           
         U" 5       nUR                  U 5        U R                  R                  R                  S0 5      nUR	                  [        SS95        [        UR                  S0 5      R                  5        VVs1 s H  u  pEU(       d  M  UiM     snn5      nUR                  R                  [        [        S[        USS.S904/5        U$ s  snnf )	Npage_config_data
sys_prefix)levellockedExtensionsmanagerF)
lock_rules
all_locked)ext_options)_link_jupyter_server_extensionweb_appsettings
setdefaultupdater   	frozensetgetitemshandlersextendr	   r   r   )jp_serverappmake_labserver_extension_appapppage_configrulevaluer   s          f/home/james-whalen/.local/lib/python3.13/site-packages/jupyterlab/tests/test_plugin_manager_handler.pyplugin_handler_labappr$      s    
&
(C&&|4 &&//::;MrRK-LAB!,1CR!H!N!N!PZ!P+$TY!PZJ LL %}*4*/% 	
  J' 	[s   ?C
C
c                   #    SnSn[        5       nUS   R                  US5      SL d   e[        U5        [        U5        [        5       nUS   R                  US5      SL d   eUS   R                  US5      SL d   e[        XS9nUR	                  5         U" SSS	S
S9I S h  vN n[
        R                  " UR                  5      nUR                  S:X  d   e[        US   5      [        X4/5      :X  d   eg  NU7f)N(@jupyterlab/application-extension:statusz'@jupyterlab/theme-dark-extension:pluginlockedFTr   r   labapipluginsGETmethod   	lockRules)
r   r   r   r$   
initializejsonloadsbodycodesorted)	r   jp_fetchr   
extension1
extension2infolabappresponsepayloads	            r#   !test_pluginHandler_lock_extensionr>   +   s    ;J:J>D>j%0E999::>D>j%0D888>j%0D888"!F eUIeDDHjj'G==C'+&'6:2J+KKKK Es   B"C<$C:%AC<c                   #    Sn[        U5        [        5       nUS   R                  US5      SL d   e[        U5        [        5       nUS   R                  US5      SL d   e[	        XS9nUR                  5         U" SSSS	S
9I S h  vN n[        R                  " UR                  5      nUR                  S:X  d   eUS   / :X  d   eg  NB7f)Nr&   r'   FTr(   r)   r*   r+   r,   r-   r/   r0   )
r   r   r   r   r$   r1   r2   r3   r4   r5   )r   r7   r   	extensionr:   r;   r<   r=   s           r#   #test_pluginHandler_unlock_extensionrA   A   s     :I9>D>i/4777Y>D>i/5888"!F eUIeDDHjj'G==C;2%%% Es   BCC	AC)r2   jupyterlab_server.configr   jupyterlab.commandsr   r   r   jupyterlab.extensions.managerr   *jupyterlab.handlers.plugin_manager_handlerr   r	   r$   r>   rA        r#   <module>rH      s)     ; N N 7 Z<L,&rG   