a
    [Ja
                     @   sp   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ G dd de	ZG d	d
 d
eZdS )zTests for samba.samdb.    N)system_session)	provision)TestCaseInTempDir)DS_DOMAIN_FUNCTION_2008_R2c                       s,   e Zd ZdZ fddZ fddZ  ZS )SamDBTestCasezBase-class for tests with a Sam Database.

    This is used by the Samba SamDB-tests, but e.g. also by the OpenChange
    provisioning tests (which need a Sam).
    c                    sr   t t|   t | _td}d| _d| _d}d}t	|| j| j
| j| j|d|dtd
| _| jj| _| jj| _d S )	NZselftestZdsdbzdsdb.samba.example.comtestz"active directory domain controllerTZSAMBA_INTERNAL)Z	targetdirrealmdomainZhostnameZ	use_ntvfsZ
serverroleZdns_backendZdom_for_fun_level)superr   setUpr   ZsessionloggingZ	getLoggerr	   r   r   tempdirr   resultsamdbZlp)selfZloggerZ	host_nameZserver_role	__class__ 3/usr/lib/python3/dist-packages/samba/tests/samdb.pyr   %   s$    

zSamDBTestCase.setUpc                    sR   dD ]}t t j| j| qdD ]}tt j| j| q$tt| 	  d S )N)z	names.tdb)etczmsg.lockZprivatestatezbind-dns)
osremovepathjoinr   shutilZrmtreer
   r   tearDown)r   fdr   r   r   r   8   s
    zSamDBTestCase.tearDown)__name__
__module____qualname____doc__r   r   __classcell__r   r   r   r   r      s   r   c                   @   s   e Zd Zdd ZdS )
SamDBTestsc                 C   s4   |  | j | j  |  | j | j  d S )N)ZassertEqualr   Zdomain_dns_namer   lowerZdomain_netbios_namer	   upper)r   r   r   r   test_get_domainD   s    zSamDBTests.test_get_domainN)r   r    r!   r'   r   r   r   r   r$   B   s   r$   )r"   r   r   r   Z
samba.authr   Zsamba.provisionr   Zsamba.testsr   Z
samba.dsdbr   r   r$   r   r   r   r   <module>   s   $