Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/sqlite3/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/sqlite3/test/__pycache__/userfunctions.cpython-39.opt-2.pyc

a

��g*J�@shddlZddlZddlZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZGdd�d�Z
Gdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGd d!�d!�ZGd"d#�d#�ZGd$d%�d%�ZGd&d'�d'ej�ZGd(d)�d)ej�ZGd*d+�d+ej�ZGd,d-�d-e�ZGd.d/�d/e�ZGd0d1�d1e�Zd2d3�Zd4d5�Zed6k�rde�dS)7�NcCsdS)N�foo�rrr�6/usr/local/lib/python3.9/sqlite3/test/userfunctions.py�func_returntextsrcCsdS)N�12rrrrr�func_returntextwithnullsrcCsdS)N�barrrrrr�func_returnunicode sr	cCsdS�N�*rrrrr�func_returnint"srcCsdS)N���Q�	@rrrrr�func_returnfloat$srcCsdS�Nrrrrr�func_returnnull&srcCsdS)N�blobrrrrr�func_returnblob(srcCsdS)N�rrrrr�func_returnlonglong*srcCsdddS�N�rrrrrr�func_raiseexception,src@seZdZdd�Zdd�ZdS)�
AggrNoStepcCsdSrr��selfrrr�__init__0szAggrNoStep.__init__cCsdS�N�rrrrr�finalize3szAggrNoStep.finalizeN)�__name__�
__module__�__qualname__rrrrrrr/src@seZdZdd�Zdd�ZdS)�AggrNoFinalizecCsdSrrrrrrr7szAggrNoFinalize.__init__cCsdSrr�r�xrrr�step:szAggrNoFinalize.stepN)rr r!rr%rrrrr"6sr"c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInInitcCsdddSrrrrrrr>szAggrExceptionInInit.__init__cCsdSrrr#rrrr%AszAggrExceptionInInit.stepcCsdSrrrrrrrDszAggrExceptionInInit.finalizeN�rr r!rr%rrrrrr&=sr&c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInStepcCsdSrrrrrrrHszAggrExceptionInStep.__init__cCsdddSrrr#rrrr%KszAggrExceptionInStep.stepcCsdSr
rrrrrrNszAggrExceptionInStep.finalizeNr'rrrrr(Gsr(c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInFinalizecCsdSrrrrrrrRsz AggrExceptionInFinalize.__init__cCsdSrrr#rrrr%UszAggrExceptionInFinalize.stepcCsdddSrrrrrrrXsz AggrExceptionInFinalize.finalizeNr'rrrrr)Qsr)c@s$eZdZdd�Zdd�Zdd�ZdS)�
AggrCheckTypecCs
d|_dSr��valrrrrr\szAggrCheckType.__init__cCs.ttttd�td�}t||t|�u�|_dS�N)�str�int�float�NoneZblob�r.r/r0�type�bytesr,)r�	whichTyper,�theTyperrrr%_s�zAggrCheckType.stepcCs|jSrr+rrrrrdszAggrCheckType.finalizeNr'rrrrr*[sr*c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrCheckTypescCs
d|_dS)Nrr+rrrrrhszAggrCheckTypes.__init__cGs@ttttd�td�}|D]"}|jt||t|�u�7_qdSr-r2)rr5Zvalsr6r,rrrr%ks
�zAggrCheckTypes.stepcCs|jSrr+rrrrrqszAggrCheckTypes.finalizeNr'rrrrr7gsr7c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrSumcCs
d|_dS)N�r+rrrrruszAggrSum.__init__cCs|j|7_dSrr+)rr,rrrr%xszAggrSum.stepcCs|jSrr+rrrrr{szAggrSum.finalizeNr'rrrrr8tsr8c@s$eZdZdd�Zdd�Zdd�ZdS)�AggrTextcCs
d|_dS)N���txtrrrrrszAggrText.__init__cCs|j||_dSrr<)rr=rrrr%�sz
AggrText.stepcCs|jSrr<rrrrr�szAggrText.finalizeNr'rrrrr:~sr:c@seZdZdd�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,�Ze�ejd-kd.�d/d0��Ze�ejd-kd.�d1d2��Ze�ejd-kd3�d4d5��Zd6d7�Z d8S)9�
FunctionTestscCst�d�|_|j�ddt�|j�ddt�|j�ddt�|j�ddt�|j�ddt�|j�ddt	�|j�d	dt
�|j�d
dt�|j�dddd
��|j�dddd
��|j�ddt�|j�dddd
��|j�dddd
��|j�dddd
��|j�
d�dS)N�:memory:Z
returntextrZreturntextwithnullZ
returnunicodeZ	returnintZreturnfloatZ
returnnullZ
returnblobZreturnlonglongZ	returnnancSstd�S)N�nan)r0rrrr�<lambda>��z%FunctionTests.setUp.<locals>.<lambda>ZreturntoolargeintcSsdS)N� rrrrrrA�rBZraiseexceptionZisblobrcSs
t|t�Sr)�
isinstancer4�r$rrrrA�rBZisnonecSs|duSrrrErrrrA�rBZspam���cWst|�Sr)�lenrErrrrA�rBzcreate table test(t text))�sqlite�connect�con�create_functionrrr	rrrrrr�executerrrr�setUp�s zFunctionTests.setUpcCs|j��dSr)rJ�closerrrr�tearDown�szFunctionTests.tearDowncCsD|�tj��$|j�dddd��Wd�n1s60YdS)N�bla���cSsd|S)N�rrErrrrA�rBz6FunctionTests.CheckFuncErrorOnCreate.<locals>.<lambda>)�assertRaisesrH�OperationalErrorrJrKrrrr�CheckFuncErrorOnCreate�sz$FunctionTests.CheckFuncErrorOnCreatecCs@dd�}|�}|t�d<|j�dd|�|j��}|�d�dS)NcSsdd�}|S)NcSsdSrrrrrr�f�sz;FunctionTests.CheckFuncRefCount.<locals>.getfunc.<locals>.fr)rVrrr�getfunc�sz0FunctionTests.CheckFuncRefCount.<locals>.getfuncrZreftestrzselect reftest())�globalsrJrK�cursorrL)rrWrV�currrr�CheckFuncRefCount�s

