U
    ]U                     @   sR   d Z ddlZddlZddlmZ ddlmZ G dd dejZedkrNe	  dS )z@Test for certbot_apache.entrypoint for override class resolution    N)configurator)
entrypointc                   @   s,   e Zd ZdZdZdd Zdd Zdd Zd	S )
EntryPointTestzEntrypoint testsTc              	   C   sd   t dP}tjD ]B}|df}|dkr,d}n|dkr8d}||_| t tj|  qW 5 Q R X d S )Ncertbot.util.get_os_infoZwhateverZ
fedora_old)fedoraZ28r   )r   Z29)mockpatchr   OVERRIDE_CLASSESreturn_valueassertEqualget_configurator)self	mock_infoZdistror
    r   F/usr/lib/python3/dist-packages/certbot_apache/tests/entrypoint_test.pytest_get_configurator   s    

z$EntryPointTest.test_get_configuratorc              
   C   s`   t dL}d|_t d0}tjD ]"}|g|_| t tj|  q$W 5 Q R X W 5 Q R X d S )Nr   ZnonexistentZ
irrelevant certbot.util.get_systemd_os_like)r   r   r
   r   r	   r   r   )r   r   	mock_likeZliker   r   r   test_nonexistent_like   s    

z$EntryPointTest.test_nonexistent_likec              
   C   sP   t d<}d|_t d }dg|_| t tj W 5 Q R X W 5 Q R X d S )Nr   r   r   Zunknonwn)r   r   r
   r   r   r   r   ZApacheConfigurator)r   r   r   r   r   r   test_nonexistent_generic%   s    
z'EntryPointTest.test_nonexistent_genericN)__name__
__module____qualname____doc__Z_multiprocess_can_split_r   r   r   r   r   r   r   r   
   s
   	r   __main__)
r   Zunittestr   Zcertbot_apacher   r   ZTestCaser   r   mainr   r   r   r   <module>   s   $