U
    ˜­“]Þ  ã                   @   sD   d Z ddlZG dd„ dejƒZG dd„ dejƒZedkr@e ¡  dS )zTests for certbot_apache.obj.é    Nc                   @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )ÚVirtualHostTestzTest the VirtualHost class.c                 C   s”   ddl m} ddl m} | d¡| _| d¡| _| d¡| _|ddt| jgƒd	d	d
ƒ| _|ddt| jgƒd	d	d
ƒ| _	|ddt| jgƒd	d	d
ƒ| _
d S )Nr   ©ÚAddr©ÚVirtualHostú	127.0.0.1ú127.0.0.1:443ú_default_:443ZfilepZvh_pathFZ	localhostÚfpÚvhp)Úcertbot_apache.objr   r   Ú
fromstringÚaddr1Úaddr2Úaddr_defaultÚsetÚvhost1Úvhost1bÚvhost2)Úselfr   r   © r   ú?/usr/lib/python3/dist-packages/certbot_apache/tests/obj_test.pyÚsetUp   s:      
   ÿ  
   ÿ  
   ÿzVirtualHostTest.setUpc                 C   s   |   t| jƒd¡ d S )Nz-certbot_apache.obj.Addr(('127.0.0.1', '443')))ÚassertEqualÚreprr   ©r   r   r   r   Ú	test_repr   s    zVirtualHostTest.test_reprc                 C   sP   |   | j| jk¡ |  | j| jk¡ |  t| jƒt| jƒ¡ |  | jdk¡ d S )NiÒ  )Ú
assertTruer   r   ÚassertFalser   r   Ústrr   r   r   r   Útest_eq   s    zVirtualHostTest.test_eqc                 C   s(   |   | j| jk¡ |  | j| jk¡ d S ©N)r   r   r   r   r   r   r   r   r   Útest_ne"   s    zVirtualHostTest.test_nec                 C   sÂ   ddl m} ddl m} |ddt| d¡| d¡gƒddƒ}|  | | jg¡¡ |  | | jg¡¡ |  	| | j
g¡¡ |  | j | jg¡¡ |  	| j | j
g¡¡ |  	| j | j| j
g¡¡ d S )	Nr   r   r   r
   r   ú*:443z1.2.3.4:443F)r   r   r   r   r   r   Ú	conflictsr   r   r   r   r   r   )r   r   r   Z
complex_vhr   r   r   Útest_conflicts&   s"      ýÿzVirtualHostTest.test_conflictsc                 C   sÒ   ddl m} |ddt| jgƒddd ƒ}|ddt| jgƒddd ƒ}|ddt| jgƒddd ƒ}|ddt| j| jgƒddd ƒ}|  | j | j	¡¡ |  | |¡¡ |  
| j |¡¡ |  
| |¡¡ |  
| |¡¡ d S )Nr   r   r
   r   F)r   r   r   r   r   r   r   r   Zsame_serverr   r   )r   r   Zno_name1Zno_name2Zno_name3Zno_name4r   r   r   Útest_same_server8   sL      
   ÿ  
   ÿ  
  þ    þz VirtualHostTest.test_same_serverN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r"   r%   r&   r   r   r   r   r      s   r   c                   @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )ÚAddrTestzTest obj.Addr.c                 C   sL   ddl m} | d¡| _| d¡| _| d¡| _| d¡| _| d¡| _d S )Nr   r   r#   r   z127.0.0.1:*r   r	   )r   r   r   Úaddrr   r   Úaddr_definedr   ©r   r   r   r   r   r   O   s    zAddrTest.setUpc                 C   s4   |   | j ¡ ¡ |  | j ¡ ¡ |  | j ¡ ¡ d S r!   )r   r,   Zis_wildcardr   r   r   r   r   r   r   Útest_wildcardY   s    zAddrTest.test_wildcardc                 C   s^   ddl m} |  | j d¡| d¡¡ |  | j d¡| d¡¡ |  | j d¡| d¡¡ d S )Nr   r   Z443r#   Z225z*:225r   )r   r   r   r,   Zget_sni_addrr   r   r.   r   r   r   Útest_get_sni_addr^   s    
 ÿ
 ÿ
 ÿzAddrTest.test_get_sni_addrc                 C   sX  |   | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ |  | j | j¡¡ |  | j | j¡¡ |   | j | j¡¡ |  | j | j¡¡ |  | j | j¡¡ |  | j | j¡¡ |  | j | j¡¡ |  | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ |   | j | j¡¡ d S r!   )r   r,   r$   r   r   r-   r   r   r   r   r   r   r%   g   s"    zAddrTest.test_conflictsc                 C   s8   |   | j| jk¡ |  | j| jk¡ |  | jdk¡ d S )Né{   )r   r   r   r   r,   r   r   r   r   Ú
test_equal   s    zAddrTest.test_equalc                 C   s(   |   | j| jk¡ |  | j| jk¡ d S r!   )r   r   r   r   r,   r   r   r   r   Útest_not_equal†   s    zAddrTest.test_not_equalN)
r'   r(   r)   r*   r   r/   r0   r%   r2   r3   r   r   r   r   r+   M   s   
	r+   Ú__main__)r*   ZunittestZTestCaser   r+   r'   Úmainr   r   r   r   Ú<module>   s
   H>