
    Mh                     \    d dl Z d dlmZ d dlmZmZmZ d dlmZ d dl	m
Z
mZ d Zd Zd ZdS )	    N)get_static_page_config)get_app_infolock_extensionunlock_extension)PluginManager)PluginHandlerplugins_handler_pathc           
          |            }|                     |            | j        j                            di           }|                    t          d                     t          d |                    di                                           D                       }|j	        
                    t          t          dt          |dd	          ifg           |S )
Npage_config_data
sys_prefix)levelc                     h | ]	\  }}||
S  r   ).0rulevalues      l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyterlab/tests/test_plugin_manager_handler.py	<setcomp>z(plugin_handler_labapp.<locals>.<setcomp>   s"    ZZZ+$TYZZZZ    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_configr   s        r   plugin_handler_labappr)      s    
&
&
(
(C&&|444 &/::;MrRRK-LAAABBBZZ1CR!H!H!N!N!P!PZZZ J L %}*4*/% %     	
    Jr   c                 Z  K   d}d}t                      }|d                             |d          du sJ t          |           t          |           t                      }|d                             |d          du sJ |d                             |d          du sJ t          | |          }|                                  |ddd	d
           d {V }t          j        |j                  }|j        dk    sJ t          |d                   t          ||g          k    sJ d S )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_extensionrC   +   sZ     ;J:J>>D>j%00E9999::>>D>j%00D8888>j%00D8888"!@\  F XeUIeDDDDDDDDDHj''G=C'+&''6:z2J+K+KKKKKKKr   c                   K   d}t          |           t                      }|d                             |d          du sJ t          |           t                      }|d                             |d          du sJ t	          | |          }|                                  |dddd	
           d {V }t          j        |j                  }|j	        dk    sJ |d         g k    sJ d S )Nr+   r,   FTr-   r.   r/   r0   r1   r2   r4   r5   )
r   r   r!   r   r)   r6   r7   r8   r9   r:   )r%   r<   r&   	extensionr?   r@   rA   rB   s           r   #test_pluginHandler_unlock_extensionrF   A   s     :I9>>D>i//47777Y>>D>i//58888"!@\  F XeUIeDDDDDDDDDHj''G=C;2%%%%%%r   )r7   jupyterlab_server.configr   jupyterlab.commandsr   r   r   jupyterlab.extensions.managerr   *jupyterlab.handlers.plugin_manager_handlerr   r	   r)   rC   rF   r   r   r   <module>rK      s     ; ; ; ; ; ; N N N N N N N N N N 7 7 7 7 7 7 Z Z Z Z Z Z Z Z  <L L L,& & & & &r   