Your IP : 216.73.216.213
���]B � @ s� d d l Z d d l Z d d l Z d d � Z Gd d � d e j � Z Gd d � d e j � Z d d � Z d
d � Z e
d k r� e � d S)
� Nc C s d S)NZ
sqlite_testdb� r r r �1/opt/alt/python35/lib64/python3.5/transactions.py�get_db_path s r c @ s� e 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
e j e
j d k d � d d � � Z e j e
j d k d � d d � � Z d d � Z d S)�TransactionTestsc C s� y t j t � � Wn t k
r( Yn Xt j t � d d �| _ | j j � | _ t j t � d d �| _ | j j � | _
d S)N�timeoutg�������?)�os�remover �OSError�sqlite�connect�con1�cursor�cur1�con2�cur2)�selfr r r �setUp s
zTransactionTests.setUpc C sa | j j � | j j � | j j � | j j � y t j t � � Wn t k
r\ Yn Xd S)N) r �closer r r r �unlinkr r )r r r r �tearDown+ s
zTransactionTests.tearDownc C si | j j d � | j j d � | j j d � | j j d � | j j � } | j t | � d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zcreate table test2(j)zselect i from test� )r �executer �fetchall�assertEqual�len)r �resr r r �CheckDMLdoesAutoCommitBefore7 s z-TransactionTests.CheckDMLdoesAutoCommitBeforec C sY | j j d � | j j d � | j j d � | j j � } | j t | � d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zselect i from testr )r r r r r r )r r r r r �CheckInsertStartsTransaction? s
z-TransactionTests.CheckInsertStartsTransactionc C st | j j d � | j j d � | j j � | j j d � | j j d � | j j � d } | j | d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zupdate test set i=6zselect i from testr � )r r r �commitr Zfetchoner )r r r r r �CheckUpdateStartsTransactionF s
z-TransactionTests.CheckUpdateStartsTransactionc C sv | j j d � | j j d � | j j � | j j d � | j j d � | j j � } | j t | � d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zdelete from testzselect i from testr )r r r r r r r r )r r r r r �CheckDeleteStartsTransactionO s
z-TransactionTests.CheckDeleteStartsTransactionc C s� | j j d � | j j d � | j j � | j j d � | j j d � | j j � } | j t | � d � | j | d d d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zreplace into test(i) values (6)zselect i from testr r r )r r r r r r r r )r r r r r �CheckReplaceStartsTransactionX s
z.TransactionTests.CheckReplaceStartsTransactionc C s� | j j d � | j j d � d | j _ | j | j j d � | j j d � | j j � } | j t | � d � d | j _ | j | j j d � | j j d � | j j d � | j j � } | j t | � d � d S)Nzcreate table test(i)zinsert into test(i) values (5)zselect i from testr ZDEFERRED)r r r Zisolation_levelr r r r )r r r r r �CheckToggleAutoCommitb s z&TransactionTests.CheckToggleAutoCommit� � z.test hangs on sqlite versions older than 3.2.2c C sN | j j d � | j j d � | j t j � � | j j d � Wd QRXd S)Nzcreate table test(i)zinsert into test(i) values (5))r r �assertRaisesr
�OperationalErrorr )r r r r �CheckRaiseTimeoutr s z"TransactionTests.CheckRaiseTimeoutc C s[ | j j d � | j j d � | j t j � � | j j d � Wd QRX| j j � d S)Nzcreate table test(i)zinsert into test(i) values (5))r r r&