a
    Wa>                     @   sb   d dl 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 Z
G dd dejZdS )	    N)Net)tests)LoadParmc                 C   s(   t jd dkrt| ddS t| dS d S )Nr      ignore)errorsrb)sysversion_infoopen)filename r   6/usr/lib/python3/dist-packages/samba/tests/dckeytab.py
open_bytes   s    r   c                       s0   e Zd Z fddZ fddZdd Z  ZS )DCKeytabTestsc                    sZ   t t|   t | _| j  | j|  d| _t	j
| jdd| _| j | _d S )N)templatezprivate dirztest.keytab)superr   setUpr   lpZload_defaultZinsta_credsZget_credentialsZcredsospathjoingetktfileZget_principal	principalself	__class__r   r   r   $   s    
zDCKeytabTests.setUpc                    s   t t|   t| j d S )N)r   r   tearDownr   remover   r   r   r   r   r   ,   s    zDCKeytabTests.tearDownc                 C   s   t d | j}|j| j| jd tj| js4J dt| j`}d}|	 D ]}|t
jv rL||7 }qL| jd}|d |v r|d |v sJ dW d    n1 s0    Y  d S )N)Zkeytabr   zkeytab was not created @r      z'Principal not found in generated keytab)r   r   Zexport_keytabr   r   r   r   existsr   readstringZ	printablesplit)r   ZnetZbytes_ktresultcZprincipal_partsr   r   r   test_export_keytab0   s    


z DCKeytabTests.test_export_keytab)__name__
__module____qualname__r   r   r*   __classcell__r   r   r   r   r   #   s   r   )r   r	   r&   Z	samba.netr   Zsamba.dckeytabZsambar   Zsamba.paramr   r   ZTestCaser   r   r   r   r   <module>   s   