o
    ËÉhX$  ã                   @   sŽ   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
 ddlmZ G dd	„ d	eeƒZG d
d„ deeƒZG dd„ deeƒZdZdZdS )é    N)Úreverse)ÚTestImageDetailÚTestImageListingÚTestImageListingSearch)Úget_image_model)Úget_test_image_fileé   )ÚAdminAPITestCasec                   @   sr   e Zd ZdgZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestAdminImageListingúdemosite.jsonc                 K   ó   | j  tdƒ|¡S ©Nzwagtailadmin_api:images:listing©ÚclientÚgetr   ©ÚselfÚparams© r   úc/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/tests/api/test_images.pyÚget_response   ó   z"TestAdminImageListing.get_responsec                 C   ó   dd„ |d D ƒS )Nc                 S   ó   g | ]}|d  ‘qS ©Úidr   ©Ú.0Úimager   r   r   Ú
<listcomp>   ó    z;TestAdminImageListing.get_image_id_list.<locals>.<listcomp>Úitemsr   ©r   Úcontentr   r   r   Úget_image_id_list   r   z'TestAdminImageListing.get_image_id_listc                 C   s*  |   ¡ }|  |jd¡ |  |d d¡ t |j d¡¡}|  d|¡ |  |d t	¡ |  d|d ¡ |  |d d t
¡ |  |d d tƒ j ¡ ¡ |  d|¡ |  |d t¡ |d D ]6}|  d|¡ |  |d t	¡ |  t|d  ¡ ƒh d£¡ |  |d d	 d
¡ |  |d d d|d  ¡ q\d S )NéÈ   úContent-typeúapplication/jsonúUTF-8ÚmetaÚtotal_countr!   >   ÚtagsÚtypeÚ
detail_urlÚdownload_urlr,   úwagtailimages.Imager-   z*http://localhost/admin/api/main/images/%d/r   )r   ÚassertEqualÚstatus_codeÚjsonÚloadsr#   ÚdecodeÚassertInÚassertIsInstanceÚdictÚintr   ÚobjectsÚcountÚlistÚsetÚkeys©r   Úresponser#   r   r   r   r   Ú
test_basic   s4   ÿþ

