Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/sqlite3/test/__pycache__/userfunctions.cpython-34.pyo

�
e f�:�@sddlZddlZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZGdd�d�ZGd d!�d!�ZGd"d#�d#�ZGd$d%�d%�ZGd&d'�d'�ZGd(d)�d)�ZGd*d+�d+�ZGd,d-�d-ej�ZGd.d/�d/ej�ZGd0d1�d1ej�ZGd2d3�d3e�ZGd4d5�d5e�ZGd6d7�d7e�Zd8d9�Zd:d;�Z e!d<kre �ndS)=�NcCsdS)N�foo�rrr�?/opt/alt/python34/lib64/python3.4/sqlite3/test/userfunctions.py�func_returntextsrcCsdS)N�barrrrrr�func_returnunicodesrcCsdS)N�*rrrrr�func_returnint sr	cCsdS)Ng��Q�	@rrrrr�func_returnfloat"sr
cCsdS)Nrrrrr�func_returnnull$srcCsdS)Nsblobrrrrr�func_returnblob&srcCsdS)N��lrrrrr�func_returnlonglong(srcCsdddS)N�rrrrrr�func_raiseexception*srcCst|�tkS)N)�type�str)�vrrr�
func_isstring-srcCst|�tkS)N)r�int)rrrr�
func_isint/srcCst|�tkS)N)r�float)rrrr�func_isfloat1srcCst|�td�kS)N)r)rrrr�func_isnone3srcCst|ttf�S)N)�
isinstance�bytes�
memoryview)rrrr�func_isblob5srcCst|t�o|dkS)Nr
rl)rr)rrrr�func_islonglong7src@s(eZdZdd�Zdd�ZdS)�
AggrNoStepcCsdS)Nr)�selfrrr�__init__;szAggrNoStep.__init__cCsdS)Nr
r)r!rrr�finalize>szAggrNoStep.finalizeN)�__name__�
__module__�__qualname__r"r#rrrrr :sr c@s(eZdZdd�Zdd�ZdS)�AggrNoFinalizecCsdS)Nr)r!rrrr"BszAggrNoFinalize.__init__cCsdS)Nr)r!�xrrr�stepEszAggrNoFinalize.stepN)r$r%r&r"r)rrrrr'Asr'c@s4eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInInitcCsdddS)Nrrr)r!rrrr"IszAggrExceptionInInit.__init__cCsdS)Nr)r!r(rrrr)LszAggrExceptionInInit.stepcCsdS)Nr)r!rrrr#OszAggrExceptionInInit.finalizeN)r$r%r&r"r)r#rrrrr*Hsr*c@s4eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInStepcCsdS)Nr)r!rrrr"SszAggrExceptionInStep.__init__cCsdddS)Nrrr)r!r(rrrr)VszAggrExceptionInStep.stepcCsdS)Nrr)r!rrrr#YszAggrExceptionInStep.finalizeN)r$r%r&r"r)r#rrrrr+Rsr+c@s4eZdZdd�Zdd�Zdd�ZdS)�AggrExceptionInFinalizecCsdS)Nr)r!rrrr"]sz AggrExceptionInFinalize.__init__cCsdS)Nr)r!r(rrrr)`szAggrExceptionInFinalize.stepcCsdddS)Nrrr)r!rrrr#csz AggrExceptionInFinalize.finalizeN)r$r%r&r"r)r#rrrrr,\sr,c@s4eZdZdd�Zdd�Zdd�ZdS)�
AggrCheckTypecCs
d|_dS)N)�val)r!rrrr"gszAggrCheckType.__init__cCsRitd6td6td6td�d6td6}t||t|�k�|_dS)Nrrr�NoneZblob)rrrrrr.)r!Z	whichTyper.ZtheTyperrrr)js%
zAggrCheckType.stepcCs|jS)N)r.)r!rrrr#oszAggrCheckType.finalizeN)r$r%r&r"r)r#rrrrr-fsr-c@s4eZdZdd�Zdd�Zdd�ZdS)�AggrSumcCs
d|_dS)Ng)r.)r!rrrr"sszAggrSum.__init__cCs|j|7_dS)N)r.)r!r.rrrr)vszAggrSum.stepcCs|jS)N)r.)r!rrrr#yszAggrSum.finalizeN)r$r%r&r"r)r#rrrrr0rsr0c@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%S)&�
FunctionTestscCsJtjd�|_|jjddt�|jjddt�|jjddt�|jjddt�|jjddt�|jjddt	�|jjd	dt
�|jjd
dt�|jjddt�|jjd
dt
�|jjddt�|jjddt�|jjddt�|jjddt�dS)Nz:memory:Z
returntextrZ
returnunicodeZ	returnintZreturnfloatZ
returnnullZ
returnblobZreturnlonglongZraiseexception�isstringr
ZisintZisfloatZisnoneZisblobZ
islonglong)�sqlite�connect�con�create_functionrrr	r
rrrrrrrrrr)r!rrr�setUp}szFunctionTests.setUpcCs|jj�dS)N)r5�close)r!rrr�tearDown�szFunctionTests.tearDowncCsIy-|jjdddd��|jd�Wntjk
rDYnXdS)N�bla�dcSsd|S)N�r)r(rrr�<lambda>�sz6FunctionTests.CheckFuncErrorOnCreate.<locals>.<lambda>z&should have raised an OperationalErrori����)r5r6�failr3�OperationalError)r!rrr�CheckFuncErrorOnCreate�s
z$FunctionTests.CheckFuncErrorOnCreatecCsXdd�}|�}|t�d<|jjdd|�|jj�}|jd�dS)NcSsdd�}|S)NcSsdS)Nr
rrrrr�f�sz;FunctionTests.CheckFuncRefCount.<locals>.getfunc.<locals>.fr)rArrr�getfunc�sz0FunctionTests.CheckFuncRefCount.<locals>.getfuncrZreftestrzselect reftest())�globalsr5r6�cursor�execute)r!rBrA�currrr�CheckFuncRefCount�s	
zFunctionTests.CheckFuncRefCountcCsV|jj�}|jd�|j�d}|jt|�t�|j|d�dS)Nzselect returntext()rr)r5rDrE�fetchone�assertEqualrr)r!rFr.rrr�CheckFuncReturnText�s

