%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/fail2ban/tests/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyc

�
��&dc@s(dZdZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZdd	lmZmZmZmZejje�j�Zejjejje�d
�Zejjejje�d�Zej d�Z!ej"d
ej#e!�d�Z$de
j%fd��YZ&d�Z'x�ed�fed�ffD]�\Z(Z)xwe*e)ej+ejje(d���D]NZ)e)j,d�dZ-e-j.d�s�e/e&de-j0�e'e-e(��q�q�Wq�WdS(s"Copyright (c) 2013 Steven HiscockstGPLi����Ni(tRegex(tFiltert
FileContainer(tFilterReaderi(tsetUpMyTimettearDownMyTimetTEST_NOWt
CONFIG_DIRtconfigtfiless<HOST>s\.[+\*](?!\?)[^\$\^]*s.*(?:\.[+\*].*|[^\$])$tFilterSamplesRegexcBsGeZd�Zd�Zd�Zd�Zdd�Zed��Z	RS(cCs3tt|�j�t�|_d|_t�dS(sCall before every test case.N(tsuperRtsetUptdictt_filterstNonet_filterTestsR(tself((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyR
4s	cCstt|�j�t�dS(sCall after every test case.N(RRttearDownR(R((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyR;scCsO|jtgtj|�D]}|djd�r|^q�dkd�dS(s Check to ensure some tests existittestSampleRegexsi
s&Expected more FilterSampleRegexs testsN(t
assertTruetlentinspectt
getmemberst
startswith(Rttest((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyttestFiltersPresent@s
cCs�|jtjdtd��|jtjdtd��|jtjdtd��|jtjdtd��|jtjdtd��d	S(
s9Tests regexp RE_WRONG_GREED is intact (positive/negative)sgreedy .* tests test not hard-anchoredsgreedy .+ tests test vary .* anchored$s" test no catch-all, hard-anchored$snon-greedy .*? testsnon-greedy .+? tests! test vary catch-all .* anchored$N(RtRE_WRONG_GREEDtsearchtRE_HOSTtassertFalse(R((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyttestReWrongGreedyCatchAllHscCsc|jj|�}|r|Std�}t|_t|_t|_t|_	|dkrdt
�}n|j�}t|d|d|dt
jj�}|j|j�|�|j|j�d�|j�|ji�x|j�D]}|ddkr|d}n4|ddkr'|dg}n|jd|f�x�|D]�}|d	d
krd||_qB|d	dkr�|j|�qB|d	dkr�|j|�qB|d	d
kr�|j|�qB|d	dkrB|j|�qBqBWq�W|j�}	xH|	D]@}
tj|
�r�td|t |
�j!t"d�f��q�q�W|t#�g}||j|<|S(Ntjailtbasedirtshare_configis	multi-setitsets$Unexpected config-token %r in streamit	prefregextaddfailregextaddignoreregextmaxlinestdatepatterns�Following regexp of "%s" contains greedy catch-all before <HOST>, that is not hard-anchored at end or has not precise sub expression after <HOST>:
%ss<HOST>($RtgetRRtTruet
returnRawHostt
checkAllRegextFalset
checkFindTimetactiveRtcopyRtunittesttF2BR#tassertEqualtgetFiletgetJailNametreadt
getOptionstconverttfailt	prefRegextaddFailRegextaddIgnoreRegextsetMaxLinestsetDatePatterntgetFailRegexRRtAssertionErrortstrtreplaceRR$(RtfltNametnameR"toptstfltt
filterConftopttoptvalt	regexListtfr((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyt_readFilterVsT				




)
cCstd�|j�D��S(Ncss0|]&\}}|jd�s||fVqdS(stest.N(R(t.0tktv((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pys	<genexpr>�s(Rt	iteritems(RF((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyt_filterOptions�sN(
t__name__t
__module__R
RRR RRMtstaticmethodRR(((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyR2s				5cs��fd�}|S(Nc!sW|jtjjtjjtd���d���g}t�}i}i}d}xv|t|�kr�||}|d7}tj	tjjtd|�dd�}t
}x|D]}	tj|j
�d|	�}	tjd|	�}
|
r�y�tj|
jd	��}|
jd�d
kr(|}w�n|
jd�dkrgg|_t
}xt|t�rd|n|gD]�}|r�|j�}|j|�n|}|jt|t��|jd�r�t|jd��}n|sk|j|�}|jd
�}
|
s|rt|�nd}
n�|
}
|j|
��d|�}|jj|
||f�qkqkWw�n|
jd�dkr�|j|�w�nWn8tk
r�}td||j
�|j �f��nXt!|�}	tj|j
�d|	�}	n.|s�|	j"d�s�|	j#�rq�ni}|r/q�n|jsq�}
|j|
��dd�}|
|ifg|_n|	j%d�}	xD|jD]9\}
}}|jd�r�t|d�r�q�n|\}}|j&�}d}yGi}|jd�dkr
|j'|	�}n@|jd�r2|jd�|	}	n|j'dt(|	ft)�}|r�g}xl|D]d}|\}}}}|dks�|jd�r�|j*|�|j*||�q`n|j|�q`W|}n|s�|j+|jdt
�d�w�n|j|jdt
�d�|j,t|�ddt-d�|��x�|D]�}|\}}}}x�|j.�D]�\}}|d+krj|j|d�}|dkr�|d!kr�|}n|d"kr�t|jd#i��}q�nt|tttf�r
|j/||�qjn|j,||�qjqjW|jdd�}|dk	ryt0j0j1|d$�}Wn&tk
r�t0j0j1|d%�}nXt2j3|j4��}||j5d&7}|j,||d'|t2j6d$t2j7|��|t2j6d$t2j7|��||f�n|j*|�|j*||�qEWWq�t8k
r�}ddl9}t8d(|
||j
�|j �|	||dkr|||ndd)j|j:|�j;��d)j|j:|�j;��f	��q�Xq�Wq�WqYWx�|j<j.�D]p\}
}|\}}|j&�}xIt=|�D];\}} |j||kp7| |kd*|
|| f�qWq�WdS(,Ntlogss,No sample log file available for '%s' filteriitmodetrbsUTF-8s4^#+ ?(failJSON|(?:file|filter)Options|addFILE):(.+)$itfileOptionst
filterOptionsstest.conditionstest.filter-nametRFtaddFILEs	%s: %s:%it#s
t
constrainti����tlogtypetjournalstest.prefix-linetnofailtmatchs!Line not matched when should haves Line matched when shouldn't havesMultiple regexs matched %rcSs|dS(Ni((tx((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyt<lambda>sttimetdescthosttattemptstmatchess%Y-%m-%dT%H:%M:%Ss%Y-%m-%dT%H:%M:%S.%fg��.As:UTC Time  mismatch %s (%s) != %s (%s)  (diff %.3f seconds)sC%s: %s on: %s:%i, line:
  %s
regex (%s):
  %s
faildata: %s
fail: %ss
s %s: Regex has no samples: %i: %r(stimesmatchsdescR^(>RtostpathtisfiletjointTEST_FILES_DIRR$Rt	fileinputt	FileInputR.Rtdecode_linetfilenametreRbtjsontloadstgroupRt
isinstancetlistR1tupdateRR*tevalRRRBRMtappendt
ValueErrort
filelinenotnextRtstripRtrstripR@tprocessLinetTEST_NOW_STRRtaddRR4tmapRQtassertSortedEqualtdatetimetstrptimeRetmktimet	timetupletmicrosecondtstrftimetgmtimeRAtpprinttpformatt
splitlinesRt	enumerate(!Rt	filenamestregexsUsedRet
commonOptstfaildatatiRrtlogFiletignoreBlocktlinetjsonREMatchRFtfltOptsRDRGtet
regexsUsedIdxRKt	failregexR:trettfoundtfidtfail2banTimeRORPtfvttt
jsonTimeLocaltjsonTimeR�tfailRegexIndext	failRegex(R"RE(sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyt
testFilter�s!		


	%
 

#"	 

	
	

5((RER"R�((R"REsB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyttestSampleRegexsFactory�s�cCs|jd�o|jd�S(Nscommon.confs.conf(tendswith(Rc((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyRd?scCs|jd�o|jd�S(Nszzz-s.conf(RR�(Rc((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyRd@ssfilter.dt.istestSampleRegexs%s(1t
__copyright__t__license__R�RoRRtRjRstsysReR2tserver.failregexRt
server.filterRRtclient.filterreaderRtutilsRRRRtutcfromtimestampt	isoformatR�RkRmtdirnamet__file__tTEST_CONFIG_DIRRnt_resolveHostTagRtcompiletescapeRtTestCaseRR�tbasedir_tfilter_tfiltertlistdirt
rpartitiont
filterNameRtsetattrtupper(((sB/usr/lib/python2.7/site-packages/fail2ban/tests/samplestestcase.pyt<module>s@"!! ]	�	%


Zerion Mini Shell 1.0