ó
Y[c           @   s   d  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 e	 j
 f d „  ƒ  YZ e d k rŒ e j ƒ  n  d S(	   s    Tests for certbot.configuration.iÿÿÿÿN(   t	   constants(   t   errors(   t   utilt   NamespaceConfigTestc           B   s†   e  Z d  Z d „  Z d „  Z d „  Z d „  Z e j d ƒ d „  ƒ Z	 d „  Z
 e j d ƒ d „  ƒ Z d	 „  Z d
 „  Z d „  Z RS(   s0   Tests for certbot.configuration.NamespaceConfig.c         C   sG   t  t |  ƒ j ƒ  d |  j _ d |  j _ d |  j _ d |  j _ d  S(   Nt   bars   https://acme-server.org:443/newiÒ  iá  (   t   superR   t   setUpt   configt   foot   servert   tls_sni_01_portt   http01_port(   t   self(    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyR      s
    c         C   s?   d |  j  j _ d d l m } |  j t j | |  j  j ƒ d  S(   Niá  iÿÿÿÿ(   t   NamespaceConfig(   R   t	   namespaceR
   t   certbot.configurationR   t   assertRaisesR   t   Error(   R   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_init_same_ports   s    c         C   sB   |  j  |  j j d ƒ |  j  |  j j t j j |  j d ƒ ƒ d  S(   NR   t   work(   t   assertEqualR   R   t   work_dirt   ost   patht   joint   tempdir(   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_proxy_getattr   s    c         C   sr   |  j  d d g |  j j j t j j ƒ ƒ d |  j j _ |  j  d d d d d g |  j j j t j j ƒ ƒ d  S(	   Ns   acme-server.org:443t   newsB   http://user:pass@acme.server:443/p/a/t/h;parameters?query#fragments   user:pass@acme.server:443t   pt   at   tt   h(	   R   R   t   server_patht   splitR   R   t   sepR   R	   (   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_server_path   s
    s   certbot.configuration.constantsc         C   s<  d | _  d | _ d | _ d | _ d | _ d | _ |  j |  j j t	 j
 j |  j j d ƒ ƒ |  j |  j j t	 j
 j |  j j d ƒ ƒ |  j |  j j t	 j
 j |  j j d ƒ ƒ |  j |  j j t	 j
 j |  j j d ƒ ƒ |  j |  j j t	 j
 j |  j j d ƒ ƒ |  j |  j j t	 j
 j |  j j d ƒ ƒ d  S(   Nt   acct   backupst   csrs   ../pt   keysR   s   acc/acme-server.org:443/new(   t   ACCOUNTS_DIRt
   BACKUP_DIRt   CSR_DIRt   IN_PROGRESS_DIRt   KEY_DIRt   TEMP_CHECKPOINT_DIRR   R   t   accounts_dirR   R   R   t
   config_dirt
   backup_dirR   t   csr_dirt   in_progress_dirt   key_dirt   temp_checkpoint_dir(   R   t   mock_constants(    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_dynamic_dirs(   s&    						%%%%c      	   C   s÷  d d l  m } d } d } d } d } t j d d d	 d
 d d d d g ƒ } | | _ | | _ | | _ | | _ | | ƒ } |  j t	 j
 j | j ƒ ƒ |  j | j t	 j
 j t	 j ƒ  | ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j | j t	 j
 j t	 j ƒ  | ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j | j t	 j
 j t	 j ƒ  | ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j t	 j
 j | j ƒ ƒ |  j t	 j
 j | j ƒ ƒ d  S(   Niÿÿÿÿ(   R   R   R   t   bazs   mock.servert   specR/   R   t   logs_dirR   R
   t   domainsR	   (   R   R   t   mockt	   MagicMockR/   R   R9   R	   t
   assertTrueR   R   t   isabsR   R   t   getcwdR.   R0   R1   R2   R3   R4   (   R   R   t   config_baset	   work_baset	   logs_baseR	   t   mock_namespaceR   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_absolute_paths@   s:    				c         C   s    d | _  d | _ d | _ |  j |  j j t j j |  j j	 d ƒ ƒ |  j |  j j
 t j j |  j j	 d ƒ ƒ |  j |  j j t j j |  j j	 d ƒ ƒ d  S(   NR   t   lt   renewal_configs(   t   ARCHIVE_DIRt   LIVE_DIRt   RENEWAL_CONFIGS_DIRR   R   t   default_archive_dirR   R   R   R/   t   live_dirt   renewal_configs_dir(   R   R5   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_renewal_dynamic_dirsb   s    			%%c      	   C   sÈ   d d l  m } d } d } d } t j d d d d	 d
 d d d g ƒ } | | _ | | _ | | _ | | ƒ } |  j t j	 j
 | j ƒ ƒ |  j t j	 j
 | j ƒ ƒ |  j t j	 j
 | j ƒ ƒ d  S(   Niÿÿÿÿ(   R   R   R   R7   R8   R/   R   R9   R   R
   R:   R	   (   R   R   R;   R<   R/   R   R9   R=   R   R   R>   RJ   RK   RL   (   R   R   R@   RA   RB   RC   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_renewal_absolute_pathsp   s    			c         C   sN   d |  j  _ |  j |  j  j j d ƒ d |  j  j _ |  j |  j  j d ƒ d  S(   Ni*   i9  (   R   R   R   R   R   (   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_get_and_set_attr„   s    c         C   s¼   |  j  |  j j t j j |  j j t j ƒ ƒ |  j  |  j j	 t j j |  j j t j
 ƒ ƒ |  j  |  j j t j j |  j j t j ƒ ƒ |  j  |  j j t j j |  j j t j ƒ ƒ d  S(   N(   R   R   t   renewal_hooks_dirR   R   R   R/   R    t   RENEWAL_HOOKS_DIRt   renewal_pre_hooks_dirt   RENEWAL_PRE_HOOKS_DIRt   renewal_deploy_hooks_dirt   RENEWAL_DEPLOY_HOOKS_DIRt   renewal_post_hooks_dirt   RENEWAL_POST_HOOKS_DIR(   R   (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   test_hook_directoriesŠ   s    (   t   __name__t
   __module__t   __doc__R   R   R   R#   R;   t   patchR6   RD   RM   RN   RO   RX   (    (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyR      s   						"		t   __main__(   R[   R   t   unittestR;   t   certbotR    R   t   certbot.testsR   t	   test_utilt   ConfigTestCaseR   RY   t   main(    (    (    sD   /usr/lib/python2.7/dist-packages/certbot/tests/configuration_test.pyt   <module>   s   