
    h3                     r    S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
Jr  S SKJrJr   " S S	\5      rg)
    N)import_module)settings)reverse)BaseTestCase)TenantPrefixPatternget_subfolder_urlconf)get_tenant_modelget_tenant_domain_modelc                   V   ^  \ rS rSr\U 4S j5       rU 4S jrU 4S jrS rS r	Sr
U =r$ )URLResolversTestCase   c                   > [         TU ]  5         S[        l        S[        l        [        R                  [        R                  -   [        l        S[        l        [        R
                  U l        S nXl        SSS.U l	        g )N)django_tenants	customers)dts_test_appzdjango.contrib.contenttypeszdjango.contrib.authzclients/c                 f    [        U5      n[        U5      n[        XS9n[        R                  U	 U$ )z8
Reverses `name` in the urlconf returned from `tenant`.
)urlconf)r   r   r   sysmodules)selfnametenanturlconf_pathr   reverse_responses         X/var/www/html/env/lib/python3.13/site-packages/django_tenants/tests/test_urlresolvers.pyreverser_func6URLResolversTestCase.setUpClass.<locals>.reverser_func   s5    
 18L#L1G&t=L)##    z/public/z	/private/)publicprivate)
super
setUpClassr   SHARED_APPSTENANT_APPSINSTALLED_APPSTENANT_SUBFOLDER_PREFIXavailable_appsreverserpaths)clsr   	__class__s     r   r"   URLResolversTestCase.setUpClass   si    > 

 #+"6"69M9M"M+5(%44		$ %)kB	r   c                    > U R                  5         [        TU ]	  5         [        SS5       HO  nSR	                  U5      n[        5       " US9nUR                  SS9  [        5       " X2S9nUR                  5         MQ     g )N      ztenant{})schema_namer   )	verbosity)r   domain)sync_sharedr!   setUprangeformatr	   saver
   )r   ir0   r   r2   r+   s        r   r4   URLResolversTestCase.setUp)   si    q!A$++A.K%'K@FKK!K$,.fQFKKM r   c                 0  > SSK Jn  UR                  5         [        5       R                  R                  5        H  nUR                  5         M     [        5       R                  R                  5        H  nUR                  SS9  M     [        TU ]%  5         g )Nr   
connectionT)
force_drop)
	django.dbr<   set_schema_to_publicr
   objectsalldeleter	   r!   tearDown)r   r<   r2   r   r+   s       r   rC   URLResolversTestCase.tearDown3   sl    ('')-/77;;=FMMO >&(00446FMMTM* 7r   c                 X   SSK Jn  [        5       n[        5       R                  R                  5        Ht  nUR                  R                  5       nUR                  Ul	        UR                  U5        U R                  UR                  SR                  UR                  5      5        Mv     g )Nr   r;   zclients/{}/)r>   r<   r   r	   r@   rA   domainsfirstr2   domain_subfolder
set_tenantassertEqualtenant_prefixr6   )r   r<   tppr   r2   s        r   test_tenant_prefix'URLResolversTestCase.test_tenant_prefix=   s    (!#&(00446F^^))+F&,mmF#!!&)!!=#7#78O8O#P	 7r   c           	         SSK Jn  [        5       R                  R	                  5        H  nUR
                  R                  5       nUR                  Ul        UR                  U5        U R                  R                  5        H@  u  pEU R                  U R                  XB5      SR                  UR                  U5      5        MB     M     g )Nr   r;   z/clients/{}{})r>   r<   r	   r@   rA   rF   rG   r2   rH   rI   r)   itemsrJ   r(   r6   )r   r<   r   r2   r   paths         r   test_prefixed_reverse*URLResolversTestCase.test_prefixed_reverseI   s    (&(00446F^^))+F&,mmF#!!&)"jj..0
  MM$/#**6==$? 1	 7r    )__name__
__module____qualname____firstlineno__classmethodr"   r4   rC   rM   rR   __static_attributes____classcell__)r+   s   @r   r   r      s0    C C6
 r   r   )r   	importlibr   django.confr   django.urlsr   django_tenants.tests.testcasesr   django_tenants.urlresolversr   r   django_tenants.utilsr	   r
   r   rT   r   r   <module>rb      s(    
 #    7 R JH< Hr   