
    	]j                     \   d Z ddlZddlmZ 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  ej                   e      Zej&                  Zej*                  Zej,                  Zej.                  Zej0                  Zej2                  Zej4                  Z ej6                  dd	
      d        Zy)zG
FSM Test Configuration.

Ensures proper test isolation for FSM tests.
    N)deepcopy)cache)state_choices_registrystate_model_registrytransition_registry)StateManager)conftestTfunction)autousescopec               #     K   ddl m}  t        t        j                        }t        t
        j                        }t        t        j                        }d | j                          t        j                          t        j                          t        j                          t        j                          t        j                          |t        _        |t
        _        |t        _        yw)z
    Ensure test isolation by:
    1. Saving and restoring the transition registry
    2. Clearing CurrentContext and cache

    This prevents test leakage when tests clear the registry for their own purposes.
    r   )CurrentContextN)core.current_requestr   r   r   _transitionsr   _choicesr   _modelsclearr   r   clear_fsm_cache)r   original_transitionsoriginal_state_choicesoriginal_state_modelss       I/root/env/lib/python3.12/site-packages/label_studio/fsm/tests/conftest.pyfsm_test_isolationr   "   s      4 $$7$D$DE%&<&E&EF$%9%A%AB	 	KKM  "  " ';$&<##8 s   C,C.)__doc__loggingcopyr   pytestdjango.core.cacher   fsm.registryr   r   r   fsm.state_managerr   label_studio.testsr	   ls_tests_conftest	getLogger__name__loggerget_server_urldjango_live_urlbusiness_clientaws_credentialss3s3_with_images
gcs_clientazure_clientfixturer        r   <module>r1      s       # Z Z * <			8	$ $22#33 $33"11))
 -- J/9 09r0   