Ë
    &]j²  ã                   óN   — d dl Z d dlZd dlmZ d dlmZ ddlmZ  G d„ de«      Zy)é    N)Úexpect)Úcall_commandé   )ÚBaseTestCasec                   óˆ  — e Zd Zd„ Zd„ Zd„ Z ej                  dd¬«      d„ «       Z ej                  dd¬«      d	„ «       Z	 ej                  dd¬«      d
„ «       Z
 ej                  d«      d„ «       Z ej                  d«      d„ «       Zd„ Z ej                  dd¬«      d„ «       Z ej                  dd¬«      d„ «       Zy)ÚTestManagementCommandc                 ób   — t        t        ddd¬«      «      j                  j                  «        y )NÚcleanup_unused_mediaFr   ©ÚinteractiveÚminimum_file_age)r   r   ÚNotÚto_be_an_error)Úselfs    úL/var/www/zogu/zoguvenv/lib/python3.12/site-packages/tests/test_management.pyÚtest_command_callz'TestManagementCommand.test_command_call   s$   € ÜŒ|Ð2ÀÐXYÔZÓ[×_Ñ_×nÑnÕpó    c                 ó¸   — t        j                  «       }t        dd|d¬«       t        |j	                  «       j                  d«      «      j                  d«       y )Nr
   Fr   ©r   Ústdoutr   ú
zNothing to delete. Exit)ÚsixÚStringIOr   r   ÚgetvalueÚsplitÚ
to_include©r   r   s     r   Útest_command_nothing_to_deletez4TestManagementCommand.test_command_nothing_to_delete   sB   € Ü—‘“ˆÜÐ+¸ÀvÐ`aÕbÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰ZÐ2Õ3r   c                 ó*  — | j                  d«       t        j                  «       }t        dd|d¬«       t	        |j                  «       j                  d«      «      j                  d«       t	        | j                  d«      «      j                  «        y )Núfile.txtr
   Fr   r   r   úDone. Total files removed: 1©
Ú_media_creater   r   r   r   r   r   r   Ú_media_existsÚto_be_falser   s     r   Útest_command_not_interactivez2TestManagementCommand.test_command_not_interactive   sl   € Ø×Ñ˜:Ô&ä—‘“ˆÜÐ+¸ÀvÐ`aÕbÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰ZÐ7Ô8äˆt×!Ñ! *Ó-Ó.×:Ñ:Õ<r   zsix.moves.inputÚn)Úreturn_valuec                 ó*  — | j                  d«       t        j                  «       }t        dd|d¬«       t	        |j                  «       j                  d«      «      j                  d«       t	        | j                  d«      «      j                  «        y )Nr    r
   Tr   r   r   zInterrupted by user. Exit.©
r#   r   r   r   r   r   r   r   r$   Ú
to_be_true©r   Ú
mock_inputr   s      r   Útest_command_interactive_nz0TestManagementCommand.test_command_interactive_n    sl   € à×Ñ˜;Ô'ä—‘“ˆÜÐ+¸ÀfÐ_`ÕaÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰ZÐ5Ô6äˆt×!Ñ! +Ó.Ó/×:Ñ:Õ<r   ÚYc                 ó*  — | j                  d«       t        j                  «       }t        dd|d¬«       t	        |j                  «       j                  d«      «      j                  d«       t	        | j                  d«      «      j                  «        y )Nr    r
   Tr   r   r   r!   r"   r,   s      r   Útest_command_interactive_yz0TestManagementCommand.test_command_interactive_y+   sl   € à×Ñ˜;Ô'ä—‘“ˆÜÐ+¸ÀfÐ_`ÕaÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰ZÐ7Ô8äˆt×!Ñ! +Ó.Ó/×;Ñ;Õ=r   c                 óÌ  — | j                  d«       dj                  | j                  d«      «      }t        j                  r|j                  d«      }t        j                  «       }t        dd|dd¬«       t        |j                  «       j                  d	«      «      j                  |«      j                  d