zFunctionTests.CheckFuncRefCountcCs@|j��}|�d�|��d}|�t|�t�|�|d�dS)Nzselect returntext()rr�rJrYrL�fetchone�assertEqualr3r.�rrZr,rrr�CheckFuncReturnText�s


z!FunctionTests.CheckFuncReturnTextcCs<|j��}|�d���d}|�t|�t�|�|d�dS)Nzselect returntextwithnull()rrr\)rrZ�resrrr�CheckFuncReturnTextWithNullChar�s
z-FunctionTests.CheckFuncReturnTextWithNullCharcCs@|j��}|�d�|��d}|�t|�t�|�|d�dS)Nzselect returnunicode()rrr\r_rrr�CheckFuncReturnUnicode�s


z$FunctionTests.CheckFuncReturnUnicodecCs@|j��}|�d�|��d}|�t|�t�|�|d�dS)Nzselect returnint()rr)rJrYrLr]r^r3r/r_rrr�CheckFuncReturnInt�s


z FunctionTests.CheckFuncReturnIntcCsN|j��}|�d�|��d}|�t|�t�|dks@|dkrJ|�d�dS)Nzselect returnfloat()rg�&1�	@gT㥛� 	@zwrong value)rJrYrLr]r^r3r0�failr_rrr�CheckFuncReturnFloat�s

z"FunctionTests.CheckFuncReturnFloatcCsD|j��}|�d�|��d}|�t|�td��|�|d�dS)Nzselect returnnull()r)rJrYrLr]r^r3r_rrr�CheckFuncReturnNull�s


z!FunctionTests.CheckFuncReturnNullcCs@|j��}|�d�|��d}|�t|�t�|�|d�dS)Nzselect returnblob()rr)rJrYrLr]r^r3r4r_rrr�CheckFuncReturnBlob�s


z!FunctionTests.CheckFuncReturnBlobcCs0|j��}|�d�|��d}|�|d�dS)Nzselect returnlonglong()rr�rJrYrLr]r^r_rrr�CheckFuncReturnLongLong�s

