Ë
    ¸2Úiî  ã                   óú   — d dl mZ  ej                  d«      Zd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  e«       Zej0                  j2                  Ze G d„ de«      «       Zy)é    )ÚappsÚauth)Úget_user_model)Úcreate_permissions)ÚContentType)Úcall_command)ÚTestCase)Úclean_orphan_obj_perms)Úassign_perm)ÚGroup)ÚskipUnlessTestAppc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚOrphanedObjectPermissionsTestc                 óä  — t         j                  j                  d¬«      | _        t        j                  j                  d¬«      | _        t        j                  j                  dd¬«      | _        t        j                  j                  dd¬«      | _        t        t        d	«       t         j                  j                  d
¬«      | _        t        j                  j                  d¬«      | _        y )NÚuser1)ÚusernameÚgroup1)ÚnameÚfoozfake-for-guardian-tests)ÚmodelÚ	app_labelÚbaré   ÚuserÚgroup)ÚUserÚobjectsÚcreateÚtarget_user1r   Útarget_group1r   Útarget_obj1Útarget_obj2r   Úauth_appr   r   )Úselfs    úZ/var/www/html/acx/venv/lib/python3.12/site-packages/guardian/testapp/tests/test_orphans.pyÚsetUpz#OrphanedObjectPermissionsTest.setUp   s¼   € ä ŸL™L×/Ñ/¸Ð/ÓAˆÔÜ"Ÿ]™]×1Ñ1°xÐ1Ó@ˆÔÜ&×.Ñ.×5Ñ5ØÐ#<ð 6ó >ˆÔä&×.Ñ.×5Ñ5ØÐ#<ð 6ó >ˆÔô 	œ8 QÔ'ä—L‘L×'Ñ'°Ð'Ó8ˆŒ	Ü—]‘]×)Ñ)¨wÐ)Ó7ˆ�
ó    c           	      óâ  — | j                   dt        z  g| j                  dg| j                  ddg| j                  dgi}t        |j                  «       D ��cg c]  \  }}t        |«      ‘Œ c}}«      }|j                  «       D ]4  \  }}|j                  |_	        |D ]  }t        || j                  |«       Œ Œ6 |j                  «       D ]  \  }}|j                  «        Œ t        «       }| j                  ||«       |j                  «       D ]X  \  }}|j                  |_        |j                  «        |D ]-  }| j!                  | j                  j#                  ||«      «       Œ/ ŒZ y c c}}w )Nú	change_%sÚdelete_groupÚchange_contenttypeÚdelete_contenttype)r   Úuser_module_namer    r!   r"   ÚsumÚitemsÚlenÚpkÚ&_OrphanedObjectPermissionsTest__old_pkr   r   Údeleter
   ÚassertEqualÚsaveÚassertFalseÚhas_perm)	r$   Útarget_permsÚkeyÚvalÚobj_perms_countÚtargetÚpermsÚpermÚremoveds	            r%   Útest_clean_permsz.OrphanedObjectPermissionsTest.test_clean_perms%   sg  € ð ×Ñ Ô.>Ñ >Ð?Ø×Ñ Ð 0Ø×ÑÐ3Ð5IÐJØ×ÑÐ3Ð4ð	
ˆô ¸×8JÑ8JÓ8L×M©H¨C°œs 3�xÓMÓNˆØ)×/Ñ/Ó1ò 	5‰MˆF�EØ$Ÿi™iˆFŒOØò 5�Ü˜D $§)¡)¨VÕ4ñ5ð	5ð *×/Ñ/Ó1ò 	‰MˆF�EØ�M‰M�Oð	ô )Ó*ˆØ×Ñ˜ /Ô2ð *×/Ñ/Ó1ò 	C‰MˆF�EØŸ™ˆFŒIØ�K‰KŒMØò C�Ø× Ñ  §¡×!3Ñ!3°D¸&Ó!AÕBñCñ	Cùó Ns   ÁE+
c                 óN  — | j                   dt        z  g| j                  dg| j                  ddg| j                  dgi}|j                  «       D ]4  \  }}|j                  |_        |D ]  }t        || j                  |«       Œ Œ6 |j                  «       D ]  \  }}|j                  «        Œ t        dd¬«       |j                  «       D ]X  \  }}|j                  |_        |j                  «        |D ]-  }| j                  | j                  j                  ||«      «       Œ/ ŒZ y)	zv
        Same test as the one above but rather function directly, we call
        management command instead.
        r)   r*   r+   r,   r
   r   )Ú	verbosityN)r   r-   r    r!   r"   r/   r1   r2   r   r   r3   r   r5   r6   r7   )r$   r8   r<   r=   r>   s        r%   Útest_clean_perms_commandz6OrphanedObjectPermissionsTest.test_clean_perms_commandC   s.  € ð ×Ñ Ô.>Ñ >Ð?Ø×Ñ Ð 0Ø×ÑÐ3Ð5IÐJØ×ÑÐ3Ð4ð	
ˆð *×/Ñ/Ó1ò 	5‰MˆF�EØ$Ÿi™iˆFŒOØò 5�Ü˜D $§)¡)¨VÕ4ñ5ð	5ð *×/Ñ/Ó1ò 	‰MˆF�EØ�M‰M�Oð	ô 	Ð-¸Õ;ð *×/Ñ/Ó1ò 	C‰MˆF�EØŸ™ˆFŒIØ�K‰KŒMØò C�Ø× Ñ  §¡×!3Ñ!3°D¸&Ó!AÕBñCñ	Cr'   N)Ú__name__Ú
__module__Ú__qualname__r&   r@   rC   © r'   r%   r   r      s   „ ò8òCó<Cr'   r   N)Údjango.appsr   Údjango_appsÚget_app_configr#   Údjango.contrib.authr   Údjango.contrib.auth.managementr   Ú"django.contrib.contenttypes.modelsr   Údjango.core.managementr   Údjango.testr	   Úguardian.utilsr
   Úguardian.shortcutsr   Úguardian.modelsr   Úguardian.testapp.tests.confr   r   Ú_metaÚ
model_namer-   r   rG   r'   r%   ú<module>rV      sp   ðÝ +Ø%ˆ;×%Ñ% fÓ-€å .Ý =Ý :Ý /Ý  å 1Ý *Ý !Ý 9ñ Ó€Ø—:‘:×(Ñ(Ð ð ôLC Hó LCó ñLCr'   