U
    ^g%i                      @   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   Zmodify_commentselfpkm1m2	alter_col r   g/var/www/html/api-medvista/venv/lib/python3.8/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   Z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   Z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 kr<t|j|  nt|j| |jt sZt|S )NTZ
return_opsr   )_fixtureopsr   Zexisting_nullableZexisting_typeZ_compare_type_affinityr   AssertionError)r   r   r   r   r!   r/   Z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)Z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ksbtd S )	Nr   r   Fr"   Tr,   autoincrementr   )r   r   r   r   r.   r/   kwr0   r   r   r   r/   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   r9   r,   r   r9   	r   r   r   r   r   r.   r   r/   r:   r;   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   r9   r>   r;   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   Tr=   r,   r   r9   r>   r;   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r9   r,   r   r9   r>   r;   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ksrtd S 	Nr   rB   Tr   r   r,   r9   r   	r   r   r   r   r   r.   r/   r:   r0   r;   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   rB   TFr=   r   rC   r,   r   r9   r>   r;   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   rB   Tr   r   Fr=   r,   r   r9   r>   r;   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ksztd S rE   rF   r;   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   rB   TFr=   r   ZInnoDB)Zmysql_enginer,   r   r9   r>   r;   r   r   r   9test_alter_column_autoincrement_compositepk_explicit_true   s"    zKAutoincrementTest.test_alter_column_autoincrement_compositepk_explicit_trueN)r1   r2   r3   r4   __requires__r<   r?   r@   rA   rD   rG   rH   rI   rJ   r   r6   Zautoincrement_on_composite_pkrK   r   r   r   r   r8   [   s   

r8   N)Z
sqlalchemyr   r   r   r   r   Zsqlalchemy.testingr   Z_autogen_fixturesr	    r   r   r   r   r   r   r8   r   r   r   r   <module>   s   K