ogf&dZdZdZddlZddlmZmZddlmZdd l m Z dd l m Z Gd d ejZGd dejZy)z Cyril Jaquierz Copyright (c) 2004 Cyril JaquierGPLN) setUpMyTimetearDownMyTime) BanManager)DNSUtils) BanTicketc^eZdZfdZfdZdZdZdZdZdZ dZ d Z d Z d Z xZS) AddFailurec~tt| tt dd|_t |_y)Call before every test case. 193.168.0.128;fAN)superr setUprr _AddFailure__ticketr_AddFailure__banManagerself __class__s C/usr/lib/python3/dist-packages/fail2ban/tests/banmanagertestcase.pyrzAddFailure.setUp$s- D! -O\:$- l$c>tt| tyzCall after every test case.N)rr tearDownrrs rrzAddFailure.tearDown+s D"$rc|j|jj|j|j |jj d|j |jj d|jjd|j |jj dy)Nrr) assertTruer addBanTicketr assertEqualsize getBanTotal setBanTotalrs rtestAddzAddFailure.testAdd0s//$##00?@4$$))+Q/4$$002A6"4$$002A6rc(|j|jj|j|j |jj|j|j |jj dy)Nr)rrrr assertFalser r!r$s rtestAddDuplicatezAddFailure.testAddDuplicate7se//$##00?@4$$11$--@A4$$))+Q/rcP|jj}d}dD]\}}tdd}td|}||j||j |jj ||j |jj ||j|jjd|jj|j}|j|j||j||j |j||kD|j|}|j|jd|dk(sd|j|j|dy)Nr))rN)gTfAN)riQ)rrrrr*) r getBanTimer setBanTimerrr'r r! getTicketByIDgetIDgetEndOfBanTimegetTime)r defBanTimeprevEndOfBanTimetnewbtnewticket1ticket2 bantickets rtestAddDuplicateWithTimez#AddFailure.testAddDuplicateWithTime<sf  ++-* ;kdE  57  -7  u??4$$11':;D%%227;<D%%**,a0  ..w}}?9I--j97;R;RS];^_??9,,Z8;KKL--j9I%%'6 rkY))*5r:-;rc|j|jj|jt dd}|j|jj |y)Nrr)rrrrr _inBanListrtickets r testInListOKzAddFailure.testInListOK\sL//$##00?@ _l 3&//$##..v67rc|j|jj|jt dd}|j |jj |y)Nz 111.111.1.111r)rrrrr r'r:r;s r testInListNOKzAddFailure.testInListNOKasN//$##00?@ _l 3&4$$//78rc Dt|jj|jj}d}dD]}|jj |j|dz }|j ||j|jj ||jt|jj|jd|jd|jd|d|d |jj |j|dz }|j d |j|jj ||j d |j|jj ||jt|jj|jd|jd|jdd d|d y) Nr)ir*rzBanTicket: ip=z time=z bantime=z bancount=z #attempts=0 matches=[]r*rA) r rr.r0rrr,r'r strr-)rr<cis rtestBanTimeIncrzAddFailure.testBanTimeIncrfs T]]((*DMM,A,A,C D&! ya!!$--0!q&! QD%%226:;C))77 GHPVP\P\P^`f`n`n`prsuvwy y  /aB4$$11&9:D4$$11&9:3t((66v||~FGOU||~_e_m_m_oqsuvwyrc||jj}|jj}|j |jj |j|j |jj |j|j|jj|g|j|jj||zdz|jg|j|jjd|j |jj |jt|jj|dz}|j|jj ||jt|jj||zdzd|jt|jj||zdzdzdtdD]a}td|z|}|j|j||dzz|j |jj |c|jt|jj||zdzdzd|jt|jj||zdzdzd |j|jjdy) NrriXz 193.168.0.%s r2)rr+rr0rrr:r unBanListr!r r.r'lenranger,)rbtimestimer<rDs r testUnbanzAddFailure.testUnbanys    & & (% --   !%//$##00?@//$##..t}}=>4$$..u5r:4$$..uu}q/@ADMM?S4$$))+Q///$##00?@ T]]((*ECK 8&4$$11&9:3t((2255=13DEFJ3t((2255=33F3JKLaP 8;a nq(% 06 V&&u-"45??4$$11&9:;3t((2255=43G!3KLMqQ3t((2255=43G!3KLMqQ4$$))+Q/rc|jj}|jjd |j|jj |j |j|jj |j |j|jj|j j|zdzg|j|jjd|jj|y#|jj|wxYw)Nr*r) rr+r,rrrr:r rKr0r!)rrNs rtestUnbanPermanentzAddFailure.testUnbanPermanents    & & (%r"'??4$$11$--@A??4$$// >?D%%// 0E0E0G%0ORS0STVXYD%%**,a0&4&s CD..E ctddtddg}|djd|D]}|jj||j |jj dddd gy) Nz 192.0.2.1rz 192.0.2.2rr*T)orderedwithTimez:192.0.2.1 2006-12-31 23:59:59 + 600 = 2007-01-01 00:09:59z9192.0.2.2 2006-12-31 23:59:59 + -1 = 9999-12-31 23:59:59)r r,rrassertSortedEqual getBanList)rticketsts r testBanListzAddFailure.testBanLists [,' [,' ' !* %a!!!$%**55dT5RBAr)__name__ __module__ __qualname__rrr%r(r8r=r?rErPrRrZ __classcell__rs@rr r #s<# 70 ;@8 9 y&04 ' rr cPeZdZfdZfdZdZdZdZdZdZ dZ d Z xZ S) StatusExtendedCymruInfoctt| tjj t tttjd|_ d|_ d|_ d|_t|jd}t!|_|j%|j"j'|y)rzresolver1.opendns.com36692USarinrN)rrarunittestF2BSkipIfNoNetworkrnextiterr dnsToIp _StatusExtendedCymruInfo__ban_ip_StatusExtendedCymruInfo__asn!_StatusExtendedCymruInfo__country_StatusExtendedCymruInfo__rirr r$_StatusExtendedCymruInfo__banManagerrr)rr<rs rrzStatusExtendedCymruInfo.setUps,. ,,  -tH,,-DEFG$-$*$.$* T]]L 1& l$//$##0089rc>tt| tyr)rrarrrs rrz StatusExtendedCymruInfo.tearDowns/1r)TNc*t}|jdr9|jjtj j rdnd}n|jd}|jdr$d|f|_t jd|dz|S) Nrr)timeoutrerrorFz.Skip test because service is not available: %s) ra availablerpgetBanListExtendedCymruInforfrgfastgetSkipTest)rtc cymru_infos r_getBanListExtendedCymruInfoz4StatusExtendedCymruInfo._getBanListExtendedCymruInfos"\\!_!!==,,##Q>.: Q:^^G#2<   KjY`Naa bb rc|j}|j||jg|jg|jgdy)Nasncountryrir)r}assertDictEqualrmrnro)rr|s r testCymruInfoz%StatusExtendedCymruInfo.testCymruInfosA002*z ^^$  rc|j|jj|j|jgyN)r rpgeBanListExtendedASNr}rmr$s rtestCymruInfoASNz(StatusExtendedCymruInfo.testCymruInfoASN6))$*K*K*MNJJ<rc|j|jj|j|jgyr)r rpgeBanListExtendedCountryr}rnr$s rtestCymruInfoCountryz,StatusExtendedCymruInfo.testCymruInfoCountrys7--d.O.O.QRNNrc|j|jj|j|jgyr)r rpgeBanListExtendedRIRr}ror$s rtestCymruInfoRIRz(StatusExtendedCymruInfo.testCymruInfoRIRrrct|_tdd}|j|jj ||j }|j |dgdgdgdtdd}|j|jj ||j }|j|ddgddgdd gdd t y) Nz0.0.0.0rnxdomainrz8.0.0.0g<fA3356rdrer*)levelkey) rrpr rrr}rrVrB)rr<r|s rtestCymruInfoNxdomainz-StatusExtendedCymruInfo.testCymruInfoNxdomains l$ Y -&//$##0089002*z L   Y -&//$##0089002*V%&V$ &-/S:r) r[r\r]rrrvr}rrrrrr^r_s@rraras2 :     :rra) __author__ __copyright__ __license__rfutilsrrserver.banmanagerr server.ipdnsr server.ticketr TestCaser rarrrsN. 2  .*#%H""HVL:h//L:r