
Y[c           @   s  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 m
 Z
 d d l m Z d d l m Z d d l m Z d d l m Z d d l j j Z e j j e j d   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 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$ e% d k re j&   n  d S(   s   Test certbot.display.ops.iN(   t   messages(   t   account(   t   errors(   t   util(   t   opss   rsa512_key.pemt   GetEmailTestc           B   s   e  Z d  Z e d    Z e j d  d    Z e j d  d    Z e j d  d    Z	 e j d  d    Z
 e j d  d    Z e j d  d    Z RS(	   s(   Tests for certbot.display.ops.get_email.c         K   s   d d l  m } | |   S(   Ni(   t	   get_email(   t   certbot.display.opsR   (   t   clst   kwargsR   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   _call   s    s   certbot.display.ops.z_utilc         C   sT   |   j  } t j d f | _ |  j t j |  j  |  j t j |  j d t d  S(   Ns   foo@bar.bazt   optional(	   t   inputt   display_utilt   CANCELt   return_valuet   assertRaisesR   t   ErrorR
   t   False(   t   selft   mock_get_utilityt
   mock_input(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_cancel_none!   s    c         C   s\   |   j  } t j d f | _ t j d  ) } t | _ |  j |  j   d k  Wd  QXd  S(   Ns   foo@bar.bazs#   certbot.display.ops.util.safe_email(	   R   R   t   OKR   t   mockt   patcht   Truet
   assertTrueR
   (   R   R   R   t   mock_safe_email(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_ok_safe(   s
    	c         C   sb   |   j  } t j d f | _ t j d  / } t t g | _ |  j	 |  j
   d k  Wd  QXd  S(   Ns   foo@bar.bazs#   certbot.display.ops.util.safe_email(   R   R   R   R   R   R   R   R   t   side_effectR   R
   (   R   R   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_ok_not_safe0   s
    c         C   s   d } |   j  } t j d f | _ t j d  f } t | _ |  j   |  j | | j	 d d k  |  j d t  |  j | | j	 d d k  Wd  QXd  S(   Ns   There seem to be problemss   foo@bar.bazs#   certbot.display.ops.util.safe_emaili    t   invalid(
   R   R   R   R   R   R   R   R
   R   t	   call_args(   R   R   t   invalid_txtR   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_invalid_flag8   s    	
c      	   C   s   |   j  } t j d f | _ t j d  U } t t g | _ |  j	 d t  x, | j
 D]! } |  j d | d d k  qY WWd  QXd  S(   Ns   foo@bar.bazs#   certbot.display.ops.util.safe_emailR   s!   --register-unsafely-without-emaili    (   R   R   R   R   R   R   R   R   R   R
   t   call_args_listR   (   R   R   R   R   t   call(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_optional_flagD   s    c         C   s}   d } |   j  } t j d f | _ t j d  D } t t g | _ |  j	 d t  |  j
 | | j d d k  Wd  QXd  S(   Ns   There seem to be problemss   foo@bar.bazs#   certbot.display.ops.util.safe_emailR    i    (   R   R   R   R   R   R   R   R   R   R
   R   R!   (   R   R   R"   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_optional_invalid_unsafeO   s    (   t   __name__t
   __module__t   __doc__t   classmethodR
   t	   test_utilt   patch_get_utilityR   R   R   R#   R&   R'   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR      s   t   ChooseAccountTestc           B   sn   e  Z d  Z d   Z e d    Z e j d  d    Z e j d  d    Z	 e j d  d    Z
 RS(   s-   Tests for certbot.display.ops.choose_account.c      
   C   s  t  t |   j   t j j t j t j	 t
   t j j |  j d  |  _ t j |  j d  t j d |  j d |  j d d  |  _ t |  _ t j t j d d  d t j j d	 d
   |  j  |  _ t j t j d d  d t j j d	 d d d   |  j  |  _ d  S(   Nt   keysi  t   accounts_dirt   account_keys_dirt   servers   certbot-demo.orgt   urit   bodyt   emails   email1@g.coms   email2@g.comt   phone(   t   superR.   t   setUpt   zopet	   componentt   provideUtilityR   t   FileDisplayt   syst   stdoutR   t   ost   patht   joint   tempdirR1   t   makedirsR   t	   MagicMockt   configt   KEYt   keyR   t   AccountR    t   RegistrationResourcet   Nonet   Registrationt	   from_datat   acc1t   acc2(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR8   \   s     
				c         C   s   t  j |  S(   N(   R   t   choose_account(   R   t   accounts(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
   r   s    s   certbot.display.ops.z_utilc         C   s>   t  j d f |   j _ |  j |  j |  j g  |  j  d  S(   Ni    (   R   R   t   menuR   t   assertEqualR
   RM   (   R   t	   mock_util(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_onev   s    c         C   sD   t  j d f |   j _ |  j |  j |  j |  j g  |  j  d  S(   Ni   (   R   R   RQ   R   RR   R
   RM   RN   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_two{   s    c         C   sD   t  j d f |   j _ |  j |  j |  j |  j g  d  k  d  S(   Ni   (	   R   R   RQ   R   R   R
   RM   RN   RJ   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_cancel   s    (   R(   R)   R*   R8   R+   R
   R,   R-   RT   RU   RV   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR.   Z   s   	t   GenSSLLabURLsc           B   s8   e  Z d  Z d   Z e d    Z d   Z d   Z RS(   sE   Loose test of _gen_ssl_lab_urls. URL can change easily in the future.c         C   s#   t  j j t j t j t   d  S(   N(   R9   R:   R;   R   R<   R=   R>   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR8      s    c         C   s   d d l  m } | |  S(   Ni(   t   _gen_ssl_lab_urls(   R   RX   (   R   t   domainsRX   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
      s    c         C   s   |  j  |  j g   g   d  S(   N(   RR   R
   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt	   test_zero   s    c         C   sG   |  j  d d g  } |  j d | d k  |  j d | d k  d  S(   Ns   eff.orgs	   umich.edui    i   (   R
   R   (   R   t   urls(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRU      s    (   R(   R)   R*   R8   R+   R
   RZ   RU   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRW      s
   		t   GenHttpsNamesTestc           B   sS   e  Z d  Z d   Z e d    Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   s   Test _gen_https_names.c         C   s#   t  j j t j t j t   d  S(   N(   R9   R:   R;   R   R<   R=   R>   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR8      s    c         C   s   d d l  m } | |  S(   Ni(   t   _gen_https_names(   R   R]   (   R   RY   R]   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
      s    c         C   s   |  j  |  j g   d  d  S(   Nt    (   RR   R
   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRZ      s    c         C   sA   d d g } x. | D]& } |  j  |  j | g  d |  q Wd  S(   Ns   example.coms   asllkjsadfljasdf.cs
   https://%s(   RR   R
   (   R   t   domst   dom(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRT      s    	c         C   sR   d d g d d g g } x3 | D]+ } |  j  |  j |  d j d |   q Wd  S(   Ns   foo.bar.orgs   bar.orgs   paypal.google.facebook.live.coms   *.zombo.example.coms%   https://{dom[0]} and https://{dom[1]}R`   (   RR   R
   t   format(   R   t   domains_listR_   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRU      s    	c         C   s8   d d d g } |  j  |  j |  d j d |   d  S(   Ns   a.orgs   b.orgs   c.orgs8   https://{dom[0]}, https://{dom[1]}, and https://{dom[2]}R`   (   RR   R
   Ra   (   R   R_   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt
   test_three   s
    	c         C   sA   d d d d g } d j  d |  } |  j |  j |  |  d  S(   Ns   a.orgs   b.orgs   c.orgs   d.orgsJ   https://{dom[0]}, https://{dom[1]}, https://{dom[2]}, and https://{dom[3]}R`   (   Ra   RR   R
   (   R   R_   t   exp(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt	   test_four   s    		(   R(   R)   R*   R8   R+   R
   RZ   RT   RU   Rc   Re   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR\      s   				
	t   ChooseNamesTestc           B   s  e  Z d  Z d   Z e d d   Z e j d  d    Z	 e
 j d  d    Z e
 j d  d    Z d   Z d	   Z e
 j d  d
    Z e
 j d  d    Z e
 j d  d    Z e
 j d  d    Z d   Z e
 j d  d    Z e
 j d  d    Z RS(   s   Test choose names.c         C   s2   t  j j t j t j t   t j	   |  _
 d  S(   N(   R9   R:   R;   R   R<   R=   R>   R   R   RD   t   mock_install(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR8      s    
c         C   s   d d l  m } | | |  S(   Ni(   t   choose_names(   R   Rh   (   R   t	   installert   questionRh   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
      s    s*   certbot.display.ops._choose_names_manuallyc         C   s$   |  j  d   |  j | j d  d  S(   Ni   (   R
   RJ   RR   t
   call_count(   R   t   mock_manual(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_no_installer   s    s   certbot.display.ops.z_utilc         C   s5   t  j g  f |   j _ |  j |  j d   g   d  S(   N(   R   R   R   R   RR   R
   RJ   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_no_installer_cancel   s    c         C   s   t    |  j   j _ d } t j | f |   j _ |  j |  j  } |  j |   j j	 d  |  j | | g  |  j
 d |   j j d d k  d  S(   Ns   example.comi   s   configuration filesi    (   t   setRg   t   get_all_namesR   R   R   R   R
   RR   Rk   R   R!   (   R   RS   t   domaint   actual_doms(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_no_names_choose   s    c   	      C   s   d d l  m } |  j | g   g   d d d g } |  j | |  d d d g  d } d d d	 d
 g } g  | D] } | | ^ qs } t |  } g  | D] } | | ^ q } |  j | |  |  d  S(   Ni(   t   _sort_namess   ex.coms   zx.coms   ax.coms   .ex.comt   et   at   zt   y(   R   Rt   RR   t   sorted(	   R   Rt   t   some_domainsRq   t   unsorted_shortt   ust   unsorted_longt   sorted_shortt   sorted_long(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_sort_names_trivial   s    c   	      C   s   d d l  m } d d d d g } d d d	 d
 d d g } d	 d d
 d d d g } g  } x0 | D]( } x | D] } | j | |  ql Wq_ Wg  } x6 t |  D]( } x | D] } | j | |  q Wq W|  j | |  |  d  S(   Ni(   Rt   s   .cx.coms   .bx.coms   .ax.coms   .dx.comt   wwws   bnother.long.subdomainRv   s   a.long.subdomainRw   t   b(   R   Rt   t   appendRy   RR   (	   R   Rt   t   unsorted_domainsR{   R~   t   to_sortt   shortRq   t   sortd(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_sort_names_many   s    c         C   su   t  d g  |  j j _ t j d g f |   j _ |  j |  j  } |  j | d g  |  j |   j j	 d  d  S(   Ns   example.comi   (
   Ro   Rg   Rp   R   R   R   t	   checklistR
   RR   Rk   (   R   RS   t   names(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_filter_names_valid_return  s
    c         C   s   t  d g  |  j j _ t j d g f |   j _ |  j |  j d  } |  j | d g  |  j |   j j	 d  |  j |   j j
 d d d  d  S(   Ns   example.comt   Customi   i    (   Ro   Rg   Rp   R   R   R   R   R
   RR   Rk   R!   (   R   RS   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt$   test_filter_namees_override_question  s    c         C   sP   t  d g  |  j j _ t j g  f |   j _ |  j |  j |  j  g   d  S(   Ns   example.com(	   Ro   Rg   Rp   R   R   R   R   RR   R
   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt"   test_filter_names_nothing_selected%  s    c         C   sS   t  d g  |  j j _ t j d g f |   j _ |  j |  j |  j  g   d  S(   Ns   example.com(	   Ro   Rg   Rp   R   R   R   R   RR   R
   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_filter_names_cancel,  s    c         C   s   d d l  m } d d d d d d g } d	 d
 g } d d d g } |  j | |  |  |  j | |  g   |  j t | |   d  d  S(   Ni(   t   get_valid_domainss   example.coms   second.example.coms   also.example.coms   under_score.example.comt   justtlds   *.wildcard.coms   öóòps.nets   uniçodé.coms   úniçøde.comi   (   R   R   RR   t   len(   R   R   t	   all_validt   all_invalidt	   two_valid(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_get_valid_domains4  s    c      
   C   s   d d l  m } |   } t | j _ t j d f | j _ |  j |   g   t	 j
 d  ; } t d d d d d  } | | _ |  j |   g   Wd  QXt j d	 f | j _ |  j |   d
 d d d g  d  S(   Ni(   t   _choose_names_manuallys   uniçodé.coms4   certbot.display.ops.display_util.separate_list_inputR   u    i    i   s=   example.com,under_score.example.com,justtld,valid.example.coms   example.coms   under_score.example.comR   s   valid.example.com(   R   R   R   t   yesnoR   R   R   R   RR   R   R   t   UnicodeEncodeErrorR   (   R   RS   R   t   utility_mockt   mock_slit   unicode_error(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_choose_manually?  s"    			c         C   sd   d d l  m } |   } t j d f | j _ t t t g | j _	 |   |  j
 | j j d  d  S(   Ni(   R   s   uniçodé.comi   (   R   R   R   R   R   R   R   R   R   R   RR   Rk   (   R   RS   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_choose_manually_retryZ  s    	N(   R(   R)   R*   R8   R+   RJ   R
   R   R   Rm   R,   R-   Rn   Rs   R   R   R   R   R   R   R   R   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyRf      s    						t   SuccessInstallationTestc           B   s5   e  Z d  Z e d    Z e j d  d    Z RS(   s&   Test the success installation message.c         C   s   d d l  m } | |  d  S(   Ni(   t   success_installation(   R   R   (   R   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
   i  s    s   certbot.display.ops.z_utilc         C   s   d  |   j _ d d g } |  j |  |  j |   j j d  |   j j d d d } x! | D] } |  j | | k  qc Wd  S(   Ns   example.coms   abc.comi   i    (   RJ   t   notificationR   R
   RR   Rk   R$   R   (   R   RS   R   t   argt   name(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_success_installationn  s    (   R(   R)   R*   R+   R
   R,   R-   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR   f  s   t   SuccessRenewalTestc           B   s5   e  Z d  Z e d    Z e j d  d    Z RS(   s!   Test the success renewal message.c         C   s   d d l  m } | |  d  S(   Ni(   t   success_renewal(   R   R   (   R   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
     s    s   certbot.display.ops.z_utilc         C   s   d  |   j _ d d g } |  j |  |  j |   j j d  |   j j d d d } x! | D] } |  j | | k  qc Wd  S(   Ns   example.coms   abc.comi   i    (   RJ   R   R   R
   RR   Rk   R$   R   (   R   RS   R   R   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_success_renewal  s    (   R(   R)   R*   R+   R
   R,   R-   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR   |  s   t   SuccessRevocationTestc           B   s5   e  Z d  Z e d    Z e j d  d    Z RS(   s$   Test the success revocation message.c         C   s   d d l  m } | |  d  S(   Ni(   t   success_revocation(   R   R   (   R   R@   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
     s    s   certbot.display.ops.z_utilc         C   sr   d  |   j _ d } |  j |  |   j j d j | t j  d t |  j	 | |   j j
 d d k  d  S(   Ns   /path/to/cert.pems\   Congratulations! You have successfully revoked the certificate that was located at {0}{1}{1}t   pausei    (   RJ   R   R   R
   t   assert_called_once_withRa   R?   t   linesepR   R   R!   (   R   RS   R@   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_success_revocation  s    (   R(   R)   R*   R+   R
   R,   R-   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR     s   t   ValidatorTestsc           B   s   e  Z d  Z d Z d Z d Z e d    Z e j	   d    Z
 e j	   d    Z e j	   d    Z e j	   d    Z e j	   d	    Z e j	   d
    Z e j	   d    Z RS(   s6   Tests for `validated_input` and `validated_directory`.s   Must be non-emptyt   asdfs   /var/www/htmlc         C   s%   |  d k r! t  j t j   n  d  S(   NR^   (   R   t   PluginErrorR   t   _ValidatorTests__ERROR(   t   m(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   __validator  s    c         C   s   t  j d f t  j d f t  j d f t  j |  j f g |   j _ t j |  j d d t } |  j	 t
 j |   j j d d  |  j	 | t  j |  j f  d  S(   NR^   t   messaget   force_interactivei    (   R   R   t   valid_inputR   R   R   t   validated_inputt   _ValidatorTests__validatorR   RR   R   R   R   R!   (   R   RS   t   returned(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_input_blank_with_validator  s    $c         C   sY   t  j |  j f g |   j _ t j |  j d d d } |  j | t  j |  j f  d  S(   Nt   msgt   defaultt   other(	   R   R   R   R   R   R   R   R   RR   (   R   RS   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt"   test_input_validation_with_default  s    c         C   sD   t  j |  j f g |   j _ |  j t t j |  j	 d d d d  S(   NR   R   R^   (
   R   R   R   R   R   R   t   AssertionErrorR   R   R   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt&   test_input_validation_with_bad_default  s    	c         C   sS   t  j d f g |   j _ t j |  j d d t \ } } |  j | t  j  d  S(   NR^   R   R   (	   R   R   R   R   R   R   R   R   RR   (   R   RS   t   codet
   unused_raw(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt    test_input_cancel_with_validator  s    !c         C   s   t  j d f t  j |  j f g |   j _ t j |  j d d t } |  j	 t
 j |   j j d d  |  j	 | t  j |  j f  d  S(   NR^   R   R   i    (   R   R   t   valid_directoryt   directory_selectR   R   t   validated_directoryR   R   RR   R   R   R   R!   (   R   RS   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt    test_directory_select_validation  s
    $c         C   sY   t  j |  j f g |   j _ t j |  j d d d } |  j | t  j |  j f  d  S(   NR   R   R   (	   R   R   R   R   R   R   R   R   RR   (   R   RS   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt-   test_directory_select_validation_with_default  s    c         C   sD   t  j |  j f g |   j _ |  j t t j |  j	 d d d d  S(   NR   R   R^   (
   R   R   R   R   R   R   R   R   R   R   (   R   RS   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt1   test_directory_select_validation_with_bad_default  s    	(   R(   R)   R*   R   R   R   t   staticmethodR   R,   R-   R   R   R   R   R   R   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR     s   	t   ChooseValuesTestc           B   se   e  Z d  Z e d    Z e j d  d    Z e j d  d    Z e j d  d    Z	 RS(   s   Test choose_values.c         C   s   d d l  m } | | |  S(   Ni(   t   choose_values(   R   R   (   R   t   valuesRj   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR
     s    s   certbot.display.ops.z_utilc         C   s   d d d g } t  j | d g f |   j _ |  j | d   } |  j | | d g  |  j |   j j  |  j |   j j	 d d d   d  S(   Nt   firstt   secondt   thirdi   i    (
   R   R   R   R   R
   RJ   t   assertEqualsR   t   calledR!   (   R   RS   t   itemst   result(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_choose_names_success  s    c         C   s   d d d g } d } t  j | d g f |   j _ |  j | |  } |  j | | d g  |  j |   j j  |  j |   j j d d |  d  S(   NR   R   R   s
   Which one?i   i    (	   R   R   R   R   R
   R   R   R   R!   (   R   RS   R   Rj   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt"   test_choose_names_success_question  s    c         C   s   d d d g } d } t  j g  f |   j _ |  j | |  } |  j | g   |  j |   j j  |  j |   j j d d |  d  S(   NR   R   R   s   Want to cancel?i    (	   R   R   R   R   R
   R   R   R   R!   (   R   RS   R   Rj   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   test_choose_names_user_cancel  s    (
   R(   R)   R*   R+   R
   R,   R-   R   R   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyR     s
   	
t   __main__('   R*   R?   R=   t   unittestt   josepyt   joseR   t   zope.componentR9   t   acmeR    t   certbotR   R   t   certbot.displayR   R   R   t   certbot.tests.utilt   testsR,   t   JWKRSAt   loadt   load_vectorRF   t   TestCaseR   t   TempDirTestCaseR.   RW   R\   Rf   R   R   R   R   R   R(   t   main(    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/display/ops_test.pyt   <module>   s2   A,0G%