z%FunctionTests.CheckFuncReturnLongLongcCs*|j��}|�d�|�|��d�dS)Nzselect returnnan()r)rJrYrLZassertIsNoner]�rrZrrr�CheckFuncReturnNaN�s

z FunctionTests.CheckFuncReturnNaNcCsF|j��}|�tj��|j�d�Wd�n1s80YdS)Nzselect returntoolargeint())rJrYrSrHrTrLrkrrr�CheckFuncReturnTooLargeInt�s
z(FunctionTests.CheckFuncReturnTooLargeIntcCs^|j��}|�tj��"}|�d�|��Wd�n1s>0Y|�t|j	�d�dS)Nzselect raiseexception()z&user-defined function raised exception�
rJrYrSrHrTrLr]r^r.�	exception�rrZ�cmrrr�CheckFuncException�s


&z FunctionTests.CheckFuncExceptioncCs2|j��}|�dd�|��d}|�|d�dS)Nzselect spam(?, ?))rrRrrRrir_rrr�CheckAnyArguments�s
zFunctionTests.CheckAnyArgumentscCs"|j�d�}|�|��d�dS)Nzselect isblob(x'')r)rJrL�
assertTruer]rkrrr�CheckEmptyBlob�szFunctionTests.CheckEmptyBlobcCs*|j�dtd�f�}|�|��d�dS)Nzselect isnone(?)r@r)rJrLr0rtr]rkrrr�
CheckNaNFloatszFunctionTests.CheckNaNFloatcCsd}|�t||jjdd�dS)Nz1Python int too large to convert to SQLite INTEGER�select spam(?))rC)�assertRaisesRegex�
OverflowErrorrJrL)r�errrrr�CheckTooLargeInts�zFunctionTests.CheckTooLargeIntc
Cs*|�td|jjdtd�ddd�f�dS)Nz could not convert BLOB to bufferrwrrR)rx�
ValueErrorrJrL�
memoryviewrrrr�CheckNonContiguousBlobs�z$FunctionTests.CheckNonContiguousBlobcCs|�td|jjdd�dS)Nzsurrogates not allowedrw)u��)rx�UnicodeEncodeErrorrJrLrrrr�CheckParamSurrogatess�z"FunctionTests.CheckParamSurrogatescs�g��fdd�}|j�dd|�dtfdtfdtfdtfd	tftd
�tfdtfdtfd
tfdtfttd��tftd�tfdt	d�fg
}|D] \}}|j�
d|f�}|��q�|�|��dS)Ncs��|t|�f�dSr)�appendr3)�arg��resultsrr�
append_resultsz4FunctionTests.CheckFuncParams.<locals>.append_resultZtest_paramsrrrFl�{�C	lr
�inf�textruˢqˡⁱᵗᵉrrRzselect test_params(?))
rJrKr/r0r.r4�	bytearray�ranger}r3rLr]r^)rr�Zdatasetr,�_rZrr�r�CheckFuncParamss*