þôz TestAdminImageListing.test_basicc                 C   s`   |   ¡ }t |j d¡¡}|d D ]}|  t| ¡ ƒh d£¡ |  t|d  ¡ ƒh d£¡ qd S )Nr(   r!   >   r   r)   ÚtitleÚwidthÚheightÚ	thumbnailr)   >   r+   r,   r-   r.   ©r   r2   r3   r#   r4   r0   r<   r=   r>   r   r   r   Útest_fields_defaultG   s   
þþûz)TestAdminImageListing.test_fields_defaultc                 C   ód   | j dd}t |j d¡¡}|d D ]}|  t| ¡ ƒh d£¡ |  t|d  ¡ ƒh d£¡ qd S )Nzwidth,height©Úfieldsr(   r!   >   r   r)   rA   rB   rC   rD   r)   >   r+   r,   r-   r.   rE   r>   r   r   r   Útest_fieldsU   ó   
þþûz!TestAdminImageListing.test_fieldsc                 C   óH   | j dd}t |j d¡¡}|d D ]}|  t| ¡ ƒh d£¡ qd S )Nz-titlerH   r(   r!   >   r   r)   rB   rC   rD   rE   r>   r   r   r   Útest_remove_fieldsc   ó   ÿÿz(TestAdminImageListing.test_remove_fieldsc                 C   rG   )Nz-tagsrH   r(   r!   >   r   r)   rA   rB   rC   rD   r)   >   r,   r-   r.   rE   r>   r   r   r   Útest_remove_meta_fieldsl   s   
þÿûz-TestAdminImageListing.test_remove_meta_fieldsc                 C   rL   )Nz-type,-detail_url,-tagsrH   r(   r!   >   r   r)   rA   rB   rC   rD   rE   r>   r   r   r   Útest_remove_all_meta_fieldsy   s   
þÿz1TestAdminImageListing.test_remove_all_meta_fieldsc                 C   rL   )Nz-idrH   r(   r!   >   r)   rA   rB   rC   rD   rE   r>   r   r   r   Útest_remove_id_fieldƒ   rN   z*TestAdminImageListing.test_remove_id_fieldc                 C   rG   )NÚ*rH   r(   r!   >   r   r)   rA   rB   rC   rD   r)   >   r+   r,   r-   r.   rE   r>   r   r   r   Útest_all_fieldsŒ   rK   z%TestAdminImageListing.test_all_fieldsc                 C   rG   )Nz*,-title,-tagsrH   r(   r!   >   r   r)   rB   rC   rD   r)   >   r,   r-   r.   rE   r>   r   r   r   Ú%test_all_fields_then_remove_somethingš   s   ÿÿüz;TestAdminImageListing.test_all_fields_then_remove_somethingc                 C   sx   | j dd}t |j d¡¡}|d D ]&}|  t| ¡ ƒh d£¡ |  t|d  ¡ ƒh d£¡ |  |d d t	¡ qd S )Nr+   rH   r(   r!   >   r   r)   rA   rB   rC   rD   r)   >   r+   r,   r-   r.   )
r   r2   r3   r#   r4   r0   r<   r=   r6   r;   r>   r   r   r   Útest_fields_tags¦   s   
þþ÷z&TestAdminImageListing.test_fields_tagsN)Ú__name__Ú
__module__Ú__qualname__Úfixturesr   r$   r@   rF   rJ   rM   rO   rP   rQ   rS   rT   rU   r   r   r   r   r
      s    ,	
	r
   c                   @   s"   e Zd ZdgZdd„ Zdd„ ZdS )ÚTestAdminImageListingSearchr   c                 K   r   r   r   r   r   r   r   r   ¹   r   z(TestAdminImageListingSearch.get_responsec                 C   r   )Nc                 S   r   r   r   r   r   r   r   r   ½   r    zATestAdminImageListingSearch.get_image_id_list.<locals>.<listcomp>r!   r   r"   r   r   r   r$   ¼   r   z-TestAdminImageListingSearch.get_image_id_listN)rV   rW   rX   rY   r   r$   r   r   r   r   rZ   ¶   s    rZ   c                   @   s*   e Zd ZdgZdd„ Zdd„ Zdd„ ZdS )	ÚTestAdminImageDetailr   c                 K   s   | j  td|fd|¡S )Nzwagtailadmin_api:images:detail)Úargsr   )r   Úimage_idr   r   r   r   r   Ã   s   ÿz!TestAdminImageDetail.get_responsec                 C   sV  |   d¡}|  |jd¡ |  |d d¡ t |j d¡¡}|  d|¡ |  |d d¡ |  d|¡ |  |d t	¡ |  d|d ¡ |  |d d d	¡ |  d
|d ¡ |  |d d
 d¡ |  d|¡ |  |d ddi¡ |  d|¡ |  |d d¡ |  d|¡ |  d|¡ |  |d d¡ |  |d d¡ |  d|d ¡ |  |d d g ¡ d S )Né   r%   r&   r'   r(   r   r)   r,   r/   r-   z)http://localhost/admin/api/main/images/5/rD   ÚerrorÚSourceImageIOErrorrA   zJames JoycerB   rC   iô  iˆ  r+   )
r   r0   r1   r2   r3   r#   r4   r5   r6   r7   )r   r?   r#   r   r   r   r@   È   s0   
ÿzTestAdminImageDetail.test_basicc                 C   s’   t ƒ jjdtƒ d}|  |j¡}t |j 	d¡¡}|  
d|¡ |  |d d d¡ |  |d d d¡ |  |d d	  d
¡¡ |  d|d ¡ d S )Nz
Test image)rA   Úfiler(   rD   rB   é¥   rC   é{   Úurlz/media/images/testÚsource_image_errorr)   )r   r9   Úcreater   r   r   r2   r3   r#   r4   r5   r0   Ú
assertTrueÚ
startswithÚassertNotIn)r   r   r?   r#   r   r   r   Útest_thumbnailø   s   þz#TestAdminImageDetail.test_thumbnailN)rV   rW   rX   rY   r   r@   rj   r   r   r   r   r[   À   s
    0r[   )r2   Údjango.urlsr   Ú wagtail.api.v2.tests.test_imagesr   r   r   Úwagtail.imagesr   Úwagtail.images.tests.utilsr   Úutilsr	   r
   rZ   r[   r   r   r   r   Ú<module>   s     '
L