o
    ‹ågÊ   ã                   @   s¸   d dl mZ d dl mZ d dl mZ d dl mZ d dl mZ d dlmZ ddlm	Z	 d	d
l
mZ d	dlmZ d	dlmZ d	dlmZ d	dlmZ G dd„ de	eƒZG dd„ de	eƒZdS )é    )Ú
BigInteger)ÚColumn)ÚInteger)ÚMetaData)ÚTable)Úin_é   )ÚAutogenFixtureTesté   )Útesting)Úconfig)Úeq_)Úis_)ÚTestBasec                   @   sŠ   e Zd ZdZe dd¡ejjdd„ ƒƒZ	e dd¡ejjdd„ ƒƒZ
e dd¡ejjdd	„ ƒƒZe dd¡ejjd
d„ ƒƒZddd„ZdS )ÚAlterColumnTestT)T)Fc              	   C   sX   t ƒ }t ƒ }td|tdt|d�ƒ td|tdtd|d�ƒ |  |||¡}t|jdƒ d S )NÚaÚx©Úprimary_key©Úcommentr   )r   r   r   r   Ú_assert_alter_colr   Úmodify_comment©ÚselfÚpkÚm1Úm2Ú	alter_col© r   úd/var/www/html/flaskapp/venv/lib/python3.10/site-packages/alembic/testing/suite/test_autogen_diffs.pyÚtest_all_existings_filled   s   z)AlterColumnTest.test_all_existings_filledc              
   C   sT   t ƒ }t ƒ }td|tdtd|d�ƒ td|tdtdd|d�ƒ | j|||dd� d S )Nr   r   F)Únullabler   )r"   r   r   ©r"   )r   r   r   r   r   )r   r   r   r   r   r   r    Ú$test_all_existings_filled_in_notnull   s   ýz4AlterColumnTest.test_all_existings_filled_in_notnullc              	   C   sZ   t ƒ }t ƒ }td|tdtd|d�ƒ td|tdtd|d�ƒ |  |||¡}t|jdƒ d S )Nr   r   Úoldr   Únew)r   r   r   r   r   r   Úexisting_commentr   r   r   r    Ú$test_all_existings_filled_in_comment.   s   z4AlterColumnTest.test_all_existings_filled_in_commentc              
   C   s`   t ƒ }t ƒ }td|tdtd|d�ƒ td|tdtdd|d�ƒ |  |||¡}td|jjjƒ d S )Nr   r   Ú5)Úserver_defaultr   r&   )r*   r   r   )	r   r   r   r   r   r   Úexisting_server_defaultÚargÚtextr   r   r   r    Ú+test_all_existings_filled_in_server_default:   s   ÿ
ÿýz;AlterColumnTest.test_all_existings_filled_in_server_defaultNc                 C   s^   | j ||dd�}|jd }|jd }|d u rt|j| ƒ nt|j|ƒ |j tƒ ¡s-J ‚|S )NT©Ú
return_opséÿÿÿÿr   )Ú_fixtureÚopsr   Úexisting_nullableÚexisting_typeÚ_compare_type_affinityr   )r   r   r   r   r"   r3   Úmodify_tabler   r   r   r    r   N   s   

z!AlterColumnTest._assert_alter_col)N)Ú__name__Ú
__module__Ú__qualname__Ú__backend__r   Úcombinationsr   ÚrequirementsÚcommentsr!   r$   r(   r.   r   r   r   r   r    r      s    





r   c                   @   sl   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zejjdd„ ƒZdS )ÚAutoincrementTestT)Úinteger_subtype_comparisonsc                 C   sf   t ƒ }t ƒ }td|tdtdd�ƒ td|tdtdd�ƒ | j||dd�}d|jd jd jvs1J ‚d S )	Nr   r   Fr#   Tr/   Úautoincrementr   )r   r   r   r   r2   r3   Úkw©r   r   r   r3   r   r   r    Ú$test_alter_column_autoincrement_none_   s   z6AutoincrementTest.test_alter_column_autoincrement_nonec              	   C   sl   t ƒ }t ƒ }td|tdtddd�ƒ td|tdtddd�ƒ | j||dd�}t|jd jd jd dƒ d S )	Nr   r   TF©r   rA   r/   r   rA   ©	r   r   r   r   r   r2   r   r3   rB   rC   r   r   r    Ú(test_alter_column_autoincrement_pk_falsei   s   ýý z:AutoincrementTest.test_alter_column_autoincrement_pk_falsec                 C   sh   t ƒ }t ƒ }td|tdtdd�ƒ td|tdtdd�ƒ | j||dd�}t|jd jd jd dƒ d S )Nr   r   Tr   r/   r   rA   rF   rC   r   r   r    Ú0test_alter_column_autoincrement_pk_implicit_true{   s    zBAutoincrementTest.test_alter_column_autoincrement_pk_implicit_truec              	   C   sl   t ƒ }t ƒ }td|tdtddd�ƒ td|tdtddd�ƒ | j||dd�}t|jd jd jd dƒ d S )Nr   r   TrE   r/   r   rA   rF   rC   r   r   r    Ú0test_alter_column_autoincrement_pk_explicit_true…   s   ÿý zBAutoincrementTest.test_alter_column_autoincrement_pk_explicit_truec              	   C   s€   t ƒ }t ƒ }td|tdtdd�tdtdd�ƒ td|tdtdd�tdtdd�ƒ | j||dd�}t|jd	 jd	 jd
 dƒ d S )Nr   ÚidTr   r   F©rA   r/   r   rA   rF   rC   r   r   r    Ú+test_alter_column_autoincrement_nonpk_false•   s    üü z=AutoincrementTest.test_alter_column_autoincrement_nonpk_falsec                 C   sv   t ƒ }t ƒ }td|tdtdd�tdtƒƒ td|tdtdd�tdtƒƒ | j||dd�}d|jd jd jvs9J ‚d S ©	Nr   rJ   Tr   r   r/   rA   r   ©r   r   r   r   r   r2   r3   rB   rC   r   r   r    Ú4test_alter_column_autoincrement_nonpk_implicit_false©   s    üüzFAutoincrementTest.test_alter_column_autoincrement_nonpk_implicit_falsec              	   C   s„   t ƒ }t ƒ }td|tdtddd�tdtdd�ƒ td|tdtddd�tdtdd�ƒ | j||dd�}t|jd	 jd	 jd
 dƒ d S )Nr   rJ   TFrE   r   rK   r/   r   rA   rF   rC   r   r   r    Ú3test_alter_column_autoincrement_nonpk_explicit_true½   s    üü zEAutoincrementTest.test_alter_column_autoincrement_nonpk_explicit_truec              
   C   s„   t ƒ }t ƒ }td|tdtdd�tdtddd�ƒ td|tdtdd�tdtddd�ƒ | j||dd�}t|jd	 jd	 jd
 dƒ d S )Nr   rJ   Tr   r   FrE   r/   r   rA   rF   rC   r   r   r    Ú1test_alter_column_autoincrement_compositepk_falseÑ   s    üü zCAutoincrementTest.test_alter_column_autoincrement_compositepk_falsec              	   C   s~   t ƒ }t ƒ }td|tdtdd�tdtdd�ƒ td|tdtdd�tdtdd�ƒ | j||dd�}d|jd jd jvs=J ‚d S rM   rN   rC   r   r   r    Ú:test_alter_column_autoincrement_compositepk_implicit_falseå   s    üüzLAutoincrementTest.test_alter_column_autoincrement_compositepk_implicit_falsec              
   C   sŒ   t ƒ }t ƒ }td|tdtddd�tdtddd�dd� td|tdtddd�tdtddd�ƒ | j||dd	�}t|jd
 jd
 jd dƒ d S )Nr   rJ   TFrE   r   ÚInnoDB)Úmysql_enginer/   r   rA   rF   rC   r   r   r    Ú9test_alter_column_autoincrement_compositepk_explicit_trueù   s"   ÷ü zKAutoincrementTest.test_alter_column_autoincrement_compositepk_explicit_trueN)r8   r9   r:   r;   Ú__requires__rD   rG   rH   rI   rL   rO   rP   rQ   rR   r   r=   Úautoincrement_on_composite_pkrU   r   r   r   r    r?   [   s    

r?   N)Ú
sqlalchemyr   r   r   r   r   Úsqlalchemy.testingr   Ú_autogen_fixturesr	   Ú r   r   r   r   r   r   r?   r   r   r   r    Ú<module>   s    K