�
zFunctionTests.CheckFuncParams)��r�zRequires SQLite 3.8.3 or highercCs�tjjdd�}|jjdd|dd�tjdkrH|j�d�|�|j	d�n8|�
tj��|j�d	�Wd�n1sv0YdS)
N�Zreturn_valueZnondeterministicrF��
deterministic�r��rz.select nondeterministic() = nondeterministic()rRz>create index t on test(t) where nondeterministic() is not null)�unittest�mock�MockrJrKrH�sqlite_version_inforLr^�
call_countrSrT�rr�rrr�CheckFuncNonDeterministic6s
z'FunctionTests.CheckFuncNonDeterministiccCs|tjjdd�}|jjdd|dd�tjdkrH|j�d�|�|j	d�n0z|j�d	�Wntj
yv|�d
�Yn0dS)Nr�r�rTr�r�z(select deterministic() = deterministic()rz;create index t on test(t) where deterministic() is not nullz/Unexpected failure while creating partial index)r�r�r�rJrKrHr�rLr^r�rTrer�rrr�CheckFuncDeterministicAs
z$FunctionTests.CheckFuncDeterministiczSQLite < 3.8.3 neededcCsD|�tj��$|jjddtdd�Wd�n1s60YdS)Nr�rTr�)rSrHZNotSupportedErrorrJrKr/rrrr�"CheckFuncDeterministicNotSupportedNsz0FunctionTests.CheckFuncDeterministicNotSupportedcCs@|�t��"|j�ddtd�Wd�n1s20YdS)Nr�rT)rS�	TypeErrorrJrKr/rrrr�!CheckFuncDeterministicKeywordOnlySsz/FunctionTests.CheckFuncDeterministicKeywordOnlyN)!rr r!rMrOrUr[r`rbrcrdrfrgrhrjrlrmrrrsrurvr{r~r�r�r�ZskipIfrHr�r�r�r�r�rrrrr>�s:!



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!S)"�AggregateTestsc	Cs�t�d�|_|j��}|�d�|�dddddtd�f�|j�dd	t�|j�d
d	t�|j�dd	t	�|j�dd	t
�|j�d
d	t�|j�ddt�|j�ddt
�|j�dd	t�|j�dd	t�dS)Nr?z�
            create table test(
                t text,
                i integer,
                f float,
                n,
                b blob
                )
            z6insert into test(t, i, f, n, b) values (?, ?, ?, ?, ?)rrr
rZnosteprZ
nofinalizeZexcInitZexcStepZexcFinalizeZ	checkTyperRZ
checkTypesrFZmysumZaggtxt)rHrIrJrYrLr}Zcreate_aggregaterr"r&r(r)r*r7r8r:rkrrrrMYs

	�zAggregateTests.setUpcCsdSrrrrrrrOrszAggregateTests.tearDowncCs@|�tj�� |j�ddt�Wd�n1s20YdS)NrPrQ)rSrHrTrJrKr8rrrr�CheckAggrErrorOnCreatewsz%AggregateTests.CheckAggrErrorOnCreatecCsT|j��}|�t��}|�d�Wd�n1s40Y|�t|j�d�dS)Nzselect nostep(t) from testz+'AggrNoStep' object has no attribute 'step')rJrYrS�AttributeErrorrLr^r.rorprrr�CheckAggrNoStep{s
(zAggregateTests.CheckAggrNoStepcCsb|j��}|�tj��&}|�d�|��d}Wd�n1sB0Y|�t|j	�d�dS)Nzselect nofinalize(t) from testr�7user-defined aggregate's 'finalize' method raised errorrn�rrZrqr,rrr�CheckAggrNoFinalize�s


*z"AggregateTests.CheckAggrNoFinalizecCsb|j��}|�tj��&}|�d�|��d}Wd�n1sB0Y|�t|j	�d�dS)Nzselect excInit(t) from testrz7user-defined aggregate's '__init__' method raised errorrnr�rrr�CheckAggrExceptionInInit�s


*z'AggregateTests.CheckAggrExceptionInInitcCsb|j��}|�tj��&}|�d�|��d}Wd�n1sB0Y|�t|j	�d�dS)Nzselect excStep(t) from testrz3user-defined aggregate's 'step' method raised errorrnr�rrr�CheckAggrExceptionInStep�s


*z'AggregateTests.CheckAggrExceptionInStepcCsb|j��}|�tj��&}|�d�|��d}Wd�n1sB0Y|�t|j	�d�dS)Nzselect excFinalize(t) from testrr�rnr�rrr�CheckAggrExceptionInFinalize�s


*z+AggregateTests.CheckAggrExceptionInFinalizecCs8|j��}|�ddt�f�|��d}|�|d�dS)Nzselect checkTypes('str', ?, ?)rrrR)rJrYrLr.r]r^r_rrr�CheckAggrCheckParamStr�s
z%AggregateTests.CheckAggrCheckParamStrcCs2|j��}|�dd�|��d}|�|d�dS)Nzselect checkType('int', ?))rrrrir_rrr�CheckAggrCheckParamInt�s
z%AggregateTests.CheckAggrCheckParamIntcCs2|j��}|�dd�|��d}|�|d�dS)Nzselect checkTypes('int', ?, ?))r�rrRrir_rrr�CheckAggrCheckParamsInt�s
z&AggregateTests.CheckAggrCheckParamsIntcCs2|j��}|�dd�|��d}|�|d�dS)Nzselect checkType('float', ?))r
rrrir_rrr�CheckAggrCheckParamFloat�s
z'AggregateTests.CheckAggrCheckParamFloatcCs2|j��}|�dd�|��d}|�|d�dS)Nzselect checkType('None', ?)rrrrir_rrr�CheckAggrCheckParamNone�s
z&AggregateTests.CheckAggrCheckParamNonecCs8|j��}|�dtd�f�|��d}|�|d�dS)Nzselect checkType('blob', ?)rrr)rJrYrLr}r]r^r_rrr�CheckAggrCheckParamBlob�s
z&AggregateTests.CheckAggrCheckParamBlobcCsJ|j��}|�d�|�dgd��|�d�|��d}|�|d�dS)Nzdelete from testzinsert into test(i) values (?)))�
)�)�zselect mysum(i) from testr�<)rJrYrLZexecutemanyr]r^r_rrr�CheckAggrCheckAggrSum�s


z$AggregateTests.CheckAggrCheckAggrSumc	Csj|j��}dD]V}|j|d��6|�d|f�|��d}|�||�Wd�q1sZ0YqdS)N)rrr<zselect aggtxt(?) from testr)rJrYZsubTestrLr]r^)rrZr=r,rrr�
CheckAggrText�s
zAggregateTests.CheckAggrTextN)rr r!rMrOr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�Xs r�c@s8eZdZedd��Zdd�Zdd�Zdd�Zd	d
�ZdS)�AuthorizerTestscCs,|tjkrtjS|dks |dkr&tjStjS�N�c2�t2)rH�
SQLITE_SELECTZSQLITE_DENY�	SQLITE_OK��actionZarg1Zarg2Zdbname�sourcerrr�
authorizer_cb�s

zAuthorizerTests.authorizer_cbcCs6t�d�|_|j�d�|j�d�|j�|j�dS)Nr?z�
            create table t1 (c1, c2);
            create table t2 (c1, c2);
            insert into t1 (c1, c2) values (1, 2);
            insert into t2 (c1, c2) values (4, 5);
            zselect c2 from t2)rHrIrJZ
executescriptrLZset_authorizerr�rrrrrM�szAuthorizerTests.setUpcCsdSrrrrrrrO�szAuthorizerTests.tearDowncCsN|�tj��}|j�d�Wd�n1s.0Y|�dt|j��dS)Nzselect * from t2�
prohibited�rSrHZ
DatabaseErrorrJrLZassertInr.ro�rrqrrr�test_table_access�s*z!AuthorizerTests.test_table_accesscCsN|�tj��}|j�d�Wd�n1s.0Y|�dt|j��dS)Nzselect c2 from t1r�r�r�rrr�test_column_access�s*z"AuthorizerTests.test_column_accessN)	rr r!�staticmethodr�rMrOr�r�rrrrr��s
r�c@seZdZedd��ZdS)�AuthorizerRaiseExceptionTestscCs(|tjkrt�|dks|dkr"t�tjSr�)rHr�r|r�r�rrrr��s

z+AuthorizerRaiseExceptionTests.authorizer_cbN�rr r!r�r�rrrrr��sr�c@seZdZedd��ZdS)�AuthorizerIllegalTypeTestscCs(|tjkrdS|dks|dkr"dStjS)Nr9r�r��rHr�r�r�rrrr�s

z(AuthorizerIllegalTypeTests.authorizer_cbNr�rrrrr��sr�c@seZdZedd��ZdS)�AuthorizerLargeIntegerTestscCs(|tjkrdS|dks|dkr"dStjS)Nlr�r�r�r�rrrr�	s

z)AuthorizerLargeIntegerTests.authorizer_cbNr�rrrrr�sr�c
CsJt�td�}t�td�}t�t�}t�|||t�t�t�t�t�t�f�S)NZCheck)	r�Z	makeSuiter>r�r�Z	TestSuiter�r�r�)Zfunction_suiteZaggregate_suiteZauthorizer_suiterrr�suites
�r�cCst��}|�t��dSr)r�ZTextTestRunner�runr�)Zrunnerrrr�testsr��__main__) r�Z
unittest.mockZsqlite3rHrrr	rrrrrrrr"r&r(r)r*r7r8r:ZTestCaser>r�r�r�r�r�r�r�rrrrr�<module>s>




	Rz$		




Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists