o
    ¹iÌ  ã                   @   sF   d Z ddlZddlmZ ddlmZ G dd„ dƒZG dd„ deƒZdS )	zTest the config webservice API.é    N)Úurl_path_join)ÚNotebookTestBasec                   @   s:   e Zd ZdZdd„ Zddd„Zdd„ Zd	d
„ Zdd„ ZdS )Ú	ConfigAPIzWrapper for notebook API calls.c                 C   s
   || _ d S ©N)Úrequest)Úselfr   © r   úi/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/notebook/services/config/tests/test_config_api.pyÚ__init__   s   
zConfigAPI.__init__Nc                 C   s"   | j |td|ƒ|d}| ¡  |S )Nz
api/config)Údata)r   r   Úraise_for_status)r   ÚverbÚsectionÚbodyÚresponser   r   r	   Ú_req   s   þzConfigAPI._reqc                 C   s   |   d|¡S )NÚGET)r   )r   r   r   r   r	   Úget   s   zConfigAPI.getc                 C   ó   |   d|t |¡¡S )NÚPUT©r   ÚjsonÚdumps©r   r   Úvaluesr   r   r	   Úset   ó   zConfigAPI.setc                 C   r   )NÚPATCHr   r   r   r   r	   Úmodify   r   zConfigAPI.modifyr   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   r   r   r   r   r   r	   r   	   s    
r   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚAPITestzTest the config web service APIc                 C   s   t | jƒ| _d S r   )r   r   Ú
config_api)r   r   r   r	   ÚsetUp!   s   zAPITest.setUpc                 C   sT   dddœ}| j  d|¡}|  |jd¡ | j  d¡}|  |jd¡ |  | ¡ |¡ d S )NÚbaréI   )ÚfooÚbazÚexampleéÌ   éÈ   )r$   r   ÚassertEqualÚstatus_coder   r   ©r   ÚsampleÚrr   r   r	   Útest_create_retrieve_config$   s   
z#APITest.test_create_retrieve_configc              
   C   s„   dddddœddidœ}| j  d	|¡ | j  d	d d
g d¢dd ddœdd idœ¡}|  |jd¡ |  | ¡ d
g d¢dddœdœ¡ d S )Nr&   r'   é   é   )ÚaÚbÚcé   )r(   r)   ÚsubÚsub2r*   éK   )é   é   é   é	   )r5   r6   Úd)r(   r)   Úwibr9   r:   r,   )r5   r@   )r)   rA   r9   )r$   r   r   r-   r.   r   r/   r   r   r	   Útest_modify-   s   ÿ

üÿzAPITest.test_modifyc                 C   s.   | j  d¡}|  |jd¡ |  | ¡ i ¡ d S )NÚnonexistantr,   )r$   r   r-   r.   r   )r   r1   r   r   r	   Útest_get_unknown<   s   zAPITest.test_get_unknownN)r   r    r!   r"   r%   r2   rB   rD   r   r   r   r	   r#      s    	r#   )r"   r   Únotebook.utilsr   Únotebook.tests.launchnotebookr   r   r#   r   r   r   r	   Ú<module>   s    