File: //lib/python3/dist-packages/samba/tests/__pycache__/dsdb.cpython-310.pyc
o
�/a�� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZmZmZ dd lmZ dd
lmZ ddlZddlZddlZG dd
� d
e�ZG dd� de�ZdS )zTests for samba.dsdb.� )�Credentials)�SamDB)�system_session)�TestCase)�delete_force)�
ndr_unpack�ndr_pack)�drsblobs�security�misc)�dsdb)�werrorNc sH e Zd Z� fdd�Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Z 9dNd:d;�Zd<d=� Z d>d?� Z!d@dA� Z"dBdC� Z#dDdE� Z$dFdG� Z%dHdI� Z&dJdK� Z'dLdM� Z(� Z)S )O� DsdbTestsc sR t t| ��� tj�� | _t� | _| j� | j� t
� | _t| j| j| jd�| _
dtt�� jdd� � }t�dd�}d}| j
�� }d| d | | _| j
j|||d � | �t| j
| j� | j
jt�| j
| j
�� �tjd
gd�}t�| j
|d d
d �d��| _| j
j| jtjd
gd�}|d }| �d
|� |d
d �d�}t�| j
|�| _ d S )N)�session_info�credentials�lpz
dsdb-user-r � � zTest user for dsdb testzCN=z
,CN=Users,)�username�password�description�serverReference��base�scope�attrszutf-8�rIDSetReferences)!�superr �setUp�samba�tests�env_loadparmr r �creds�guessr �sessionr �samdb�str�uuid�uuid4�hex�generate_random_password� domain_dn�
account_dn�newuser�
addCleanupr �search�ldb�Dn�get_serverName�
SCOPE_BASE�decode�
server_ref_dn�assertIn�
rid_set_dn)�self� user_name� user_pass�user_description�base_dn�res�rid_set_refs�rid_set_str�� __class__� �2/usr/lib/python3/dist-packages/samba/tests/dsdb.pyr $ sH �
����
�zDsdbTests.setUpc C s | j j|tjg d�d�}|d S )N)�rIDAllocationPool�rIDPreviousAllocationPool�rIDUsedPool�
rIDNextRIDr r )r% r/ r0 r3 )r8 r7 r= rB rB rC �get_rid_setN s
�zDsdbTests.get_rid_setc C s� | j �� zR| �| j�}| �d|� | �d|� | �d|� | �d|� t|d d �}| j �� }| �|d |� | j �� }| �||� | �| j�}| �||� W | j �� d S | j �� w )NrD rE rF rG r � ) r% �transaction_startrH r7 r6 �int�
next_free_rid�assertEqual�transaction_cancel)r8 �orig_rid_set�next_ridrL �next_free_rid2�rid_set2rB rB rC �test_ridalloc_next_free_ridW s
z%DsdbTests.test_ridalloc_next_free_ridc C s | j �� z�d}d}d}d}t�� }| j|_t�g tjd�|d<