a
    [ŠÝgš  ã                   @   sn   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j
ƒZdZdS )é   )Úfixtures)Úeq_)ÚColumn)ÚTableé   )ÚInteger)ÚString)Útestingc                   @   s€   e Zd ZdZdZdZedd„ ƒZedd„ ƒZdd	„ Z	d
d„ Z
e dg d¢¡ejjdd„ ƒƒZe dg d¢¡ejjdd„ ƒƒZdS )ÚSimpleUpdateDeleteTestZeach)Zsane_rowcountTc                 C   s&   t d|tdtddtdtdƒƒƒ d S )NÚplain_pkÚidT)Zprimary_keyÚdataé2   )r   r   r   r   )ÚclsÚmetadata© r   úy/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/sqlalchemy/testing/suite/test_update_delete.pyÚdefine_tables   s    üz$SimpleUpdateDeleteTest.define_tablesc                 C   s0   |  | jj ¡ dddœdddœdddœg¡ d S )Né   Úd1)r   r   r   Úd2r   Úd3)ÚexecuteÚtablesr   Úinsert)r   Ú
connectionr   r   r   Úinsert_data    s    
ýþz"SimpleUpdateDeleteTest.insert_datac                 C   sx   | j j}| | ¡  |jjdk¡tdd¡}|jr6J ‚|j	r@J ‚|j
dksNJ ‚t| | ¡  |jj¡¡ ¡ g d¢ƒ d S )Nr   Úd2_new©r   r   ©©r   r   ©r   r   ©r   r   )r   r   r   ÚupdateÚwhereÚcr   ÚdictÚ	is_insertÚreturns_rowsÚrowcountr   ÚselectÚorder_byÚfetchall©Úselfr   ÚtÚrr   r   r   Útest_update+   s    ÿ

þz"SimpleUpdateDeleteTest.test_updatec                 C   sp   | j j}| | ¡  |jjdk¡¡}|jr.J ‚|jr8J ‚|j	dksFJ ‚t
| | ¡  |jj¡¡ ¡ ddgƒ d S )Nr   r   r    r"   )r   r   r   Údeleter$   r%   r   r'   r(   r)   r   r*   r+   r,   r-   r   r   r   Útest_delete9   s    

þz"SimpleUpdateDeleteTest.test_deleteÚcriteria)ÚrowsÚnorowsÚemptyinc                 C   s  | j j}| ¡  |jj|jj¡}|jr:| |jjdk¡}n>|j	rT| |jjdk¡}n$|j
rp| |jj g ¡¡}n| ¡  | |tdd¡}|jr”J ‚|jsžJ ‚t| ¡ ddgƒ |j	rÈt| ¡ dgƒ nt| ¡ g ƒ t| | ¡  |jj¡¡ ¡ |j	rg d¢ng d	¢ƒ d S )
Né
   r   r   r   r   r   r!   r   ©r    ©r   r   r"   )r   r   r#   Ú	returningr%   r   r   r6   r$   r5   r7   Úin_Úfailr   r&   r'   r(   r   ÚkeysÚallr*   r+   r,   ©r.   r   r4   r/   Ústmtr0   r   r   r   Útest_update_returningD   s,    

ÿûz,SimpleUpdateDeleteTest.test_update_returningc                 C   s  | j j}| ¡  |jj|jj¡}|jr:| |jjdk¡}n>|j	rT| |jjdk¡}n$|j
rp| |jj g ¡¡}n| ¡  | |¡}|jrŒJ ‚|js–J ‚t| ¡ ddgƒ |j	rÀt| ¡ dgƒ nt| ¡ g ƒ t| | ¡  |jj¡¡ ¡ |j	røddgng d¢ƒ d S )	Nr8   r   r   r   r:   r    r"   r9   )r   r   r2   r;   r%   r   r   r6   r$   r5   r7   r<   r=   r   r'   r(   r   r>   r?   r*   r+   r,   r@   r   r   r   Útest_delete_returningg   s,    


ÿ
ûz,SimpleUpdateDeleteTest.test_delete_returningN)Ú__name__Ú
__module__Ú__qualname__Zrun_deletesÚ__requires__Z__backend__Úclassmethodr   r   r1   r3   r	   Z	variationÚrequiresZupdate_returningrB   Zdelete_returningrC   r   r   r   r   r
      s   


!r
   )r
   N)Ú r   Z
assertionsr   Zschemar   r   r   r   r	   Z
TablesTestr
   Ú__all__r   r   r   r   Ú<module>	   s   y