o
    Df                      @   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   a/home/ubuntu/webapp/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_opsr   )_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