z!FunctionTests.CheckFuncReturnTextcCsV|jj�}|jd�|j�d}|jt|�t�|j|d�dS)Nzselect returnunicode()rr)r5rDrErHrIrr)r!rFr.rrr�CheckFuncReturnUnicode�s

z$FunctionTests.CheckFuncReturnUnicodecCsV|jj�}|jd�|j�d}|jt|�t�|j|d�dS)Nzselect returnint()rr)r5rDrErHrIrr)r!rFr.rrr�CheckFuncReturnInt�s

z FunctionTests.CheckFuncReturnIntcCsn|jj�}|jd�|j�d}|jt|�t�|dksZ|dkrj|jd�ndS)Nzselect returnfloat()rg�&1�	@gT㥛� 	@zwrong value)r5rDrErHrIrrr>)r!rFr.rrr�CheckFuncReturnFloat�s
z"FunctionTests.CheckFuncReturnFloatcCs\|jj�}|jd�|j�d}|jt|�td��|j|d�dS)Nzselect returnnull()r)r5rDrErHrIr)r!rFr.rrr�CheckFuncReturnNull�s

z!FunctionTests.CheckFuncReturnNullcCsV|jj�}|jd�|j�d}|jt|�t�|j|d�dS)Nzselect returnblob()rsblob)r5rDrErHrIrr)r!rFr.rrr�CheckFuncReturnBlob�s

z!FunctionTests.CheckFuncReturnBlobcCs@|jj�}|jd�|j�d}|j|d�dS)Nzselect returnlonglong()rr
rl)r5rDrErHrI)r!rFr.rrr�CheckFuncReturnLongLong�s
z%FunctionTests.CheckFuncReturnLongLongcCs}|jj�}y(|jd�|j�|jd�Wn?tjk
rx}z|j|jdd�WYdd}~XnXdS)Nzselect raiseexception()z#should have raised OperationalErrorrz&user-defined function raised exception)	r5rDrErHr>r3r?rI�args)r!rF�errr�CheckFuncException�s

