
    h\                     V    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	   " S S\5      r
g)	    )
connection)settings)call_command)TransactionTestCase)get_public_schema_namec                   x   ^  \ rS rSrSr\U 4S j5       rU 4S jr\U 4S j5       r\S 5       r	\S 5       r
SrU =r$ )	BaseTestCase	   zy
Base test case that comes packed with overloaded INSTALLED_APPS,
custom public tenant, and schemas cleanup on tearDown.
c                 T  > S[         l        S[         l        S[         l        S[         l        [         R                  [         R                  -   [         l        S[         R                  ;  a  [         =R                  S/-  sl        [         R
                  U l        [        TU ]%  5         g )Nzcustomers.Clientzcustomers.Domain)django_tenants	customers)dts_test_appzdjango.contrib.contenttypeszdjango.contrib.auth	.test.com)
r   TENANT_MODELTENANT_DOMAIN_MODELSHARED_APPSTENANT_APPSINSTALLED_APPSALLOWED_HOSTSavailable_appssuper
setUpClasscls	__class__s    P/var/www/html/env/lib/python3.13/site-packages/django_tenants/tests/testcases.pyr   BaseTestCase.setUpClass   s|     2'9$ - 9 #+"6"69M9M"Mh444""{m3"%44    c                 L   > [         R                  " 5         [        TU ]  5         g )N)r   set_schema_to_publicr   setUp)selfr   s    r   r!   BaseTestCase.setUp   s    '')r   c                    > [         TU ]  5         S[        R                  ;   a   [        R                  R	                  S5        g g )Nr   )r   tearDownClassr   r   remover   s    r   r%   BaseTestCase.tearDownClass"   s5    (000""))+6 1r   c                     [         R                  " 5       nSnUR                  X145        UR                  5        Vs/ s H  oDS   PM	     sn$ s  snf )NzVSELECT table_name FROM information_schema.tables
              WHERE table_schema = %sr   )r   cursorexecutefetchall)r   schema_namer)   sqlrows        r   get_tables_list_in_schema&BaseTestCase.get_tables_list_in_schema(   sH    ""$)sO,"(//"34"33A"3444s   Ac                 ,    [        S[        5       SSS9  g )Nmigrate_schemasFr   )r,   interactive	verbosity)r   r   )r   s    r   sync_sharedBaseTestCase.sync_shared0   s    &!7!9!& 	"r    )__name__
__module____qualname____firstlineno____doc__classmethodr   r!   r%   r/   r5   __static_attributes____classcell__)r   s   @r   r	   r	   	   s]       7 7
 5 5 " "r   r	   N)	django.dbr   django.confr   django.core.managementr   django.testr   django_tenants.utilsr   r	   r7   r   r   <module>rE      s!        / + 7,"& ,"r   