ó
nUrTc           @   sá   d  d l  Z  d  d l m Z d  d l Z d  d l m Z d  d l m Z d  d l Z d  d l Z d e  j	 f d „  ƒ  YZ
 d e  j	 f d „  ƒ  YZ d	 e  j	 f d
 „  ƒ  YZ d e  j	 f d „  ƒ  YZ d e  j	 f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   attr(   t   utils(   t   debbugst   TestDebianbtsc           B   s   e  Z d  „  Z RS(   c      
   C   st  |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d
 t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d
 t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d
 t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d
 t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ |  j  t j d t j ƒ j ƒ  d d d d d d d d	 g ƒ d  S(   Nt   criticalt   lfst   l10ns   d-it   upstreamt   ipv6t   securityt   patcht   newcomert   gravet   serioust	   importants   does-not-buildt   normals   non-criticalt   minort   wishlist(	   t   assertItemsEqualR   t   get_tagsR   t   MODE_NOVICEt   keyst   MODE_STANDARDt   MODE_ADVANCEDt   MODE_EXPERT(   t   self(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_tags   sH    ===::::::===::::::=================(   t   __name__t
   __module__R   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyR      s   t   TestInfofuncc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   so  t  j ƒ  } t j ƒ  } |  j d | ƒ |  j | | ƒ |  j d | | ƒ |  j | j d ƒ ƒ t j } t j } t j	 d d ƒ t _ t  j ƒ  } |  j d | ƒ |  j | j d ƒ ƒ t j	 d d  ƒ t _ t  j ƒ  } |  j d | ƒ |  j | j d ƒ ƒ t j	 d d ƒ t _ t  j ƒ  } |  j d | ƒ |  j d | ƒ |  j d	 | ƒ | t _ | t _ ~ ~ d  S(
   Ns   Architecture:s   Architecture: s   

t   return_values   non-existing-archs   Architecture: ?s   multi-arch-ifieds   Foreign Architectures:s'   Foreign Architectures: multi-arch-ified(   R   t   dpkg_infofuncR   t   get_archt   assertInt
   assertTruet   endswitht   get_multiarcht   mockt	   MagicMockt   None(   R   t   infot   archt   _TestInfofunc__save1t   _TestInfofunc__save2(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_dpkg_infofunc;   s2    				c         C   s    t  j ƒ  } |  j d | ƒ d  S(   Ns   Architecture:(   R   t   debian_infofuncR!   (   R   R(   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_debian_infofunc^   s    c         C   s    t  j ƒ  } |  j d | ƒ d  S(   Ns   Architecture:(   R   t   ubuntu_infofuncR!   (   R   R(   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_ubuntu_infofuncb   s    c         C   s    t  j ƒ  } |  j d | ƒ d  S(   Ns   Architecture:(   R   t   generic_infofuncR!   (   R   R(   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_generic_infofuncf   s    (   R   R   R,   R.   R0   R2   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyR   9   s   	#		t   TestMiscFunctionsc           B   s>   e  Z d  „  Z d „  Z e d ƒ e j d ƒ d „  ƒ ƒ Z RS(   c         C   sh   |  j  t j d  ƒ d ƒ |  j  t j d ƒ d ƒ |  j  t j d ƒ d ƒ |  j  t j d ƒ d ƒ d  S(   Nt   not   yess   dummy string(   t   assertEqualR   t   yn_boolR'   (   R   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_yn_booll   s    c         C   sO   d	 d
 d d d g } x3 | D]+ \ } } } |  j t j | | ƒ | ƒ q Wd  S(   NR   R   s   non-criticalR   t   dummyt   gnatsR   R   (   s   debbugss   criticals   critical(   s   debbugss   non-criticals   normal(   Ns   dummys   dummy(   s   gnatss	   importants   serious(   s   gnatss   dummys   dummy(   R'   R6   R   t   convert_severity(   R   t   sevst   typet   severityt   value(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_convert_severityr   s    	t   networks3   Need to talk with dondelelcaro about make them syncc         C   s†   t  j d t  j ƒ } i  } t j d ƒ } x9 | D]1 } | j | ƒ } | j d ƒ | | j d ƒ <q1 Wd  |  _ |  j	 t
 j | ƒ d  S(   Ns   ([^\s]+)\s+(.+)sA   http://bugs.debian.org/pseudopackages/pseudo-packages.descriptioni   i   (   t   ret   compilet
   IGNORECASEt   urllibt   urlopent   searcht   groupR'   t   maxDiffR6   R   t   debother(   R   t	   dictparset   bdo_listt   pseudot   lt   m(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_pseudopackages_in_sync~   s     	(   R   R   R8   R@   R    t	   unittest2t   skipRP   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyR3   j   s   			t   TestGetReportsc           B   sG   e  Z e d  ƒ d „  ƒ Z e d  ƒ d „  ƒ Z e d  ƒ d „  ƒ Z RS(   RA   c         C   s-   t  j d d d ƒ} |  j | d d ƒ d  S(   Nt	   reportbugt   timeouti<   i    (   R   t   get_cgi_reportst   assertGreater(   R   t   data(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_cgi_reports   s    c         C   s-   t  j d d d ƒ} |  j | d d ƒ d  S(   NRT   RU   i<   i    (   R   t   get_reportsRW   (   R   RX   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_reports—   s    c         C   sp   t  j d d ƒ \ } } |  j | j d ƒ |  j | j d ƒ t  j d d ƒ \ } } |  j t | ƒ d ƒ d  S(   Ni9X ix   s0   reportbug: add support for SOAP interface to BTSi® i    (   R   t
   get_reportR6   t   bug_numt   subjectRW   t   len(   R   t   buginfot   bodies(    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_report   s    (   R   R   R    RY   R[   Rb   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyRS   Ž   s   t   TestUrlFunctionsc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s=   |  j  t j d d ƒ d d ƒ |  j t j d d ƒ ƒ d  S(   Nt   debiani{   s-   http://bugs.debian.org/cgi-bin/bugreport.cgi?s   bug=123&archived=False&mbox=not   default(   R6   R   t   cgi_report_urlt   assertIsNone(   R   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_cgi_report_url«   s    c         C   sp   |  j  t j d d ƒ d d ƒ |  j  t j d d d t ƒd d ƒ |  j  t j d d d d	 ƒd
 d ƒ d  S(   NRd   RT   s-   http://bugs.debian.org/cgi-bin/pkgreport.cgi?s*   archived=no&pkg=reportbug&repeatmerged=yest   sources1   http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=s&   reportbug&archived=no&repeatmerged=yest   versions   5.0s2   http://bugs.debian.org/cgi-bin/pkgreport.cgi?archis1   ved=no&version=5.0&pkg=reportbug&repeatmerged=yes(   R6   R   t   cgi_package_urlt   True(   R   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_cgi_package_url²   s    c         C   s$   |  j  t j d d ƒ d d ƒ d  S(   NRd   RT   s2   http://bugs.debian.org/cgi-bin/pkgreport.cgi?archis%   ved=no&pkg=reportbug&repeatmerged=yes(   R6   R   t   get_package_url(   R   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_package_urlÁ   s    c         C   s$   |  j  t j d d ƒ d d ƒ d  S(   NRd   i{   s-   http://bugs.debian.org/cgi-bin/bugreport.cgi?s   bug=123&archived=False&mbox=no(   R6   R   t   get_report_url(   R   (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   test_get_report_urlÇ   s    (   R   R   Rh   Rm   Ro   Rq   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyRc   ©   s   			(   RQ   t   nose.plugins.attribR    R%   RT   R   R   RE   RB   t   TestCaseR   R   R3   RS   Rc   (    (    (    s.   /home/morph/deb/reportbug/test/test_debbugs.pyt   <module>   s   .1$