ó
Y[c           @   s†   d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l j j Z	 d e	 j
 f d „  ƒ  YZ e d k r‚ e j ƒ  n  d S(   s    Tests for new style enhancementsiÿÿÿÿN(   t   enhancements(   t   nullt   EnhancementTestc           B   sG   e  Z d  Z d „  Z e j ƒ  d „  ƒ Z d „  Z d „  Z d „  Z	 RS(   s@   Tests for new style enhancements in certbot.plugins.enhancementsc         C   s/   t  t |  ƒ j ƒ  t j d t j ƒ |  _ d  S(   Nt   spec(   t   superR   t   setUpt   mockt	   MagicMockR    t   AutoHSTSEnhancementt   mockinstaller(   t   self(    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyR      s    c         C   së   i d d 6d d 6i d d 6d d 6g } t  j d | ƒ 5 t |  j _ t |  j _ t t j |  j ƒ ƒ } Wd  QX|  j	 t
 | ƒ d ƒ |  j g  | D] } | d d k r” | ^ q” ƒ |  j g  | D] } | d d k rÄ | ^ qÄ ƒ d  S(	   Nt   autohstst   namet	   auto_hstst   cli_destt   somethingelset	   somethings#   certbot.plugins.enhancements._INDEXi   (   R   t   patcht   Truet   configR   R   t   listR    t   enabled_enhancementst   assertEqualt   lent
   assertTrue(   R
   t   _t	   FAKEINDEXt   enabledt   i(    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyt%   test_enhancement_enabled_enhancements   s    0c         C   s¬   |  j  t g  t j |  j ƒ D] } | ^ q ƒ d ƒ |  j t j |  j ƒ ƒ t |  j _ |  j  t g  t j |  j ƒ D] } | ^ qv ƒ d ƒ |  j	 t j |  j ƒ ƒ d  S(   Ni    i   (
   t   assertEqualsR   R    R   R   t   assertFalset   are_requestedR   R   R   (   R
   R   (    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyt   test_are_requested'   s    //c         C   s`   t  |  j _ t j |  j d ƒ } |  j t j |  j |  j ƒ ƒ |  j	 t j |  j | ƒ ƒ d  S(   NR   (
   R   R   R   R   t	   InstallerR   R    t   are_supportedR	   R   (   R
   t   unsupported(    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyt   test_are_supported0   s    c         C   sw   t  |  j _ d d g } d } t j | | |  j |  j ƒ |  j |  j j j ƒ |  j	 |  j j j
 d | | f ƒ d  S(   Ns   example.coms   www.example.comt   lineagei    (   R   R   R   R    t   enableR	   R   t   enable_autohstst   calledR   t	   call_args(   R
   t   domainsR&   (    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyt   test_enable6   s    (
   t   __name__t
   __module__t   __doc__R   t	   test_utilt   patch_get_utilityR   R!   R%   R,   (    (    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyR      s   				t   __main__(   R/   t   unittestR   t   certbot.pluginsR    R   t   certbot.tests.utilt   testst   utilR0   t   ConfigTestCaseR   R-   t   main(    (    (    sE   /usr/lib/python2.7/dist-packages/certbot/plugins/enhancements_test.pyt   <module>   s   5