ó
ě$Sc           @   s   d  Z  d Z d Z d d l Z d d l Z d d l Z d d l Z d d l m Z m	 Z	 d d l
 m Z d e j f d     YZ d S(	   s   Cyril Jaquiers    Copyright (c) 2004 Cyril Jaquiert   GPLi˙˙˙˙N(   t   FailManagert   FailManagerEmpty(   t
   FailTickett
   AddFailurec           B   sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C   sĂ   d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d	 g g |  _  t   |  _ x2 |  j  D]' } |  j j t | d
 | d   q Wd S(   s   Call before every test case.u   193.168.0.128g  Ŕ;fŃAs   87.142.124.10s   100.100.10.10g    eÍÍAg   úeÍÍAg   ôfÍÍAg   îgÍÍAg   čhÍÍAi    i   N(   t   _AddFailure__itemsR   t   _AddFailure__failManagert
   addFailureR   (   t   selft   i(    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   setUp!   s     												c         C   s   d S(   s   Call after every test case.N(    (   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   tearDown5   s    c         C   so   |  j  |  j j   d  |  j  |  j j   d  |  j j d  |  j  |  j j   d  |  j j d  d  S(   Ni   i   i    (   t   assertEqualR   t   sizet   getFailTotalt   setFailTotal(   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   testFailManagerAdd8   s
    c         C   sV   |  j  |  j j   d  |  j j d  |  j  |  j j   d  |  j j d  d  S(   NiX  i   (   R   R   t
   getMaxTimet
   setMaxTime(   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   testFailManagerMaxTime?   s    c         C   s=   |  j  j d  |  j  j d  |  j |  j  j   d  d  S(   Ns   193.168.0.128s   111.111.1.111i   (   R   t
   delFailureR   R   (   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   _testDelE   s    c         C   s3   d } |  j  j |  |  j |  j  j   d  d  S(   Ng  Ŕ5fŃAi    (   R   t   cleanupR   R   (   R   t	   timestamp(    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   testCleanupOKK   s    c         C   s3   d } |  j  j |  |  j |  j  j   d  d  S(   Ng  9fŃAi   (   R   R   R   R   (   R   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   testCleanupNOKP   s    c         C   sŞ   |  j  j d  |  j  j   } |  j | j   d  |  j t | j   t   t |  } |  j | d  | j d  |  j | j	   d  |  j t |  d  d  S(   Ni   s   193.168.0.128s:   FailTicket: ip=193.168.0.128 time=1167605999.0 #attempts=5g   čhÍÍAs:   FailTicket: ip=193.168.0.128 time=1000002000.0 #attempts=5(
   R   t   setMaxRetryt   toBanR   t   getIPt
   assertTruet
   isinstancet   strt   setTimet   getTime(   R   t   tickett
   ticket_str(    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt	   testbanOKU   s    	c         C   s*   |  j  j d  |  j t |  j  j  d  S(   Ni
   (   R   R   t   assertRaisesR   R   (   R   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt
   testbanNOKj   s    c         C   sd   |  j  j   } |  j | j   d  |  j  j   } |  j | j   d  |  j t |  j  j  d  S(   Ns   100.100.10.10(   R   R   t   assertNotEqualR   R%   R   (   R   R"   (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt
   testWindown   s
    (   t   __name__t
   __module__R
   R   R   R   R   R   R   R$   R&   R(   (    (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyR      s   									(   t
   __author__t   __copyright__t   __license__t   unittestt   sockett   timet   picklet   server.failmanagerR   R   t   server.ticketR   t   TestCaseR   (    (    (    s4   /usr/share/fail2ban/testcases/failmanagertestcase.pyt   <module>   s   0