«       t        | j                  d«      «      j                  «        y )Nu   Ð¢ÐµÑ�Ñ‚.txtú	Remove {}zutf-8r
   Té   r   ©r   r   Ú	verbosityr   r   r!   )r#   ÚformatÚ_media_abs_pathr   ÚPY2Úencoder   r   r   r   r   r   r$   r%   )r   r-   Úexpected_stringr   s       r   Ú%test_command_interactive_y_with_asciiz;TestManagementCommand.test_command_interactive_y_with_ascii6   s«   € à×Ñ˜?Ô+à&×-Ñ-¨d×.BÑ.BÀ?Ó.SÓTˆÜ�7Š7Ø-×4Ñ4°WÓ=ˆOä—‘“ˆÜÐ+¸ÀfÐXYÐlmÕnÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰Z˜Ó(ß‰ZÐ7Ô8äˆt×!Ñ! /Ó2Ó3×?Ñ?ÕAr   zNdjango_unused_media.management.commands.cleanup_unused_media.remove_empty_dirsc                 ób   — | j                  d«       t        ddd¬«       |j                  «        y )Núsub1/sub2/sub3/notused.txtr
   Fr   r   )r#   r   Úassert_not_called©r   Úmock_remove_empty_dirss     r   Útest_command_do_not_remove_dirsz5TestManagementCommand.test_command_do_not_remove_dirsF   s+   € à×ÑÐ8Ô9äÐ+¸ÐQRÕSà×0Ñ0Õ2r   c                 ód   — | j                  d«       t        dddd¬«       |j                  «        y )Nr>   r
   FTr   )r   Úremove_empty_dirsr   )r#   r   Úassert_called_oncer@   s     r   Útest_command_remove_dirsz.TestManagementCommand.test_command_remove_dirsN   s.   € à×ÑÐ8Ô9äÐ+¸ÐRVÐijÕkà×1Ñ1Õ3r   c                 óJ  — | j                  d«       t        j                  «       }t        ddd|d¬«       t	        |j                  «       j                  d«      «      j                  d«      j                  d	«       t	        | j                  d«      «      j                  «        y )
Nr    r
   FTr   )r   Údry_runr   r   r   zTotal files will be removed: 1zDry run. Exit.r*   r   s     r   Útest_command_dry_runz*TestManagementCommand.test_command_dry_runV   sz   € Ø×Ñ˜:Ô&ä—‘“ˆÜÐ+¸ÈÐU[ÐnoÕpÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰ZÐ9Ó:ß‰ZÐ)Ô*äˆt×!Ñ! *Ó-Ó.×9Ñ9Õ;r   c                 óþ  — | j                  d«       t        j                  «       }t        dd|dd¬«       t	        |j                  «       j                  d«      «      j                  j                  d«      j                  j                  | j                  d«      «      j                  j                  dj                  | j                  d«      «      «       t	        | j                  d«      «      j                  «        y )	Nr    r
   Tr   r5   r   zFiles to remove:r3   )r#   r   r   r   r   r   r   r   r   r8   r7   r$   r%   r,   s      r   Útest_command_interactive_silentz5TestManagementCommand.test_command_interactive_silenta   s°   € à×Ñ˜;Ô'ä—‘“ˆÜÐ+¸ÀfÐXYÐlmÕnÜˆv�‰Ó ×&Ñ& tÓ,Ó-ß‰S—‘Ð/Ó0ß‰S—‘˜D×0Ñ0°Ó=Ó>ß‰S—‘˜L×/Ñ/°×0DÑ0DÀ[Ó0QÓRÔSäˆt×!Ñ! +Ó.Ó/×;Ñ;Õ=r   c                 ó  — | j                  d«       t        j                  «       }t        dd|dd¬«       t	        |j                  «       «      j                  d«       t	        | j                  d«      «      j                  «        y )Nr    r
   Fr   r5   Ú )	r#   r   r   r   r   r   Úto_equalr$   r%   r,   s      r   Ú"test_command_noninteractive_silentz8TestManagementCommand.test_command_noninteractive_silentn   sd   € à×Ñ˜;Ô'ä—‘“ˆÜÐ+¸ÀvÐYZÐmnÕoÜˆv�‰Ó Ó!×*Ñ*¨2Ô.Üˆt×!Ñ! +Ó.Ó/×;Ñ;Õ=r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r&   ÚmockÚpatchr.   r1   r<   rB   rF   rI   rK   rO   © r   r   r   r      s  „ òqò4ò=ð €T‡Z�ZÐ!°Ô4ñ=ó 5ð=ð €T‡Z�ZÐ!°Ô4ñ>ó 5ð>ð €T‡Z�ZÐ!°Ô4ñBó 5ðBð €T‡Z�ZÐ`Óañ3ó bð3ð €T‡Z�ZÐ`Óañ4ó bð4ò	<ð €T‡Z�ZÐ!°Ô4ñ
>ó 5ð
>ð €T‡Z�ZÐ!°Ô4ñ>ó 5ñ>r   r   )	rS   r   Úpreggyr   Údjango.core.managementr   Úbaser   r   rU   r   r   ú<module>rY      s$   ðó Û 
å Ý /å ôi>˜Lõ i>r   