PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/alembic/testing/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/alembic/testing/__pycache__/fixtures.cpython-312.pyc

�

���g�#��$�UddlmZddlZddlmZddlZddlZddlmZddlm	Z	ddl
mZddl
mZddl
m
Z
dd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddlmZddlmZddlmZddlmZddlmZddlmZddlZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ejV�Z,e,j[dg�Gd�de�ZGd�d ee�Zd!e_.d*d"�Z/iZ0d#e1d$<ed%��Z2ed&��Z3					d+d'�Z4Gd(�d)�Z5y),�)�annotationsN)�contextmanager)�Any)�Dict)�Column��create_mock_engine)�inspect)�MetaData)�String)�Table)�testing)�text)�config)�mock)�eq_)�FutureEngineMixin)�
TablesTest)�TestBase�)�_get_dialect�)�EnvironmentContext)�MigrationContext)�
Operations)�sqla_compat)�sqla_2ztest.cfgc��eZdZeZej�d��Zejd��Zejd��Z	ejd��Z
y)rc#�tK�|jd��5t|���ddd�y#1swYyxYw�w)NT)�_per_migration)�begin_transactionr)�self�migration_contexts  �G/opt/hc_python/lib/python3.12/site-packages/alembic/testing/fixtures.py�ops_contextzTestBase.ops_context)s/����
�
0�
0��
0�
E��.�/�/�F�
E�
E�s�8�,�	8�5�8c�D�tj|td����S)NT)�transaction_per_migration��opts�r�	configure�dict�r"�
connections  r$r#zTestBase.migration_context.s���)�)��T�D�A�
�	
�c�F�tj|tdd����S)NT)r'�as_sqlr(r*r-s  r$�as_sql_migration_contextz!TestBase.as_sql_migration_context4s!���)�)��T�D��N�
�	
r/c#�zK�tjj�5}|��ddd�y#1swYyxYw�w�N)r�db�connect)r"�conns  r$r.zTestBase.connection:s(����
�Y�Y�
�
�
 �D��J�!�
 �
 �s�;�/�	;�8�;N)�__name__�
__module__�__qualname__r�is_sqlalchemy_futurer�fixturer%r#r2r.�r/r$rr&sk��!���W�_�_��0��0�
�_�_�
��
�

�_�_�
��
�

�_�_���r/rc��eZdZy)rN)r8r9r:r=r/r$rr@s��r/rTc�6���g���fd�}t||����fS)Nc�n���jt|j�j����y�N)�dialect)�append�str�compilerB)�sql�multiparams�params�buf�engines   ��r$�dumpzcapture_db.<locals>.dumpJs#����
�
�3�s�{�{�6�>�>�{�:�;�<r/r)rBrKrIrJs  @@r$�
capture_dbrLGs%���
�C�=� ���
.�F��3�;�r/zDict[Any, Any]�_engsc+�V��K��jdd�rtj�}ntj�}�j	d|d��t
j���fd�}tjjt
d|�5|��ddd�y#1swYyxYw�w)N�bytes_ioF�sqlite)�dialect_name�
output_bufferc�8��|jdi����|i|��S�Nr=��update��arg�opt�conf�kws  ��r$r+z)capture_context_buffer.<locals>.configure^�$�����
�
��R���S� �C� � r/r+)
�pop�io�BytesIO�StringIOrVrr+r�patch�object)r[rIr+rZs`  @r$�capture_context_bufferrcTsv�����	�v�v�j�%� ��j�j�l���k�k�m���I�I�x�#�>�?��'�'�D�!�
���	�	�-�{�I�	F��	�
G�	F�	F�s�BB)�B�	B)�B&�"B)c+����K�ddlm}ddlm}t	j
��|�}|j
�}|j|d��fd��}�jd|i�tj���fd�}tjjtd	|�5���ddd�y#1swYyxYw�w)
Nr)�_sqlite_file_dbr)�event�before_cursor_executec�.���j|dz�y)N�
)�write)r7�cursor�	statement�
parameters�context�executemanyrIs      �r$�bcez*capture_engine_context_buffer.<locals>.bceqs����	�	�)�d�"�#r/r.c�8��|jdi����|i|��SrTrUrWs  ��r$r+z0capture_engine_context_buffer.<locals>.configurexr\r/r+)�envre�
sqlalchemyrfr^r`r6�listens_forrVrr+rrarb)	r[rerf�engr7rpr+rIrZs	`      @@r$�capture_engine_context_bufferrvfs������$� �
�+�+�-�C�
�
�C��;�;�=�D�
���t�4�5�$�6�$��I�I�|�T�"�#��'�'�D�!�
���	�	�-�{�I�	F��	�
G�	F�	F�s�B B?�%B3�*	B?�3B<�8B?c�j����i}|rt|��|d<G�fd�d�}|��G�fd�dt�}�r�|d<|r||d<t|��|�|�_d	�_�s��fd
�}tj�|��}	n�|d<d}	|�|	|�}
t|
�tj_
|
S)
N)�naming_convention�target_metadatac�$��eZdZd�Z�fd�Zd�Zy)�op_fixture.<locals>.buffer_c��g|_yr4��lines�r"s r$�__init__z$op_fixture.<locals>.buffer_.__init__�s	���D�Jr/c����|j�}tjdd|�}�r.tjdd|�}tjdd|�}|jj	|�y)N�[\n\t]�z    z\;\n*$)�strip�re�subr~rC)r"�msgr1s  �r$rjz!op_fixture.<locals>.buffer_.write�s[����)�)�+�C��&�&��B��,�C���f�f�W�b�#�.���f�f�Y��C�0���J�J���c�"r/c��yr4r=rs r$�flushz!op_fixture.<locals>.buffer_.flush�s��r/N)r8r9r:r�rjr�)r1s�r$�buffer_r{�s���	�		#�	r/r�c�6��eZdZ�fd�Z�fd�Z�fd�Z�fd�Zy)�op_fixture.<locals>.ctxc����Sr4r=�r"rIs �r$�get_bufzop_fixture.<locals>.ctx.get_buf�s����Jr/c�$��g�jddyr4r}r�s �r$�clear_assertionsz(op_fixture.<locals>.ctx.clear_assertions�s����C�I�I�a�Lr/c���t�j|D�cgc]}tjdd|���c}�ycc}w)Nr�r�)rr~r�r�)r"rF�srIs   �r$�assert_zop_fixture.<locals>.ctx.assert_�s2���
��	�	�c�B�c��B�F�F�9�b�!�4�c�B�C��Bs�<
c����jD]}tjdd|�|vs�yJd|�d�j����)Nr�r�zCould not locate fragment z in )r~r�r�)r"rF�stmtrIs   �r$�assert_containsz'op_fixture.<locals>.ctx.assert_contains�sD����	�	���6�6�)�R��-��5��"����I�I���ur/N)r8r9r:r�r�r�r�)rIs�r$�ctxr��s���	�	�	D�
	r/r�r1�
literal_bindsTc���t|t�rt|�}|jsJ�t|j	����}�j|�yrA)�
isinstancerDr�supports_executionrErj)r��
multiparam�paramrFrI�ctx_dialects    ��r$�executezop_fixture.<locals>.execute�sE����$��$��D�z���*�*�*�*��d�l�l�;�l�7�8�C��I�I�c�Nr/)rBr�rR)rrr�supports_native_boolean�#non_native_boolean_check_constraintr�Mockr�alembic�op�_proxy)
rBr1rxr��native_booleanr)r�r�r�r.rnrIr�s
 `         @@r$�
op_fixturer��s�����D��"*�=N�"O��
����$�)�C����,���X��� -��_���w�'�K��!�.<��+�;?��7��	��Y�Y�{�G�D�
� #��_���
��+�z�4�0�G�"�7�+�G�J�J���Nr/c�0�eZdZdZd�Zd�Zd�Zd�Zdd�Zy)	�AlterColRoundTripFixture)�alter_columnc���tjj�|_t	j
|j�|_t|j�|_t�|_
yr4)rr5r6r7rr+r�rr�r�metadatars r$�setUpzAlterColRoundTripFixture.setUp�sE���I�I�%�%�'��	�#�-�-�d�i�i�8����T�X�X�&��� �
��
r/c��td|�}td|�}|jjj||�rJd|�d|�d���y)N�qz
Type objects � and � didn't compare as equivalent)rr��impl�compare_type)r"�t1�t2�c1�c2s     r$�
_compare_typez&AlterColRoundTripFixture._compare_type�sQ��
�C��_��
�C��_���8�8�=�=�-�-���
�	L�DF��K�	L�
�
r/c��td||��}td||��}|jjj||||�rJd|�d|�d���y)Nr�)�server_defaultzserver defaults r�r�)rr�r��compare_server_default)r"r��s1r��s2r�r�s       r$�_compare_server_defaultz0AlterColRoundTripFixture._compare_server_default�s[��
�C��B�
/��
�C��B�
/���8�8�=�=�7�7���B��
�	O�GI�2�N�	O�
�
r/c��tj|j�|jj�5|jj|j�ddd�|jj
�y#1swY�$xYwr4)r�%_safe_rollback_connection_transactionr7�beginr��drop_all�closers r$�tearDownz!AlterColRoundTripFixture.tearDown�sT���9�9�$�)�)�D�
�Y�Y�_�_�
��M�M�"�"�4�9�9�-���	�	�����
�s�&B�BNc�V�t|jdd�|jdtd��|jdd�|jdd���}td	|j|�}tj|j�5|j|j�t|j�}|jd	�d
}|jjd	|j|j|j�|jnd|j rdnd|jdd�|jdd�|jdd�|jdd���	ddd�t|j�}|jd	�d
}|�|}t#|dd|vr|dn|j�|j%|d|jdd��t#|d|jd|j ��|j'|d|jd
d�|jd|d�d|vr|dj(�y|j�%|jj*j(�yd�y#1swY��.xYw)N�name�colname�type�
�nullableTr�)r�r��xrF)�
existing_type�existing_server_default�existing_nullabler�r��new_column_name�type_�default)r�getrr
r�r�_ensure_scope_for_ddlr7�creater
�get_columnsr�r�r�r�r�r�rr�r�rrX)	r"�from_�to_�compare�column�t�insp�old_col�new_cols	         r$�_run_alter_colz'AlterColRoundTripFixture._run_alter_col�sY����I�I�f�i�(��I�I�f�f�R�j�)��Y�Y�z�4�0� �9�9�%5�t�<�	
��
�#�t�}�}�f�-��
�
.�
.�t�y�y�
9�
�H�H�T�Y�Y���4�9�9�%�D��&�&�s�+�A�.�G�
�G�G� � �����$�k�k��,�,�8��)�)��*0�/�/�$�u�����T�2�"�w�w�'7��?� #����� 5��g�g�f�d�+�
!�
�
:�0�t�y�y�!���"�"�3�'��*���?��G���F�O�%��0�G�F�O�f�k�k�	
�	
����F�O�W�[�[�����A�	
�	�G�J�����Z����!I�J��$�$��F�O��K�K�	�4�(��K�K�����0�$�w�.��(�)�.�.�
	
��,�,�8��)�)�-�-�2�2�
	
��
	
�M:�
9�s
�C#J�J(r4)	r8r9r:�__requires__r�r�r�r�r�r=r/r$r�r��s$��
%�L�#�L�O��=
r/r�)z
postgresql://)r�FNFN)6�
__future__r�configparser�
contextlibrr^r��typingrrrsrr	r
rrr
rr�sqlalchemy.testingrr�sqlalchemy.testing.assertionsr�sqlalchemy.testing.fixturesrr�SQLAlchemyTablesTestr�SQLAlchemyTestBaser��
assertionsr�environmentr�	migrationr�
operationsr�utilr�util.sqla_compatr�ConfigParser�testing_config�readr;rLrM�__annotations__rcrvr�r�r=r/r$�<module>r�s���"��%�	�	����)�������%�#�-�9�J�F��$�,�(�#��%�+��*�*�,�����Z�L�!��!��4	��/�	�*.��&����~������"����4
�����Q�h^
�^
r/

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic