403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/sqlite3/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/sqlite3/test/__pycache__/dbapi.cpython-36.opt-2.pyc
3

�
�^��
@sddlZddlZyddlZWnek
r4dZYnXddlmZmZGdd�dej�Z	Gdd�dej�Z
Gdd�dej�Zejed	�Gd
d�dej��Z
Gdd
�d
ej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zdd�Zdd�Zedk�re�dS)�N)�TESTFN�unlinkc@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�ModuleTestscCs|jtjddtj�dS)Nz2.0zapilevel is %s, should be 2.0)�assertEqual�sqliteZapilevel)�self�r�*/opt/alt/python36/lib64/python3.6/dbapi.py�
CheckAPILevel#s
zModuleTests.CheckAPILevelcCs|jtjddtj�dS)N�zthreadsafety is %d, should be 1)rrZthreadsafety)rrrr	�CheckThreadSafety's
zModuleTests.CheckThreadSafetycCs|jtjddtj�dS)NZqmarkz%paramstyle is '%s', should be 'qmark')rrZ
paramstyle)rrrr	�CheckParamStyle+s
zModuleTests.CheckParamStylecCs|jttjt�d�dS)Nz&Warning is not a subclass of Exception)�
assertTrue�
issubclassr�Warning�	Exception)rrrr	�CheckWarning0szModuleTests.CheckWarningcCs|jttjt�d�dS)Nz$Error is not a subclass of Exception)rrr�Errorr)rrrr	�
CheckError4szModuleTests.CheckErrorcCs|jttjtj�d�dS)Nz)InterfaceError is not a subclass of Error)rrr�InterfaceErrorr)rrrr	�CheckInterfaceError8szModuleTests.CheckInterfaceErrorcCs|jttjtj�d�dS)Nz(DatabaseError is not a subclass of Error)rrr�
DatabaseErrorr)rrrr	�CheckDatabaseError<szModuleTests.CheckDatabaseErrorcCs|jttjtj�d�dS)Nz,DataError is not a subclass of DatabaseError)rrr�	DataErrorr)rrrr	�CheckDataError@szModuleTests.CheckDataErrorcCs|jttjtj�d�dS)Nz3OperationalError is not a subclass of DatabaseError)rrr�OperationalErrorr)rrrr	�CheckOperationalErrorDsz!ModuleTests.CheckOperationalErrorcCs|jttjtj�d�dS)Nz1IntegrityError is not a subclass of DatabaseError)rrr�IntegrityErrorr)rrrr	�CheckIntegrityErrorHszModuleTests.CheckIntegrityErrorcCs|jttjtj�d�dS)Nz0InternalError is not a subclass of DatabaseError)rrr�
InternalErrorr)rrrr	�CheckInternalErrorLszModuleTests.CheckInternalErrorcCs|jttjtj�d�dS)Nz3ProgrammingError is not a subclass of DatabaseError)rrr�ProgrammingErrorr)rrrr	�CheckProgrammingErrorPsz!ModuleTests.CheckProgrammingErrorcCs|jttjtj�d�dS)Nz4NotSupportedError is not a subclass of DatabaseError)rrr�NotSupportedErrorr)rrrr	�CheckNotSupportedErrorTs
z"ModuleTests.CheckNotSupportedErrorN)�__name__�
__module__�__qualname__r
rr
rrrrrrrr r"r$rrrr	r"src@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zejejd!kd�dd��Zd S)"�ConnectionTestscCs0tjd�|_|jj�}|jd�|jdd�dS)Nz:memory:z4create table test(id integer primary key, name text)z!insert into test(name) values (?)�foo)r))r�connect�cx�cursor�execute)r�currr	�setUp[s

zConnectionTests.setUpcCs|jj�dS)N)r+�close)rrrr	�tearDownaszConnectionTests.tearDowncCs|jj�dS)N)r+�commit)rrrr	�CheckCommitdszConnectionTests.CheckCommitcCs|jj�|jj�dS)N)r+r2)rrrr	�CheckCommitAfterNoChangesgs
z)ConnectionTests.CheckCommitAfterNoChangescCs|jj�dS)N)r+�rollback)rrrr	�
CheckRollbacknszConnectionTests.CheckRollbackcCs|jj�|jj�dS)N)r+r5)rrrr	�CheckRollbackAfterNoChangesqs
z+ConnectionTests.CheckRollbackAfterNoChangescCs|jj�}dS)N)r+r,)rr.rrr	�CheckCursorxszConnectionTests.CheckCursorc	Cs*d}|jtj��tj|�}WdQRXdS)Nz/foo/bar/bla/23534/mydb.db)�assertRaisesrrr*)rZYOU_CANNOT_OPEN_THIS�conrrr	�CheckFailedOpen{szConnectionTests.CheckFailedOpencCs|jj�dS)N)r+r0)rrrr	�
CheckClose�szConnectionTests.CheckClosecCs�|j|jjtj�|j|jjtj�|j|jjtj�|j|jjtj�|j|jjtj�|j|jjtj�|j|jj	tj	�|j|jj
tj
�|j|jjtj�|j|jjtj�dS)N)
rr+rrrrrrrrrr!r#)rrrr	�CheckExceptions�szConnectionTests.CheckExceptionscCs�tjd�}|j�}|j|jd�|jd�|j|jd�|jdd�|j|jd�|jddg�|j�}|j|jd�|j�|j|jd�|jddg�|j�}|j|jd�dS)	Nz:memory:Fz?create table transactiontest(id integer primary key, name text)z,insert into transactiontest(name) values (?)r)Tz-select name from transactiontest where name=?)r))rr*r,r�in_transactionr-�fetchoner2)rr+r.�rowrrr	�CheckInTransaction�s

z"ConnectionTests.CheckInTransactionc	Cs"|jt��d|j_WdQRXdS)NT)r9�AttributeErrorr+r>)rrrr	�CheckInTransactionRO�sz$ConnectionTests.CheckInTransactionROc%Cs�tjdkr4|jtj��tjddd�WdQRXdS|jtt�tjt��}|jd�WdQRXtjdtdd��}|jd�WdQRXtjdtd	dd��(}|jtj	��|jd
�WdQRXWdQRXdS)N��z:memory:T)Zurizcreate table test(id integer)zfile:zinsert into test(id) values(0)z?mode=rozinsert into test(id) values(1))rDrErE)
r�sqlite_version_infor9r#r*Z
addCleanuprrr-r)rr+rrr	�CheckOpenUri�s
zConnectionTests.CheckOpenUrirDrz&needs sqlite versions older than 3.3.1cCs<|jtj��}tjddd�WdQRX|jt|j�d�dS)Nz:memory:F)Zcheck_same_threadz shared connections not available)r9rr#r*r�str�	exception)r�cmrrr	� CheckSameThreadErrorOnOldVersion�sz0ConnectionTests.CheckSameThreadErrorOnOldVersionN)rDrDr)r%r&r'r/r1r3r4r6r7r8r;r<r=rArCrG�unittestZskipIfrrFrKrrrr	r(Ys
r(c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4deS)f�CursorTestscCs6tjd�|_|jj�|_|jjd�|jjdd�dS)Nz:memory:z\create table test(id integer primary key, name text, income number, unique_test text unique)z!insert into test(name) values (?)r))r))rr*r+r,r.r-)rrrr	r/�s
zCursorTests.setUpcCs|jj�|jj�dS)N)r.r0r+)rrrr	r1�s
zCursorTests.tearDowncCs|jjd�dS)Nzdelete from test)r.r-)rrrr	�CheckExecuteNoArgs�szCursorTests.CheckExecuteNoArgsc	Cs(|jtj��|jjd�WdQRXdS)Nzselect asdf)r9rrr.r-)rrrr	�CheckExecuteIllegalSql�sz"CursorTests.CheckExecuteIllegalSqlc	Cs(|jtj��|jjd�WdQRXdS)Nzselect 5+4; select 4+5)r9rrr.r-)rrrr	�CheckExecuteTooMuchSql�sz"CursorTests.CheckExecuteTooMuchSqlcCs|jjd�dS)Nzselect 5+4; -- foo bar)r.r-)rrrr	�CheckExecuteTooMuchSql2�sz#CursorTests.CheckExecuteTooMuchSql2cCs|jjd�dS)NzT
            select 5+4;

            /*
            foo
            */
            )r.r-)rrrr	�CheckExecuteTooMuchSql3�sz#CursorTests.CheckExecuteTooMuchSql3c	Cs&|jt��|jjd�WdQRXdS)N�*)r9�
ValueErrorr.r-)rrrr	�CheckExecuteWrongSqlArg�sz#CursorTests.CheckExecuteWrongSqlArgcCs|jjdd�dS)Nzinsert into test(id) values (?)rS)rS)r.r-)rrrr	�CheckExecuteArgInt�szCursorTests.CheckExecuteArgIntcCs|jjdd�dS)Nz#insert into test(income) values (?)�q=
ף��@)rW)r.r-)rrrr	�CheckExecuteArgFloat�sz CursorTests.CheckExecuteArgFloatcCs|jjdd�dS)Nz!insert into test(name) values (?)�Hugo)rY)r.r-)rrrr	�CheckExecuteArgString�sz!CursorTests.CheckExecuteArgStringcCs@|jjdd�|jjd|jjf�|jj�}|j|dd�dS)Nz!insert into test(name) values (?)�Hugoz select name from test where id=?r)r[)r.r-�	lastrowidr?r)rr@rrr	�!CheckExecuteArgStringWithZeroByte�s
z-CursorTests.CheckExecuteArgStringWithZeroBytec
Cs:|jt��}|jjdd�WdQRX|jt|j�d�dS)Nzinsert into test(id) values (?)rSz"parameters are of unsupported type)r9rTr.r-rrHrI)rrJrrr	�CheckExecuteNonIterable�sz#CursorTests.CheckExecuteNonIterablecCs*|jtj��|jjdd�WdQRXdS)Nzinsert into test(id) values (?)��Egon)r_r`)r9rr!r.r-)rrrr	�CheckExecuteWrongNoOfArgs1�sz&CursorTests.CheckExecuteWrongNoOfArgs1c	Cs(|jtj��|jjd�WdQRXdS)Nzinsert into test(id) values (?))r9rr!r.r-)rrrr	�CheckExecuteWrongNoOfArgs2�sz&CursorTests.CheckExecuteWrongNoOfArgs2c	Cs(|jtj��|jjd�WdQRXdS)Nzinsert into test(id) values (?))r9rr!r.r-)rrrr	�CheckExecuteWrongNoOfArgs3sz&CursorTests.CheckExecuteWrongNoOfArgs3cCs:|jjd�|jjddg�|jj�}|j|dd�dS)Nz%insert into test(name) values ('foo')z"select name from test where name=?r)r)r.r-r?r)rr@rrr	�CheckExecuteParamLists
z!CursorTests.CheckExecuteParamListcCsJGdd�dt�}|jjd�|jjd|��|jj�}|j|dd�dS)Nc@seZdZdd�Zdd�ZdS)z0CursorTests.CheckExecuteParamSequence.<locals>.LcSsdS)Nrr)rrrr	�__len__sz8CursorTests.CheckExecuteParamSequence.<locals>.L.__len__cSsdS)Nr)r)r�xrrr	�__getitem__sz<CursorTests.CheckExecuteParamSequence.<locals>.L.__getitem__N)r%r&r'rergrrrr	�Lsrhz%insert into test(name) values ('foo')z"select name from test where name=?rr))�objectr.r-r?r)rrhr@rrr	�CheckExecuteParamSequences

z%CursorTests.CheckExecuteParamSequencecCs<|jjd�|jjdddi�|jj�}|j|dd�dS)Nz%insert into test(name) values ('foo')z&select name from test where name=:name�namer)r)r.r-r?r)rr@rrr	�CheckExecuteDictMappings
z#CursorTests.CheckExecuteDictMappingcCsJGdd�dt�}|jjd�|jjd|��|jj�}|j|dd�dS)Nc@seZdZdd�ZdS)z6CursorTests.CheckExecuteDictMapping_Mapping.<locals>.DcSsdS)Nr)r)r�keyrrr	�__missing__#szBCursorTests.CheckExecuteDictMapping_Mapping.<locals>.D.__missing__N)r%r&r'rnrrrr	�D"sroz%insert into test(name) values ('foo')z&select name from test where name=:namerr))�dictr.r-r?r)rror@rrr	�CheckExecuteDictMapping_Mapping!s

z+CursorTests.CheckExecuteDictMapping_MappingcCs:|jjd�|jtj��|jjdddi�WdQRXdS)Nz%insert into test(name) values ('foo')z1select name from test where name=:name and id=:idrkr))r.r-r9rr!)rrrr	�$CheckExecuteDictMappingTooLittleArgs+sz0CursorTests.CheckExecuteDictMappingTooLittleArgsc	Cs4|jjd�|jtj��|jjd�WdQRXdS)Nz%insert into test(name) values ('foo')z&select name from test where name=:name)r.r-r9rr!)rrrr	�CheckExecuteDictMappingNoArgs0sz)CursorTests.CheckExecuteDictMappingNoArgscCs:|jjd�|jtj��|jjdddi�WdQRXdS)Nz%insert into test(name) values ('foo')z"select name from test where name=?rkr))r.r-r9rr!)rrrr	�CheckExecuteDictMappingUnnamed5sz*CursorTests.CheckExecuteDictMappingUnnamedcCs|jj�dS)N)r.r0)rrrr	r<:szCursorTests.CheckClosecCsD|jjd�|jjd�|jjd�|jjd�|j|jjd�dS)Nzdelete from testz%insert into test(name) values ('foo')zupdate test set name='bar'�)r.r-r�rowcount)rrrr	�CheckRowcountExecute=s
z CursorTests.CheckRowcountExecutecCs |jjd�|j|jjd�dS)Nzselect 5 union select 6r���)r.r-rrv)rrrr	�CheckRowcountSelectDszCursorTests.CheckRowcountSelectcCs4|jjd�|jjddddg�|j|jjd�dS)	Nzdelete from testz!insert into test(name) values (?)rrurD)r)ru)rD)r.r-�executemanyrrv)rrrr	�CheckRowcountExecutemanyMsz$CursorTests.CheckRowcountExecutemanycCs0|jjd�|jjd�|jd|jjdd�dS)Nz%insert into test(name) values ('foo')ruz"total changes reported wrong value)�msg)r.r-Z
assertLessr+Z
total_changes)rrrr	�CheckTotalChangesRszCursorTests.CheckTotalChangescCs"|jjddd�tdd�D��dS)Nz#insert into test(income) values (?)cSsg|]
}|f�qSrr)�.0rfrrr	�
<listcomp>\sz8CursorTests.CheckExecuteManySequence.<locals>.<listcomp>�d�n)r.rz�range)rrrr	�CheckExecuteManySequence[sz$CursorTests.CheckExecuteManySequencecCs"Gdd�d�}|jjd|��dS)Nc@seZdZdd�Zdd�ZdS)z4CursorTests.CheckExecuteManyIterator.<locals>.MyItercSs
d|_dS)N�)�value)rrrr	�__init__`sz=CursorTests.CheckExecuteManyIterator.<locals>.MyIter.__init__cSs*|jdkrt�n|jd7_|jfSdS)N�
r)r��
StopIteration)rrrr	�__next__cs
z=CursorTests.CheckExecuteManyIterator.<locals>.MyIter.__next__N)r%r&r'r�r�rrrr	�MyIter_sr�z#insert into test(income) values (?))r.rz)rr�rrr	�CheckExecuteManyIterator^sz$CursorTests.CheckExecuteManyIteratorcCsdd�}|jjd|��dS)Ncssxtd�D]}|fVq
WdS)Nr�)r�)�irrr	�mygenmsz4CursorTests.CheckExecuteManyGenerator.<locals>.mygenz#insert into test(income) values (?))r.rz)rr�rrr	�CheckExecuteManyGeneratorlsz%CursorTests.CheckExecuteManyGeneratorc
Cs*|jt��|jjddg�WdQRXdS)NrSrD)rD)r9rTr.rz)rrrr	�CheckExecuteManyWrongSqlArgssz'CursorTests.CheckExecuteManyWrongSqlArgc
Cs,|jtj��|jjddg�WdQRXdS)Nzselect ?rD)rD)r9rr!r.rz)rrrr	�CheckExecuteManySelectwsz"CursorTests.CheckExecuteManySelectc
Cs(|jt��|jjdd�WdQRXdS)Nz#insert into test(income) values (?)rS)r9�	TypeErrorr.rz)rrrr	�CheckExecuteManyNotIterable{sz'CursorTests.CheckExecuteManyNotIterablecCsz|jjd�|jjdd�|jjdd	�|jjd�g}x|jD]}|j|d�q@W|j|dd�|j|dd�dS)
Nzdelete from testzinsert into test(id) values (?)r��zselect id from test order by idrr)r�)r�)r.r-�appendr)rZlstr@rrr	�CheckFetchIterszCursorTests.CheckFetchItercCs@|jjd�|jj�}|j|dd�|jj�}|j|d�dS)Nzselect name from testrr))r.r-r?r)rr@rrr	�
CheckFetchone�s


zCursorTests.CheckFetchonecCs"|jj�}|j�}|j|d�dS)N)r+r,r?r)r�curr@rrr	�CheckFetchoneNoStatement�s
z$CursorTests.CheckFetchoneNoStatementcCsr|j|jjd�d|j_|jjd�|jjd�|jjd�|jjd�|jjd�|jj�}|jt|�d�dS)Nrruzdelete from testz#insert into test(name) values ('A')z#insert into test(name) values ('B')z#insert into test(name) values ('C')zselect name from test)rr.Z	arraysizer-�	fetchmany�len)r�resrrr	�CheckArraySize�s
zCursorTests.CheckArraySizecCsD|jjd�|jjd�}|jt|�d�|jjd�}|j|g�dS)Nzselect name from testr�r)r.r-r�rr�)rr�rrr	�CheckFetchmany�s
zCursorTests.CheckFetchmanycCs.|jjd�|jjdd�}|jt|�d�dS)Nzselect name from testr�)�sizer)r.r-r�rr�)rr�rrr	�CheckFetchmanyKwArg�szCursorTests.CheckFetchmanyKwArgcCs@|jjd�|jj�}|jt|�d�|jj�}|j|g�dS)Nzselect name from testr)r.r-�fetchallrr�)rr�rrr	�
CheckFetchall�s


zCursorTests.CheckFetchallcCs|jjdddg�dS)NrD�r�)r.Z
setinputsizes)rrrr	�CheckSetinputsizes�szCursorTests.CheckSetinputsizescCs|jjdd�dS)Nr�r)r.�
setoutputsize)rrrr	�CheckSetoutputsize�szCursorTests.CheckSetoutputsizecCs|jjd�dS)NrS)r.r�)rrrr	�CheckSetoutputsizeNoColumn�sz&CursorTests.CheckSetoutputsizeNoColumncCs|j|jj|j�dS)N)rr.Z
connectionr+)rrrr	�CheckCursorConnection�sz!CursorTests.CheckCursorConnectionc	Cs.|jt��dd�}|jj|�}WdQRXdS)NcSsdS)Nrrrrr	�f�sz/CursorTests.CheckWrongCursorCallable.<locals>.f)r9r�r+r,)rr�r�rrr	�CheckWrongCursorCallable�sz$CursorTests.CheckWrongCursorCallablec	Cs8Gdd�d�}|�}|jt��tj|�}WdQRXdS)Nc@seZdZdS)z.CursorTests.CheckCursorWrongClass.<locals>.FooN)r%r&r'rrrr	�Foo�sr�)r9r�rZCursor)rr�r)r�rrr	�CheckCursorWrongClass�sz!CursorTests.CheckCursorWrongClasscCsRd}xHdD]@}|j|d��*|jj|j|�d�|j|jjd�WdQRXq
WdS)	Nz+{} INTO test(id, unique_test) VALUES (?, ?)�INSERT OR REPLACE�REPLACE)�	statementrr))r�r�)rr))�subTestr.r-�formatrr\)r�sqlr�rrr	�CheckLastRowIDOnReplace�s

z#CursorTests.CheckLastRowIDOnReplacecCs@|jjdd�|j|jjd�|jjdd�|j|jjd�dS)Nz2insert or ignore into test(unique_test) values (?)�testru)r�)r�)r.r-rr\)rrrr	�CheckLastRowIDOnIgnore�sz"CursorTests.CheckLastRowIDOnIgnorecCs�g}x�d
D]�}d}|jdj|�d��n|jj|j|�|f�|j||jjf�|jtj��|jj|j|�|f�WdQRX|j||jjf�WdQRXq
Wddd
dddg}|j	||�dS)N�FAIL�ABORT�ROLLBACKz.INSERT OR {} INTO test(unique_test) VALUES (?)zINSERT OR {})r�rurDr�)r�r�r�)r�ru)r�ru)r�rD)r�rD)r�r�)r�r�)
r�r�r.r-r�r\r9rrr)r�resultsr�r�Zexpectedrrr	�CheckLastRowIDInsertOR�s
  z"CursorTests.CheckLastRowIDInsertORN)5r%r&r'r/r1rNrOrPrQrRrUrVrXrZr]r^rarbrcrdrjrlrqrrrsrtr<rwryr{r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rM�sd		

		

rMzThis test requires threading.c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�ThreadTestscCs(tjd�|_|jj�|_|jjd�dS)Nz:memory:z\create table test(id integer primary key, name text, bin binary, ratio number, ts timestamp))rr*r:r,r�r-)rrrr	r/�szThreadTests.setUpcCs|jj�|jj�dS)N)r�r0r:)rrrr	r1s
zThreadTests.tearDowncCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsFy|j�}|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r,r�rr!)r:�errorsr�rrr	�runs
z'ThreadTests.CheckConCursor.<locals>.run)r:r�)�target�kwargsr�
)�	threading�Threadr:�start�joinr��fail)rr�r��trrr	�CheckConCursors
zThreadTests.CheckConCursorcCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsFy|j�|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r2r�rr!)r:r�rrr	r�s
z'ThreadTests.CheckConCommit.<locals>.run)r:r�)r�r�rr�)r�r�r:r�r�r�r�)rr�r�r�rrr	�CheckConCommits
zThreadTests.CheckConCommitcCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsFy|j�|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r5r�rr!)r:r�rrr	r�*s
z)ThreadTests.CheckConRollback.<locals>.run)r:r�)r�r�rr�)r�r�r:r�r�r�r�)rr�r�r�rrr	�CheckConRollback)s
zThreadTests.CheckConRollbackcCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsFy|j�|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r0r�rr!)r:r�rrr	r�<s
z&ThreadTests.CheckConClose.<locals>.run)r:r�)r�r�rr�)r�r�r:r�r�r�r�)rr�r�r�rrr	�
CheckConClose;s
zThreadTests.CheckConClosecCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsHy|jd�|jd�dStjk
r.dS|jd�YnXdS)Nz#insert into test(name) values ('a')zdid not raise ProgrammingErrorzraised wrong exception)r-r�rr!)r�r�rrr	r�Ns

z.ThreadTests.CheckCurImplicitBegin.<locals>.run)r�r�)r�r�rr�)r�r�r�r�r�r�r�)rr�r�r�rrr	�CheckCurImplicitBeginMs
z!ThreadTests.CheckCurImplicitBegincCsRdd�}g}tj||j|d�d�}|j�|j�t|�dkrN|jdj|��dS)NcSsFy|j�|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r0r�rr!)r�r�rrr	r�`s
z&ThreadTests.CheckCurClose.<locals>.run)r�r�)r�r�rr�)r�r�r�r�r�r�r�)rr�r�r�rrr	�
CheckCurClose_s
zThreadTests.CheckCurClosecCs^dd�}g}|jjd�tj||j|d�d�}|j�|j�t|�dkrZ|jdj|��dS)NcSsHy|jd�|jd�dStjk
r.dS|jd�YnXdS)Nzselect name from testzdid not raise ProgrammingErrorzraised wrong exception)r-r�rr!)r�r�rrr	r�rs

z(ThreadTests.CheckCurExecute.<locals>.runz#insert into test(name) values ('a'))r�r�)r�r�rr�)r�r-r�r�r�r�r�r�)rr�r�r�rrr	�CheckCurExecuteqs
zThreadTests.CheckCurExecutecCsjdd�}g}|jjd�|jjd�tj||j|d�d�}|j�|j�t|�dkrf|jdj|��dS)	NcSsFy|j�}|jd�dStjk
r,dS|jd�YnXdS)Nzdid not raise ProgrammingErrorzraised wrong exception)r?r�rr!)r�r�r@rrr	r��s
z)ThreadTests.CheckCurIterNext.<locals>.runz#insert into test(name) values ('a')zselect name from test)r�r�)r�r�rr�)r�r-r�r�r�r�r�r�)rr�r�r�rrr	�CheckCurIterNext�s
zThreadTests.CheckCurIterNextN)
r%r&r'r/r1r�r�r�r�r�r�r�r�rrrr	r��sr�c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ConstructorTestscCstjddd�}dS)Ni�r��)rZDate)r�drrr	�	CheckDate�szConstructorTests.CheckDatecCstjddd�}dS)N��'�#)rZTime)rr�rrr	�	CheckTime�szConstructorTests.CheckTimecCstjdddddd�}dS)Ni�r�r�r�r�r�)rZ	Timestamp)r�tsrrr	�CheckTimestamp�szConstructorTests.CheckTimestampcCstjd�}dS)NrS)rZ
DateFromTicks)rr�rrr	�CheckDateFromTicks�sz#ConstructorTests.CheckDateFromTickscCstjd�}dS)NrS)rZ
TimeFromTicks)rr�rrr	�CheckTimeFromTicks�sz#ConstructorTests.CheckTimeFromTickscCstjd�}dS)NrS)rZTimestampFromTicks)rr�rrr	�CheckTimestampFromTicks�sz(ConstructorTests.CheckTimestampFromTickscCstjd�}dS)Ns')rZBinary)r�brrr	�CheckBinary�szConstructorTests.CheckBinaryN)
r%r&r'r�r�r�r�r�r�r�rrrr	r��sr�c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ExtensionTestscCsBtjd�}|j�}|jd�|jd�|j�d}|j|d�dS)Nz:memory:z�
            -- bla bla
            /* a stupid comment */
            create table a(i);
            insert into a(i) values (5);
            zselect i from arr�)rr*r,�
executescriptr-r?r)rr:r�r�rrr	�CheckScriptStringSql�s

z#ExtensionTests.CheckScriptStringSqlc	Cs8tjd�}|j�}|jtj��|jd�WdQRXdS)Nz:memory:z1create table test(x); asdf; create table test2(x))rr*r,r9rr�)rr:r�rrr	�CheckScriptSyntaxError�s
z%ExtensionTests.CheckScriptSyntaxErrorc	Cs8tjd�}|j�}|jtj��|jd�WdQRXdS)Nz:memory:z5create table test(sadfsadfdsa); select foo from hurz;)rr*r,r9rr�)rr:r�rrr	�CheckScriptErrorNormal�s
z%ExtensionTests.CheckScriptErrorNormalc
CsHtjd�}|j�}|jt��}|jd�WdQRX|jt|j�d�dS)Nz:memory:s9create table test(foo); insert into test(foo) values (5);z script argument must be unicode.)	rr*r,r9rTr�rrHrI)rr:r�rJrrr	�CheckCursorExecutescriptAsBytes�s

z.ExtensionTests.CheckCursorExecutescriptAsBytescCs.tjd�}|jd�j�d}|j|dd�dS)Nz:memory:zselect 5rr�z Basic test of Connection.execute)rr*r-r?r)rr:�resultrrr	�CheckConnectionExecute�s
z%ExtensionTests.CheckConnectionExecutecCsbtjd�}|jd�|jdd
dg�|jd�j�}|j|dddd�|j|d	ddd�dS)Nz:memory:zcreate table test(foo)z insert into test(foo) values (?)rDr�z!select foo from test order by foorz$Basic test of Connection.executemanyr)rD)r�)rr*r-rzr�r)rr:r�rrr	�CheckConnectionExecutemany�s

z)ExtensionTests.CheckConnectionExecutemanycCs8tjd�}|jd�|jd�j�d}|j|dd�dS)Nz:memory:z9create table test(foo); insert into test(foo) values (5);zselect foo from testrr�z&Basic test of Connection.executescript)rr*r�r-r?r)rr:r�rrr	�CheckConnectionExecutescript�s

z+ExtensionTests.CheckConnectionExecutescriptN)
r%r&r'r�r�r�r�r�r�r�rrrr	r��s
r�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�ClosedConTestsc	Cs6tjd�}|j�|jtj��|j�}WdQRXdS)Nz:memory:)rr*r0r9r!r,)rr:r�rrr	�CheckClosedConCursor�s
z#ClosedConTests.CheckClosedConCursorc	Cs6tjd�}|j�|jtj��|j�WdQRXdS)Nz:memory:)rr*r0r9r!r2)rr:rrr	�CheckClosedConCommit�s
z#ClosedConTests.CheckClosedConCommitc	Cs6tjd�}|j�|jtj��|j�WdQRXdS)Nz:memory:)rr*r0r9r!r5)rr:rrr	�CheckClosedConRollback�s
z%ClosedConTests.CheckClosedConRollbackc	Cs@tjd�}|j�}|j�|jtj��|jd�WdQRXdS)Nz:memory:zselect 4)rr*r,r0r9r!r-)rr:r�rrr	�CheckClosedCurExecute�s

z$ClosedConTests.CheckClosedCurExecutecCsDtjd�}|j�dd�}|jtj��|jdd|�WdQRXdS)Nz:memory:cSsdS)Nr_r)rfrrr	r��sz3ClosedConTests.CheckClosedCreateFunction.<locals>.fr)r)rr*r0r9r!Zcreate_function)rr:r�rrr	�CheckClosedCreateFunction�s

z(ClosedConTests.CheckClosedCreateFunctioncCsJtjd�}|j�Gdd�d�}|jtj��|jdd|�WdQRXdS)Nz:memory:c@s$eZdZdd�Zdd�Zdd�ZdS)z6ClosedConTests.CheckClosedCreateAggregate.<locals>.AggcSsdS)Nr)rrrr	r�sz?ClosedConTests.CheckClosedCreateAggregate.<locals>.Agg.__init__cSsdS)Nr)rrfrrr	�step	sz;ClosedConTests.CheckClosedCreateAggregate.<locals>.Agg.stepcSsdS)Nr_r)rrrr	�finalizesz?ClosedConTests.CheckClosedCreateAggregate.<locals>.Agg.finalizeN)r%r&r'r�r�r�rrrr	�Aggsr�r)r)rr*r0r9r!Zcreate_aggregate)rr:r�rrr	�CheckClosedCreateAggregates

z)ClosedConTests.CheckClosedCreateAggregatec	Cs@tjd�}|j�dd�}|jtj��|j|�WdQRXdS)Nz:memory:cWstjS)N)rZDENY)�argsrrr	�
authorizersz;ClosedConTests.CheckClosedSetAuthorizer.<locals>.authorizer)rr*r0r9r!Zset_authorizer)rr:r�rrr	�CheckClosedSetAuthorizers

z'ClosedConTests.CheckClosedSetAuthorizerc
CsBtjd�}|j�dd�}|jtj��|j|d�WdQRXdS)Nz:memory:cSsdS)Nrrrrr	�progresssz?ClosedConTests.CheckClosedSetProgressCallback.<locals>.progressr�)rr*r0r9r!Zset_progress_handler)rr:r�rrr	�CheckClosedSetProgressCallbacks

z-ClosedConTests.CheckClosedSetProgressCallbackc	Cs4tjd�}|j�|jtj��|�WdQRXdS)Nz:memory:)rr*r0r9r!)rr:rrr	�CheckClosedCalls
zClosedConTests.CheckClosedCallN)r%r&r'r�r�r�r�r�r�r�r�r�rrrr	r��s
r�c@seZdZdd�ZdS)�ClosedCurTestscCs~tjd�}|j�}|j�x^dD]V}|d
kr2d}n|dkrHd	ddgf}ng}|jtj��t||�}||�WdQRXq WdS)Nz:memory:r-rzr�r�r�r?�select 4 union select 5zinsert into foo(bar) values (?)rDr�)r-rzr�r�r�r?)r-r�)r�)rD)r�)rr*r,r0r9r!�getattr)rr:r�Zmethod_name�params�methodrrr	�CheckClosed&s


zClosedCurTests.CheckClosedN)r%r&r'r�rrrr	r�%sr�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�SqliteOnConflictTestscCs(tjd�|_|jj�|_|jjd�dS)Nz:memory:zz
          CREATE TABLE test(
            id INTEGER PRIMARY KEY, name TEXT, unique_name TEXT UNIQUE
          );
        )rr*r+r,r.r-)rrrr	r/?szSqliteOnConflictTests.setUpcCs|jj�|jj�dS)N)r.r0r+)rrrr	r1Hs
zSqliteOnConflictTests.tearDownc
Cs�d|j_|jj�|_|jjd�|jjd�|jjd�|jtj��|jjd�WdQRX|jj�|jjd�|j	|jj
�g�dS)N�BEGINz,INSERT INTO test(name) VALUES ('abort_test')z8INSERT OR ROLLBACK INTO test(unique_name) VALUES ('foo')z"SELECT name, unique_name from test)r+�isolation_levelr,r.r-r9rrr2rr�)rrrr	�.CheckOnConflictRollbackWithExplicitTransactionLs
zDSqliteOnConflictTests.CheckOnConflictRollbackWithExplicitTransactioncCs�d|j_|jj�|_|jjd�|jjd�|jjd�|jtj��|jjd�WdQRX|jj�|jjd�|j	|jj
�ddg�dS)	Nr�z,INSERT INTO test(name) VALUES ('abort_test')z5INSERT OR ABORT INTO test(unique_name) VALUES ('foo')z"SELECT name, unique_name FROM test�
abort_testr))rN)Nr))r+r�r,r.r-r9rrr2rr�)rrrr	�2CheckOnConflictAbortRaisesWithExplicitTransactions[s
zHSqliteOnConflictTests.CheckOnConflictAbortRaisesWithExplicitTransactionsc
Cs^|jjd�|jjd�|jtj��|jjd�WdQRX|jjd�|j|jj�g�dS)Nz,INSERT INTO test(name) VALUES ('abort_test')z8INSERT OR ROLLBACK INTO test(unique_name) VALUES ('foo')z"SELECT name, unique_name FROM test)r.r-r9rrrr�)rrrr	�)CheckOnConflictRollbackWithoutTransactionksz?SqliteOnConflictTests.CheckOnConflictRollbackWithoutTransactioncCsb|jjd�|jjd�|jtj��|jjd�WdQRX|jjd�|j|jj�ddg�dS)Nz,INSERT INTO test(name) VALUES ('abort_test')z5INSERT OR ABORT INTO test(unique_name) VALUES ('foo')z"SELECT name, unique_name FROM testrr))rN)Nr))r.r-r9rrrr�)rrrr	�-CheckOnConflictAbortRaisesWithoutTransactionsuszCSqliteOnConflictTests.CheckOnConflictAbortRaisesWithoutTransactionsc
CsF|jjd�|jtj��|jjd�WdQRX|j|jj�g�dS)Nz4INSERT OR FAIL INTO test(unique_name) VALUES ('foo'))r.r-r9rrrr�)rrrr	�CheckOnConflictFail�sz)SqliteOnConflictTests.CheckOnConflictFailcCs<|jjd�|jjd�|jjd�|j|jj�dg�dS)Nz6INSERT OR IGNORE INTO test(unique_name) VALUES ('foo')zSELECT unique_name FROM testr))r))r.r-rr�)rrrr	�CheckOnConflictIgnore�sz+SqliteOnConflictTests.CheckOnConflictIgnorecCs<|jjd�|jjd�|jjd�|j|jj�dg�dS)NzFINSERT OR REPLACE INTO test(name, unique_name) VALUES ('Data!', 'foo')zUINSERT OR REPLACE INTO test(name, unique_name) VALUES ('Very different data!', 'foo')z"SELECT name, unique_name FROM test�Very different data!r))rr))r.r-rr�)rrrr	�CheckOnConflictReplace�sz,SqliteOnConflictTests.CheckOnConflictReplaceN)r%r&r'r/r1rrrrrrrrrrr	r�8s	
r�c	
Cs�tjtd�}tjtd�}tjtd�}tjtd�}tjtd�}tjtd�}tjtd�}tjt	d�}tjt
d�}tj|||||||||f	�S)NZCheck)rLZ	makeSuiterr(rMr�r�r�r�r�r�Z	TestSuite)	Zmodule_suiteZconnection_suiteZcursor_suiteZthread_suiteZconstructor_suiteZ	ext_suiteZclosed_con_suiteZclosed_cur_suiteZon_conflict_suiterrr	�suite�sr	cCstj�}|jt��dS)N)rLZTextTestRunnerr�r	)Zrunnerrrr	r��sr��__main__)rLZsqlite3rr��ImportErrorZtest.supportrrZTestCaserr(rMZ
skipUnlessr�r�r�r�r�r�r	r�r%rrrr	�<module>s.
7bA
4C]


Youez - 2016 - github.com/yon3zu
LinuXploit