z FunctionTests.CheckFuncExceptioncCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect isstring(?)rrr
)zfoo)r5rDrErHrI)r!rFr.rrr�CheckParamString�szFunctionTests.CheckParamStringcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect isint(?)rrr
)r)r5rDrErHrI)r!rFr.rrr�
CheckParamInt�szFunctionTests.CheckParamIntcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect isfloat(?)���Q�	@rr
)rV)r5rDrErHrI)r!rFr.rrr�CheckParamFloat�szFunctionTests.CheckParamFloatcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect isnone(?)rr
)N)r5rDrErHrI)r!rFr.rrr�CheckParamNone�szFunctionTests.CheckParamNonecCsL|jj�}|jdtd�f�|j�d}|j|d�dS)Nzselect isblob(?)sblobrr
)r5rDrErrHrI)r!rFr.rrr�CheckParamBlob�szFunctionTests.CheckParamBlobcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect islonglong(?)r
rr�)rZ)r5rDrErHrI)r!rFr.rrr�CheckParamLongLong�sz FunctionTests.CheckParamLongLongN)r$r%r&r7r9r@rGrJrKrLrMrNrOrPrSrTrUrWrXrYr[rrrrr1|s$	r1c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�AggregateTestscCs�tjd�|_|jj�}|jd�|jdddddtd�f�|jjdd	t�|jjd
d	t�|jjdd	t	�|jjdd	t
�|jjd
d	t�|jjddt�|jjdd	t
�dS)Nz:memory:z�
            create table test(
                t text,
                i integer,
                f float,
                n,
                b blob
                )
            z6insert into test(t, i, f, n, b) values (?, ?, ?, ?, ?)rrg��Q�	@sblobZnostepr
Z
nofinalizeZexcInitZexcStepZexcFinalizeZ	checkTyper<Zmysum)r3r4r5rDrErZcreate_aggregater r'r*r+r,r-r0)r!rFrrrr7s	zAggregateTests.setUpcCsdS)Nr)r!rrrr9szAggregateTests.tearDowncCsCy'|jjddt�|jd�Wntjk
r>YnXdS)Nr:r;z&should have raised an OperationalErrori����)r5r6r0r>r3r?)r!rrr�CheckAggrErrorOnCreate!s
z%AggregateTests.CheckAggrErrorOnCreatecCsp|jj�}y|jd�|jd�Wn<tk
rk}z|j|jdd�WYdd}~XnXdS)Nzselect nostep(t) from testz$should have raised an AttributeErrorrz+'AggrNoStep' object has no attribute 'step')r5rDrEr>�AttributeErrorrIrQ)r!rFrRrrr�CheckAggrNoStep(s
zAggregateTests.CheckAggrNoStepcCs�|jj�}y.|jd�|j�d}|jd�Wn?tjk
r~}z|j|jdd�WYdd}~XnXdS)Nzselect nofinalize(t) from testrz&should have raised an OperationalErrorz7user-defined aggregate's 'finalize' method raised error)	r5rDrErHr>r3r?rIrQ)r!rFr.rRrrr�CheckAggrNoFinalize0s
z"AggregateTests.CheckAggrNoFinalizecCs�|jj�}y.|jd�|j�d}|jd�Wn?tjk
r~}z|j|jdd�WYdd}~XnXdS)Nzselect excInit(t) from testrz&should have raised an OperationalErrorz7user-defined aggregate's '__init__' method raised error)	r5rDrErHr>r3r?rIrQ)r!rFr.rRrrr�CheckAggrExceptionInInit9s
z'AggregateTests.CheckAggrExceptionInInitcCs�|jj�}y.|jd�|j�d}|jd�Wn?tjk
r~}z|j|jdd�WYdd}~XnXdS)Nzselect excStep(t) from testrz&should have raised an OperationalErrorz3user-defined aggregate's 'step' method raised error)	r5rDrErHr>r3r?rIrQ)r!rFr.rRrrr�CheckAggrExceptionInStepBs
z'AggregateTests.CheckAggrExceptionInStepcCs�|jj�}y.|jd�|j�d}|jd�Wn?tjk
r~}z|j|jdd�WYdd}~XnXdS)Nzselect excFinalize(t) from testrz&should have raised an OperationalErrorz7user-defined aggregate's 'finalize' method raised error)	r5rDrErHr>r3r?rIrQ)r!rFr.rRrrr�CheckAggrExceptionInFinalizeKs
z+AggregateTests.CheckAggrExceptionInFinalizecCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect checkType('str', ?)rrr
)zfoo)r5rDrErHrI)r!rFr.rrr�CheckAggrCheckParamStrTsz%AggregateTests.CheckAggrCheckParamStrcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect checkType('int', ?)rrr
)r)r5rDrErHrI)r!rFr.rrr�CheckAggrCheckParamIntZsz%AggregateTests.CheckAggrCheckParamIntcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect checkType('float', ?)���Q�	@rr
)rf)r5rDrErHrI)r!rFr.rrr�CheckAggrCheckParamFloat`sz'AggregateTests.CheckAggrCheckParamFloatcCsC|jj�}|jdd�|j�d}|j|d�dS)Nzselect checkType('None', ?)rr
)N)r5rDrErHrI)r!rFr.rrr�CheckAggrCheckParamNonefsz&AggregateTests.CheckAggrCheckParamNonecCsL|jj�}|jdtd�f�|j�d}|j|d�dS)Nzselect checkType('blob', ?)sblobrr
)r5rDrErrHrI)r!rFr.rrr�CheckAggrCheckParamBloblsz&AggregateTests.CheckAggrCheckParamBlobcCsf|jj�}|jd�|jdd	d
dg�|jd�|j�d}|j|d�dS)Nzdelete from testzinsert into test(i) values (?)�
��zselect mysum(i) from testr�<)rj)rk)rl)r5rDrEZexecutemanyrHrI)r!rFr.rrr�CheckAggrCheckAggrSumrs

z$AggregateTests.CheckAggrCheckAggrSumN)r$r%r&r7r9r]r_r`rarbrcrdrergrhrirnrrrrr\s				r\c@sReZdZedd��Zdd�Zdd�Zdd�Zd	d
�ZdS)�AuthorizerTestscCs<|tjkrtjS|dks.|dkr5tjStjS)N�c2�t2)r3�
SQLITE_SELECTZSQLITE_DENY�	SQLITE_OK)�action�arg1�arg2�dbname�sourcerrr�
authorizer_cb{s
zAuthorizerTests.authorizer_cbcCsItjd�|_|jjd�|jjd�|jj|j�dS)Nz:memory: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)r3r4r5Z
executescriptrEZset_authorizerry)r!rrrr7�s
	zAuthorizerTests.setUpcCsdS)Nr)r!rrrr9�szAuthorizerTests.tearDowncCs�y|jjd�Wn]tjk
