Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
engines.cpython-313.pyc105 linesDownload Raw Back to __pycache__
1�

2��j8��b�SSKJr SSKrSSKrSSKrSSKJr SSKJr SSKJr SSKJr SSK	r	SSK3r4SSKJr SS	K
Jr SS5K
Jr SSKJr SS
KJr SSK
Jr SSKJr \R*(aSSKJr SSKJr SSKJr "SS5r\"5r\S5r\S5r\S5r \S5r!S'Sjr""SS5r#S(Sjr$\RJS)S*Sjj5r&\RJS)S+Sjj5r&S(SS .S,S!jjjr&S'S"jr'"S#S$5r("S%S&5r)g)-�)�annotationsN)�Any)�Dict)�Optional)�Union�)�config)�	decorator)�6gc_collect�)�event)�pool)�7await_only)�Literal)�Engine)�URL)�AsyncEnginec��\rSrSrSrSrSrSrSrSr	Sr8S	rS9rSr
SrS
rSrSrSrSrSrSrSrg)�ConnectionKiller�%c��[R"5Ul[R"[105Ul[5Ulg�N)�weakref�WeakKeyDictionary�11proxy_refs�collections�defaultdict�set�testing_engines�dbapi_connections��selfs �`D:\code\apps\devtools\python\user_packages\Python313\site-packages\sqlalchemy/testing/engines.py�__init__�ConnectionKiller.__init__&s/��!�3�3�5���*�6�6�s�;���!$����c��[R"USUR5 [R"USUR5 [R"USUR5 [R"USUR5 g)N�checkout�checkin�close�close_detached)r
�listen�	_add_conn�_remove_conn)r"rs  r#�add_pool�ConnectionKiller.add_pool+sY��
���T�:�t�~�~�6�
���T�9�d�&7�&7�8�
���T�7�D�$5�$5�6�
���T�+�T�->�->�?r&c�X�URRU5 SURU'g)NT)r �addr)r"�	dbapi_con�12con_record�	con_proxys    r#r-�ConnectionKiller._add_conn3s$�����"�"�9�-�%)����	�"r&c�:�URRU5 gr)r �discard)r"�13dbapi_conn�args   r#r.�ConnectionKiller._remove_conn7s�����&�&�z�2r&c��URUR5 US;deURURU5 g)N)�class�global�function�fixture)r/rrr2)r"�engine�scopes   r#�14add_engine�ConnectionKiller.add_engine:s:���
�
�f�k�k�"��B�B�B�B����U�#�'�'��/r&c�t�U"5 g![a#n[R"SU-5 SnAgSnAff=f)Nz5testing_reaper couldn't rollback/close connection: %s��	Exception�warnings�warn�r"�fn�es   r#�_safe�ConnectionKiller._safe@s5��	��D���	��M�M�G�!�K�
�
��	���15�167�2�7c��[UR5H6nUcMUR(dMURUR5 M8 gr)�listr�is_validrM�rollback�r"�recs  r#�rollback_all�ConnectionKiller.rollback_allHs2������(�C���3�<�<�<��17�18�3�<�<�(�)r&c�|�[UR5H[nUcMUR(dMURR	UR195 UR
UR5 M] URHnUR
UR5 M  URR5 gr)20rQrrRr r8�dbapi_connectionrM�_checkinrS�clear)r"rU�cons   r#�checkin_all�ConnectionKiller.checkin_allMs�������(�C���3�<�<�<��&�&�.�.�s�/C�/C�D��21�22�3�<�<�(�)��)�)�C��J�J�s�|�|�$�*����$�$�&r&c�$�UR5 gr)r]r!s r#�	close_all�ConnectionKiller.close_all\s�����r&c��[R(dgSSKJn UR	UR23RU5 g�Nr��	provision)r	�bootstrapped_as_sqlalchemy�re�prepare_for_drop_tablesrA�url)r"�24connectionres   r#rh�(ConnectionKiller.prepare_for_drop_tables_s-���0�0����)�)�*�*;�*;�*?�*?��Lr&c���URUn[U5H�n[UR5H`nUcMUR(dMURcM*URUR25LdMEUR
UR5 Mb [US5(a[UR55 M�UR5 M� UR5 g�N�sync_engine)rrQrrR�_poolrrMrZ�hasattrr�disposer[)r"rB�engrU�	proxy_refs     r#�_drop_testing_engines�&ConnectionKiller._drop_testing_engineshs����"�"�5�)����9�C�!�$�/�/�2�	��(�Y�-?�-?�-?�!���3�%�O�O�s�x�x�7��26�27�9�#5�#5�6�
3��s�M�*�*��3�;�;�=�)����
��	�	�	�r&c��URUn[U5H?n[US5(a[UR	55 M/UR	5 MA grm)rrQrprrq)r"rBrrrUs    r#�_dispose_testing_engines�)ConnectionKiller._dispose_testing_engineszsD���"�"�5�)����9�C��s�M�*�*��3�;�;�=�)����
�	r&c�&�URS5 g)Nr?)rtr!s r#�28after_test�ConnectionKiller.after_test�s���"�"�:�.r&c�P�[R(dgURR(agUR	5 SSKJn [RR5nURURRU5 SSS5 g!,(df   g=frc)r	rf�	__class__�"__leave_connections_for_teardown__r]rgre�db�connectrhrAri)r"�testre�conns    r#�after_test_outside_fixtures�,ConnectionKiller.after_test_outside_fixtures�se���0�0���>�>�<�<������29	 �
�Y�Y�
�
�
 �D��-�-�d�k�k�o�o�t�D�!�
 �
 �s�''B�30B%c�h�UR5 URS5 URS5 g)Nr?r=)r]rtr!s r#�stop_test_class_inside_fixtures�0ConnectionKiller.stop_test_class_inside_fixtures�s*�������"�"�:�.��"�"�7�+r&c���[RR(a�[5 [RR(a\[	[RR5n[RRR5 US:�aSU-5e[R(a2[RR(aURS5 ggg)Nrz/%d connection recs not cleared after test suiter>)31r�base�_strong_ref_connection_recordsr�lenr[r	�options�low_connectionsrw)r"�lns  r#� stop_test_class_outside_fixtures�1ConnectionKiller.stop_test_class_outside_fixtures�s����9�9�3�3��L��y�y�7�7�����A�A�B���	�	�8�8�>�>�@���6�32�P�H�B�O�P���>�>�f�n�n�<�<�
�)�)�(�3�=�>r&c�l�UR5 URHnURU5 M gr)r]rrt)r"rBs  r#�
final_cleanup�ConnectionKiller.final_cleanup�s,�������)�)�E��&�&�u�-�*r&c�P�URHnUR(dMe gr)rrRrTs  r#�assert_all_closed�"ConnectionKiller.assert_all_closed�s���?�?�C��|�|�|��u�#r&)r rrN)�__name__�33__module__�__qualname__�__firstlineno__r$r/r-r.rCrMrVr]r`rhrtrwrzr�r�r�r�r��__static_attributes__�r&r#rr%s_��'�34@�*�3�0��)�35
'��M��$�/�E�$,�364�,.�37r&rc�p�U"U0UD6 [R5 g![R5 f=fr)�testing_reaperr��rK�args�kws   r#�assert_conns_closedr��s+��+�38�D��B���(�(�*���(�(�*����5c�p�U"U0UD6 [R5 g![R5 f=f)zBDecorator that rolls back all open connections after fn execution.N)r�rVr�s   r#�rollback_open_connectionsr��s+��&�39�D��B���#�#�%���#�#�%�r�c�<�[R5 U"U0UD6 g)z:Decorator that closes all connections before fn execution.N�r�r]r�s   r#�close_firstr��s����� ���O��Or&c�p�U"U0UD6 [R5 g![R5 f=f)z9Decorator that closes all connections after fn execution.Nr�r�s   r#�close_open_connectionsr��s+��%�40�D��B���"�"�$���"�"�$�r�c#��# �SSKJn URHXnU(aX ;aM[XS5nU(d"[[	SU-5RU5nUR5v� MZ g7f)Nrzsqlalchemy.dialects.%s)�sqlalchemy.dialects�dialects�__all__�getattr�41__import__�dialect)�exclude�d�name�mods    r#�all_dialectsr��s]���#��	�	���t����a�t�$�����3�d�:�;�D�D�d��C��k�k�m���s�A0A2c�<�\rSrSrSrSrSrSrS42SjrSr	Sr43g	)�ReconnectFixture��c�,�Xl/UlSUlg�NF)�dbapi�connections�44is_stopped)r"r�s  r#r$�ReconnectFixture.__init__�s���45������r&c�.�[URU5$r)r�r��r"�keys  r#�__getattr__�ReconnectFixture.__getattr__�s���t�z�z�3�'�'r&c��URR"U0UD6nUR(aCURUR5 UR5nUR
S5 S5eURRU5 U$)Nzselect 1z%simulated connect failure didn't work)	r�r�r�rMr*�cursor�executer��append)r"r��kwargsr��curss     r#r��ReconnectFixture.connect�so���z�z�!�!�4�2�6�2���?�?��J�J�t�z�z�"��;�;�=�D�
�L�L��$�A�A�A�5����#�#�D�)��Kr&c�t�U"5 g![a#n[R"SU-5 SnAgSnAff=f)Nz.ReconnectFixture couldn't close connection: %srFrJs   r#rM�ReconnectFixture._safes4��	P��D���	P��M�M�J�Q�N�O�O��	P�rOc��Xl[UR5HnURUR5 M  /Ulgr)r�rQr�rMr*)r"�stop�cs   r#�shutdown�ReconnectFixture.shutdowns6�����d�&�&�'�A��J�J�q�w�w��(���r&c��SUlgr�)r�r!s r#�restart�ReconnectFixture.restarts	����r&)r�r�r�N)F)r�r�r�r�r$r�r�rMr�r�r�r�r&r#r�r��s!�� �46(��P�	� r&r�c�^^�U=(d [RRn[RRRnU(d0n[U5US'[
X5mTRmUU4SjnTRRRTl	TRRRTlUTlT$)N�modulec�>�TRRR5 STRRlT"5 gr�)r�r�r�r�)�_disposerAs��r#rq�$reconnecting_engine.<locals>.dispose&s0��������%�%�'�*/������'��47r&)r	rrir�r�r��testing_enginerqr��
test_shutdownr��test_restart)rir�r�rqr�rAs    @@r#�reconnecting_enginer�s����48
�49������C��I�I���#�#�E����(��/�G�H��
�C�
)�F��~�~�H��50"�>�>�/�/�8�8�F�� �.�.�.�.�6�6�F���F�N��Mr&c��grr��rir��asyncios   r#r�r�1s��r&c��grr�r�s   r#r�r�:s��r&F)r�c51�52�U(aSSKJn OSSKJn SSKJn U"U(aUO[RR5nU(d0n0n[RU4H`nU(dMURUR5VVs0sH'upxUS;dM
URS5(aM%Xx_M) snn5 Mb U"U40UD6n	[R(a4[RR(a[R!S5 UR#SS	5n53U54S:Xa U(aS55U	R$lOS56U	lSSKJn UR-U	RX�U575 UR#S
S585nU(a[R/X�5 [1U	R2[2R45(a4SU;a.SU;a(SU;a"SU	R2lSU	R2lU	$s snnf)Nr)�create_async_engine)�
create_engine)�make_url)rB�59use_reaper�sqlite_r>rBr?Trrdr�r�pool_timeout�max_overflow)�sqlalchemy.ext.asyncior��60sqlalchemyr��sqlalchemy.engine.urlr�r	rri�db_opts�update�items�61startswithr�r�r�rw�getrn�_has_eventsrgre�post_configure_testing_enginerC�62isinstancer�	QueuePool�_timeout�
_max_overflow)
rir�r�r�r��use_options�opt_dict�opt�valuerArBrer�s
             r#r�r�Cs����	63�	-�.�64�#�3�6�9�9�=�=�651�C�����K��^�^�W�-�������#+�.�.�"2�
�"2�J�C��5�5�����y�1���66�"2�
�	67�.��3�
.�+�
.�F�
�~�~�&�.�.�8�8�	�/�/��9��K�K���,�E�����-1�F���*��
���
�+�+�F�J�J���O�68���\�4�0�J���!�!�&�0�	�6�;�;����/�/��'�!��'�)��'�)� �����$%����!��M��Y
s�G?�G?�3G?c��^^�SSKJn U(d[RRn/mU4SjnU4SjnU4SjnU"US-U5m[TS5(aeTTlUTlUTlT$)aProvides a mocking engine based on the current testing.db.69 70This is normally used to test DDL generation flow as emitted71by an Engine.72 73It should not be used in other cases, as assert_compile() and74assert_sql_execution() are much better choices with fewer75moving parts.76 77r)�create_mock_enginec�(>�TRU5 gr)r�)�sql�ar��buffers   �r#�executor�mock_engine.<locals>.executor�s����
�
�c�r&c78�>�TVs/sH$n[R"SS[U55PM& nnX :XdU5egs snf)Nz[\n\t]rg)�re�sub�str)�stmts�s�recvrs   �r#�79assert_sql�mock_engine.<locals>.assert_sql�s<���7=�>�v�!����y�"�c�!�f�-�v��>��}�"�d�"�}��?s�+Ac�h>^�TRmSRU4SjTR55$)N�80c3�T># �UHn[URTS95v� M g7f))r�N)r�compile)�.0r81r�s  �r#�	<genexpr>�1mock_engine.<locals>.print_sql.<locals>.<genexpr>�s$����H�K�q��Q�Y�Y�q�Y�1�2�2�K�s�%()r��join�mock)r�rAs@�r#�	print_sql�mock_engine.<locals>.print_sql�s%����N�N���y�y�H�F�K�K�H�H�Hr&z://r)	r�r�r	rr�rprrr)�dialect_namer�rrrrrAs     @@r#�mock_enginer�so���.���y�y�~�~��
�F��#�I� ��u� 4�h�
?�F��v�v�&�&�&�&��F�K�"�F�� �F���Mr&c�:�\rSrSrSrSrS82SjrSrSrSr	S	r83g)�DBAPIProxyCursori�ziProxy a DBAPI cursor.84 85Tests can provide subclasses of this to intercept86DBAPI-level cursor operations.87 88c�J�XlX lUR"U0UD6Ulgr)rArjr�)r"rAr�r�r�s     r#r$�DBAPIProxyCursor.__init__�s!�������k�k�4�2�6�2��r&Nc��U(aURR"X40UD6$URR"U40UD6$r)r�r�)r"�stmt�89parametersr�s    r#r��DBAPIProxyCursor.execute�s9����;�;�&�&�t�>�2�>�>��;�;�&�&�t�2�r�2�2r&c�<�URR"X40UD6$r)r��executemany)r"r �paramsr�s    r#r$�DBAPIProxyCursor.executemany�s���{�{�&�&�t�:�r�:�:r&c�,�[UR5$r)�iterr�r!s r#�__iter__�DBAPIProxyCursor.__iter__�s���D�K�K� � r&c�.�[URU5$r)r�r�r�s  r#r��DBAPIProxyCursor.__getattr__�s���t�{�{�C�(�(r&)rjr�rAr)r�r�r�r��__doc__r$r�r$r)r�r�r�r&r#rr�s ���3�903�;�!�)r&rc�0�\rSrSrSrSrSrSrSrSr	g)	�DBAPIProxyConnectioni�zqProxy a DBAPI connection.91 92Tests can provide subclasses of this to intercept93DBAPI-level connection operations.94 95c�(�X lXlX0lgr)r�rA�96cursor_cls)r"rAr�r1s    r#r$�DBAPIProxyConnection.__init__�s���	���$�r&c�X�UR"URUR/UQ70UD6$r)r1rAr�)r"r�r�s   r#r��DBAPIProxyConnection.cursor�s%�����t�{�{�D�I�I�G��G��G�Gr&c�8�URR5 gr)r�r*r!s r#r*�DBAPIProxyConnection.close�s���	�	���r&c�.�[URU5$r)r�r�r�s  r#r�� DBAPIProxyConnection.__getattr__�s���t�y�y�#�&�&r&)r�r1rAN)97r�r�r�r�r-r$r�r*r�r�r�r&r#r/r/�s���%�98H��'r&r/r)NN)..)ri�
Optional[URL]r��Optional[Dict[str, Any]]r�zLiteral[False]�returnr)rir9r�r:r�z
Literal[True]r;r)rir9r�r:r��boolr;zUnion[Engine, AsyncEngine])*�99__future__rrr�typingrrrrrHrrgr	�utilr100rr
rr�util.typingr�
TYPE_CHECKINGrAr�101engine.urlr�ext.asynciorrr�r�r�r�r�r�r�r��overloadr�rrr/r�r&r#�<module>rEs���#��	�
�������������!�102���� �)�U�U�p"�#���+��+��&��&������%��%��( �( �V�(����(+��	��
%���	�103��������(+��	��
%���	�104�����(,�F��	F�	�F�
%�F��	F�105 �F�R#�L)�)�:'�'r&
codekingpro/portable-devtools · Team Ai