
    M/e$	                         d Z ddlZ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	m
c mZ  G d dej                        Zedk(  r4 ej                    ej"                  ej$                  d	d egz                yy)
z Tests for new style enhancements    N)mock)null)enhancementsc                   b     e Zd ZdZ fdZ ej                         d        Zd Zd Z	d Z
 xZS )EnhancementTestz@Tests for new style enhancements in certbot.plugins.enhancementsc                 t    t         |           t        j                  t        j
                        | _        y )N)spec)supersetUpr   	MagicMockr   AutoHSTSEnhancementmockinstaller)self	__class__s    S/usr/lib/python3/dist-packages/certbot/_internal/tests/plugins/enhancements_test.pyr   zEnhancementTest.setUp   s#    !^^1Q1QR    c                    ddddddg}t        j                  d|      5  d| j                  _        d| j                  _        t        t        j                  | j                              }d d d        t              dk(  sJ |D cg c]  }|d	   dk(  s| c}sJ |D cg c]  }|d	   dk(  s| c}sJ y # 1 sw Y   PxY wc c}w c c}w )
Nautohsts	auto_hsts)namecli_destsomethingelse	somethingz#certbot.plugins.enhancements._INDEXT   r   )	r   patchconfigr   r   listr   enabled_enhancementslen)r   _	FAKEINDEXenabledis        r   %test_enhancement_enabled_enhancementsz5EnhancementTest.test_enhancement_enabled_enhancements   s     #'
 ('	
	 ZZ=yI 	K$(DKK!$(DKK!<<<T[[IJG	K 7|q   ">aai:&=>>>"Caai?&BCCC	K 	K
 ?Cs$   AB;CC#C1C;Cc                    t        t        t        j                  | j                                    dk(  sJ t        j
                  | j                        rJ d| j                  _        t        t        t        j                  | j                                    dk(  sJ t        j
                  | j                        sJ y )Nr   T   )r   r   r   r   r   are_requestedr   )r   s    r   test_are_requestedz"EnhancementTest.test_are_requested)   s    499$++FGHAMMM--dkk::: $499$++FGHAMMM))$++666r   c                    d| j                   _        t        j                  | j                   d      }t	        j
                  | j                   | j                        sJ t	        j
                  | j                   |      rJ y )NTr   )r   r   r   	Installerr   are_supportedr   )r   unsupporteds     r   test_are_supportedz"EnhancementTest.test_are_supported0   s_     $nnT[[&9))$++t7I7IJJJ--dkk;GGGGr   c                 "   d| j                   _        ddg}d}t        j                  ||| j                  | j                          | j                  j
                  j                  sJ | j                  j
                  j                  d   ||fk(  sJ y )NTzexample.comzwww.example.comlineager   )r   r   r   enabler   enable_autohstscalled	call_args)r   domainsr/   s      r   test_enablezEnhancementTest.test_enable6   s     $ "34GWd.@.@$++N!!118888!!11;;A>"G,- 	- -r   )__name__
__module____qualname____doc__r   	test_utilpatch_display_utilr$   r(   r-   r5   __classcell__)r   s   @r   r   r      s=    JS
 "Y!!#D $D&7H-r   r   __main__r&   )r9   sysunittestr   pytestcertbot._internal.pluginsr   certbot.pluginsr   certbot.tests.utiltestsutilr:   ConfigTestCaser   r6   exitmainargv__file__ r   r   <module>rL      sl    & 
    * ( & &0-i.. 0-f zCHH[V[[!"
234 r   