/usr/lib/python3/dist-packages/fail2ban/tests/__pycache__
Edit: /usr/lib/python3/dist-packages/fail2ban/tests/__pycache__/databasetestcase.cpython-310.pyc (16452B)
o
;s*bâY ã @ sè d Z dZddlZddlZddlZddlZddlZddlZddlm Z ddl
mZ ddlm
Z
ddlmZmZ d d
lmZ zddlmZ ejZW n eyR dZY nw d dlmZmZ ej ej e¡d
¡Zdd„ Z G dd„ deƒZ!dS )z"Copyright (c) 2013 Steven HiscocksÚGPLé Né )Ú
FileContainer)ÚMyTime)Ú
FailTicket)ÚActionsÚUtilsé )Ú DummyJail)Údatabase)ÚLogCaptureTestCaseÚlogSysÚfilesc C s t jjrtdƒS t| ƒS )Nú:memory:)ÚunittestÚF2BÚ memory_dbÚ
Fail2BanDb)Úfilename© r úA/usr/lib/python3/dist-packages/fail2ban/tests/databasetestcase.pyÚ
getFail2BanDb0 s r c sò e Zd Z‡ fdd„Zedd„ ƒZejdd„ ƒZ‡ fdd„Zdd „ Zd
d„ Z dd
„ Z
dd„ Zdd„ Zdd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Z‡ ZS )4ÚDatabaseTestc sJ t t| ƒ ¡ tdu rt d¡‚d| _tjjs t
dd¡\}| _d| _dS )zCall before every test case.NzEUnable to import fail2ban database module as sqlite is not available.ú.dbÚ fail2ban_ú:auto-create-in-memory:)Úsuperr ÚsetUpr r ÚSkipTestÚ
dbFilenamer r ÚtempfileÚmkstempÚ_db)ÚselfÚ_©Ú __class__r r r 8 s ÿ
zDatabaseTest.setUpc C s( t | jtƒr| jdkrt| jƒ| _| jS )Nr )Ú
isinstancer" Ústrr r ©r# r r r ÚdbD s zDatabaseTest.dbc C s t | jtƒr| j ¡ || _d S ©N)r' r" r Úclose)r# Úvaluer r r r* I s
c s8 t t| ƒ ¡ tdu r
dS | jdurt | j¡ dS dS )zCall after every test case.N)r r ÚtearDownr r ÚosÚremover) r% r r r. O s
ÿzDatabaseTest.tearDownc C s, | j jdkrt d¡‚| | j| j j¡ d S )Nr úin :memory: database)r* r r r ÚassertEqualr r) r r r ÚtestGetFilenameX s
zDatabaseTest.testGetFilenamec C sD | | jjd¡ d| j_| | jjd¡ d| j_| | jjd¡ d S )Ni€Q Ú1y6mon15d5h30mi¨_æz2y 12mon 30d 10h 60miP¿Ì)r2 r* Úpurgeager) r r r ÚtestPurgeAge] s
zDatabaseTest.testPurgeAgec C s | tjtd¡ d S )Nz/this/path/should/not/exist)ÚassertRaisesÚsqlite3ÚOperationalErrorr r) r r r ÚtestCreateInvalidPathd s
ýz"DatabaseTest.testCreateInvalidPathc C sH | j jdkrt d¡‚| ¡ t| jƒ| _ | | jj | j
¡ v d¡ d S )Nr r1 z3Jail not retained in Db after disconnect reconnect.)r* r r r ÚtestAddJailr r Ú
assertTrueÚjailÚnameÚgetJailNamesr) r r r ÚtestCreateAndReconnectj s
þz#DatabaseTest.testCreateAndReconnectc
C sv t d¡s
t d¡‚d | _| jd u rt dd¡\}| _dD ]›}| d| ¡ t
tj
td¡| j¡ t | jtj¡}t ||¡ t |¡ z_t| jƒ| _|dkrq| jd d
ddd
| | j ¡ tdgƒ¡ | t| j ¡ ƒd¡ n| jdd
ddd
| t| j ¡ ƒd¡ | t| j ¡ ƒd¡ W | jr¤| jjdkr¤t | jj¡ d | _q| jr¸| jjdkr¸t | jj¡ d | _w d S )Nzsqlite3 --versionzno sqlite3 commandr r )é°6 i z)[test-repair], next phase - file-size: %dúdatabase_v1.dbrA zRepair seems to be successfulzCheck integrityzDatabase updatedT)Úallú/tmp/Fail2BanDb_pUlZJh.logr zRepair seems to be failedzNew database created.r r )r Ú
executeCmdr r r* r r r! ÚpruneLogÚshutilÚcopyfiler/ ÚpathÚjoinÚTEST_FILES_DIRÚopenÚO_RDWRÚ ftruncater, r ÚassertLoggedr2 ÚgetLogPathsÚsetÚlenr? Ú_dbFilenamer0 Ú_dbBackupFilename)r# r$ Ú truncSizeÚfr r r ÚtestRepairDbu sF
ÿ
ÿÿ€€þèzDatabaseTest.testRepairDbc C sT d | _ z“| jd u rt dd¡\}| _t tj t d¡| j¡ t
| jƒ| _ | | j ¡ t
dgƒ¡ | | j ¡ t
dgƒ¡ tdddgƒ}| | j ¡ d |¡ | | j t
j¡t
j¡ | t| j jt
jd
¡ | j jddd
}| t|ƒd
¡ | |d ¡ d¡ W | j r“| j jdkr•t | j j¡ d S d S d S | j r¨| j jdkr©t | j j¡ w w w )Nr r rB z"DummyJail #29162448 with 0 ticketsrD ú 127.0.0.1g×£ÆÕ®ÔAúabc
r r iW»Ri@â )ÚfromtimeÚcorrectBanTimer )r* r r r! rG rH r/ rI rJ rK r r2 r? rQ rP r ÚgetBansÚupdateDbÚ__version__r7 ÚNotImplementedErrorÚgetCurrentBansrR Ú
getBanTimerS r0 rT )r# r$ ÚticketÚticketsr r r ÚtestUpdateDb˜ s,
ÿÿÿzDatabaseTest.testUpdateDbc C sR d | _ | jd u rt dd¡\}| _t tj t d¡| j¡ t
| jƒ| _ | | j ¡ t
dgƒ¡ | | j ¡ t
dgƒ¡ | j ¡ }| t|ƒd¡ tddg d ¢ƒ}| d
¡ | |d |¡ | |d ¡ d
¡ | | j t
j¡t
j¡ tdd| _| j j| jdd}| t|ƒd¡ | |d ¡ d¡ | t| j jt
jd ¡ t | j j¡ d S )Nr r zdatabase_v2.dbzpam-genericz/var/log/auth.logr z1.2.3.7ifÊ~T)zŠDec 3 09:31:08 f2btest test:auth[27658]: pam_unix(test:auth): authentication failure; logname= uid=0 euid=0 tty=test ruser= rhost=1.2.3.7zŠDec 3 09:31:32 f2btest test:auth[27671]: pam_unix(test:auth): authentication failure; logname= uid=0 euid=0 tty=test ruser= rhost=1.2.3.7zŠDec 3 09:31:34 f2btest test:auth[27673]: pam_unix(test:auth): authentication failure; logname= uid=0 euid=0 tty=test ruser= rhost=1.2.3.7é r r z1.2.3.8©r> )r= rZ iX )r* r r r! rG rH r/ rI rJ rK r r2 r? rQ rP r\ rR r Ú
setAttemptÚgetIPr] r^ r
r= r` ra r7 r_ r0 rT )r# r$ Úbansrb rc r r r Ú
testUpdateDb2¯ s,
ÿ
zDatabaseTest.testUpdateDb2c C s6 t ƒ | _| j | j¡ | | jj| j d¡v d¡ d S )NTzJail not added to database)r
r= r* ÚaddJailr<