a
    m bÀ  ã                   @   s¦   d dl m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	 ej
 d¡Zdd	„ Zddd„Zdd„ Zdd„ Zdd„ Zej
 dddeddgƒiig¡dd„ ƒZdS )é    )ÚOrderedDictN©Úcheck_help_all_output)ÚBaseJSONConfigManager)Ú_get_config_dir)Útoggle_server_extension_pythonZ
jp_environc                   C   s<   t dƒ t ddgƒ t ddgƒ t ddgƒ t ddgƒ d S )Nz(jupyter_server.extension.serverextensionÚenableÚdisableÚinstallZ	uninstallr   © r   r   úRlib/python3.9/site-packages/jupyter_server/tests/extension/test_serverextension.pyÚtest_help_output   s
    r   Tc                 C   s.   t t| dd}| d¡}| di ¡ di ¡S )N)Ú
sys_prefix)Ú
config_dirZjupyter_server_configÚ	ServerAppÚjpserver_extensions)r   r   Úget)r   ÚcmÚdatar   r   r   Ú
get_config   s    
r   c                 C   s    t ddƒ tƒ }|d sJ ‚d S )NÚmock1T©r   r   ©Újp_env_config_pathÚjp_extension_environZconfigr   r   r   Útest_enable   s    
r   c                 C   s*   t ddƒ t ddƒ tƒ }|d r&J ‚d S )Nr   TFr   r   r   r   r   Útest_disable%   s    

r   c                 C   s   t dddd t dddd t dddd t dddd djd	d
}|t| ƒ|gd}|j}|d shJ ‚|d stJ ‚|d	 s€J ‚|d rŒJ ‚d S )Nz9jupyter_server.tests.extension.mockextensions.mockext_sysT)Úenabledr   z:jupyter_server.tests.extension.mockextensions.mockext_user)r   Úuserz:jupyter_server.tests.extension.mockextensions.mockext_bothFz8--ServerApp.jpserver_extensions={{'{mockext_py}': True}}z8jupyter_server.tests.extension.mockextensions.mockext_py)Z
mockext_py)r   Úargv)r   ÚformatÚstrr   )r   Zjp_configurable_serverappr   ÚargZappÚ
extensionsr   r   r   Útest_merge_config-   s*    ÿÿÿÿÿr$   Újp_server_configr   r   )z3jupyter_server.tests.extension.mockextensions.mock2T)z3jupyter_server.tests.extension.mockextensions.mock1Tc                 C   s:   | j du sJ dƒ‚| jdu s$J dƒ‚| jdks6J dƒ‚d S )NTzMock II should have been loadedzMock I should have been loadedZIIz%Mock II should be loaded after Mock I)ZmockIIZmockIZmock_shared)Zjp_serverappr%   r   r   r   Útest_load_orderedP   s    r&   )T)Úcollectionsr   ZpytestZtraitlets.tests.utilsr   Zjupyter_server.config_managerr   Z(jupyter_server.extension.serverextensionr   r   ZmarkZusefixturesZ
pytestmarkr   r   r   r   r$   Zparametrizer&   r   r   r   r   Ú<module>   s0   
#þÿÿÿÿþ