a }|g @ s d Z ddlZddlZddlZddlmZ ddlZddlmZ ddlm Z ddl mZ ddl mZ ddl mZ dd l mZ G d d dejZedkreeejd d eg dS )z*Tests for certbot._internal.plugins.manual N)mock) challenges)errors) filesystem)os) acme_util)utilc sh e Zd ZdZ fddZdd Zdd Zdd Zd d Zdd Z dd Z dd Zdd Zdd Z ZS )AuthenticatorTestz9Tests for certbot._internal.plugins.manual.Authenticator.c s t t }| | _| |j tj | _ tj| _tj | _| j | j| jg| _dD ]}ttj| j| qVtjdd d ddtj| jdtj| jdtj| jdtj| jdtj| jdd | _dd lm} || jdd| _d S ) N) config_dirwork_dirZin_progressr Fr r backup_dirtemp_checkpoint_dirZ in_progess) Zhttp01_portmanual_auth_hookmanual_cleanup_hooknoninteractive_modevalidate_hooksr r r r Zin_progress_dir) AuthenticatorZmanual)name)supersetUp test_utilZpatch_display_utilstartmock_get_displayZ addCleanupstopr HTTP01_Ahttp_achallDNS01_A dns_achallZ DNS01_A_2Zdns_achall_2achallsr mkdirr pathjoinZtempdirr Z MagicMockconfigZ certbot._internal.plugins.manualr auth)selfZget_display_patchdr __class__ O/usr/lib/python3.9/site-packages/certbot/_internal/tests/plugins/manual_test.pyr s. zAuthenticatorTest.setUpc C sB d| j _ttj | j W d n1 s40 Y d S NT)r" r pytestraisesr ZPluginErrorr# preparer$ r( r( r) #test_prepare_no_hook_noninteractive0 s z5AuthenticatorTest.test_prepare_no_hook_noninteractivec C sT t jt j| j_d| j_tt j | j W d n1 sF0 Y d S r* ) r r abspathsepr" r r r+ r, r ZHookCommandNotFoundr# r- r. r( r( r) test_prepare_bad_hook5 s z'AuthenticatorTest.test_prepare_bad_hookc C s t | j tsJ d S N) isinstancer# Z more_infostrr. r( r( r) test_more_info; s z AuthenticatorTest.test_more_infoc C s | j dtjtjgksJ d S )Nzexample.org)r# Zget_chall_prefr HTTP01DNS01r. r( r( r) test_get_chall_pref> s z%AuthenticatorTest.test_get_chall_prefc C sz d tj| j_d | jjd| j| jjd dd | j D t| j | j | j d }d | j j| j jd| j | j jd d d | j D t| j | j | j d }| j| j d d | j D ksJ | jj| j d |ksJ | jj| j d |ks J | jjt| j ks&J