rs}z:|jdjd�s]|jd|jd�ndSWYdd}~XnX|jd�dS)Nzselect * from t2r�
prohibitedzwrong exception text: %sz9should have raised an exception due to missing privileges)r5rEr3�
DatabaseErrorrQ�endswithr>)r!rRrrr�test_table_access�sz!AuthorizerTests.test_table_accesscCs�y|jjd�Wn]tjk
rs}z:|jdjd�s]|jd|jd�ndSWYdd}~XnX|jd�dS)Nzselect c2 from t1rrzzwrong exception text: %sz9should have raised an exception due to missing privileges)r5rEr3r{rQr|r>)r!rRrrr�test_column_access�sz"AuthorizerTests.test_column_accessN)	r$r%r&�staticmethodryr7r9r}r~rrrrrozs
	roc@s"eZdZedd��ZdS)�AuthorizerRaiseExceptionTestscCs@|tjkrt�n|dks0|dkr9t�ntjS)Nrprq)r3rr�
ValueErrorrs)rtrurvrwrxrrrry�s
		z+AuthorizerRaiseExceptionTests.authorizer_cbN)r$r%r&rryrrrrr��sr�c@s"eZdZedd��ZdS)�AuthorizerIllegalTypeTestscCs6|tjkrdS|dks+|dkr/dStjS)Ngrprq)r3rrrs)rtrurvrwrxrrrry�s
z(AuthorizerIllegalTypeTests.authorizer_cbN)r$r%r&rryrrrrr��sr�c@s"eZdZedd��ZdS)�AuthorizerLargeIntegerTestscCs6|tjkrdS|dks+|dkr/dStjS)Nr<� rprqll)r3rrrs)rtrurvrwrxrrrry�s
z)AuthorizerLargeIntegerTests.authorizer_cbN)r$r%r&rryrrrrr��sr�cCsmtjtd�}tjtd�}tjt�}tj|||tjt�tjt�tjt�f�S)NZCheck)	�unittestZ	makeSuiter1r\roZ	TestSuiter�r�r�)Zfunction_suiteZaggregate_suiteZauthorizer_suiterrr�suite�sr�cCs tj�}|jt��dS)N)r�ZTextTestRunnerZrunr�)Zrunnerrrr�test�sr��__main__)"r�Zsqlite3r3rrr	r
rrrrrrrrrrr r'r*r+r,r-r0ZTestCaser1r\ror�r�r�r�r�r$rrrr�<module>s@



�v,