a
    “I_º	  ã                   @   s`   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
Z
G dd„ deƒZdS )é    )ÚTestCaseN)ÚCredentials)Únetlogon)ÚNTSTATUSErrorÚntstatusc                       s8   e Zd Z‡ fdd„Z‡ fdd„Zdd„ Zdd„ Z‡  ZS )	ÚNetlogonServiceTestsc                    sœ   t t| ƒ ¡  tjd | _|  ¡ | _tƒ | _	dtjv rfdtjv rf| j	 
tjd ¡ | j	 tjd ¡ n$| j	 
tjd ¡ | j	 tjd ¡ | j	 | j¡ d S )NZSERVERZDC_USERNAMEZDC_PASSWORDZUSERNAMEZPASSWORD)Úsuperr   ÚsetUpÚosÚenvironÚserverZget_loadparmÚlpr   ÚcredsZset_usernameZset_passwordZguess©Úself©Ú	__class__© ú9/usr/lib/python3/dist-packages/samba/tests/netlogonsvc.pyr	   "   s    
zNetlogonServiceTests.setUpc                    s   t t| ƒ ¡  d S )N)r   r   ÚtearDownr   r   r   r   r   3   s    zNetlogonServiceTests.tearDownc              
   C   sj   z|   ¡ }|  |¡ W nN tyd } z6t |jd ¡j}|tjkrN|  	d¡ n‚ W Y d }~n
d }~0 0 d S )Nr   znetlogon service is not running)
Úget_netlogon_connectionZassertIsNotNoner   ÚctypesZc_uint32ÚargsÚvaluer   ZNT_STATUS_OBJECT_NAME_NOT_FOUNDZfail)r   ÚcÚeÚenumr   r   r   Útest_have_netlogon_connection6   s    
z2NetlogonServiceTests.test_have_netlogon_connectionc                 C   s   t   d| j | j| j¡S )Nzncacn_np:%s[seal])r   r   r   r   r   r   r   r   r   D   s    ÿz,NetlogonServiceTests.get_netlogon_connection)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   Ú__classcell__r   r   r   r   r       s   r   )Zsamba.testsr   r
   ZsambaZsamba.credentialsr   Zsamba.dcerpcr   r   r   r   r   r   r   r   r   Ú<module>   s   