HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/samba/tests/__pycache__/dsdb_lock.cpython-310.pyc
o

�/a�.�@sXdZddlmZddlmZddlZddlZddlZddlZddl	Z	Gdd�de�Z
dS)zTests for samba's dsdb modules�)�
SamDBTestCase)�SamDBNc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�DsdbLockTestCasecCs6|j��}t��\}}t��}|dkrV|`t��t|j|j	d�|_|j�
�dt|�}|j�|dd��|j�
|�|j��t�|d�t�d�|j��t�d�|�t�|d�d�t��}|j��}|D]}qkt��}	|�|	|d	�t�|d�\}
}|�|
|�|�t�|��|�t�|�d�dS)
Nr��session_info�lp�cn=test_db_lock_user,cn=users,�user��dn�objectclass�prepared���ffffff�?)�samdb�get_default_basedn�os�pipe�fork�gc�collectr�sessionr�transaction_start�str�add�delete�transaction_prepare_commit�write�time�sleep�transaction_cancel�_exit�assertEqual�read�search_iterator�
assertGreater�waitpid�
assertTrue�	WIFEXITED�WEXITSTATUS)�self�basedn�r1�w1�pidr�start�res�l�end�got_pid�status�r6�7/usr/lib/python3/dist-packages/samba/tests/dsdb_lock.py�
test_db_lock1s@
�
�




zDsdbLockTestCase.test_db_lock1cCs\|j��}t��\}}t��\}}t��}|dkru|`t��t|j|j	d�|_|j�
�}t�|d�t�|d�dkr@t�
d�t�|d�t�|d�d	krSt�
d
�t�|d�t�d
�|D]}q`t�|d�d
krpt�
d�t�
d�|�t�|d�d�|j��t�|d�|�t�|d�d�dt|�}	|j�|	dd��|j�|	�t�|d	�|�t�|d�d�t��}
|j��t��}z<z
|�||
d�Wn�Wt�|d
�|j��t�|d�\}}
|�||�|�t�|
��|�t�|
�d�dSt�|d
�|j��t�|d�\}}
|�||�|�t�|
��|�t�|
�d�w)Nrr�start��started��add��addedr�preparerr
�rr	r
r)rrrrrrrrrrr%rr$r"rr r#rrrrrr&r!r'r(r)r*�r+r,r-r.�r2�w2r/r1r2rr0r3r4r5r6r6r7�
test_db_lock2Rsp
�






�
�
�
zDsdbLockTestCase.test_db_lock2cCs�|j��}t��\}}t��\}}t��}|dkru|`t��t|j|j	d�|_|j�
�}t�|d�t�|d�dkr@t�
d�t�|d�t�|d�d	krSt�
d
�t�|d�t�d
�|D]}q`t�|d�d
krpt�
d�t�
d�|�t�|d�d�|j��t�|d�|�t�|d�d�d}	|j�d|	i�|j�|	�t�|d	�|�t�|d�d�t��}
|j��t��}|�||
d�t�|d
�|j��t�|d�\}}
|�t�|
��|�t�|
�d�|�||�dS)Nrrr9r:r;r<r=r>r?rr@rr
rA�@DSDB_LOCK_TESTrr)rrrrrrrrrrr%rr$r"rr r#rrrrr&r!r'r(r)r*rBr6r6r7�
test_db_lock3�sZ
�






�

zDsdbLockTestCase.test_db_lock3cCst��\}}t��}|dkrA|`t��t�|�}|��|�	ddi�|�
d�|��t�|d�t
�d�|��t�d�|�t�|d�d�t
�
�}|j��}t
�
�}|�||d�|D]}	qbt�|d�\}
}|�|
|�|�t�|��|�t�|�d�dS)NrrrFr
rrr)rrrrrr�ldb�Ldbrrrrrrr r!r"r#r$r%r&r'r(r)r*)r+�backend_pathr-r.r/�	backenddbr0r1r3r2r4r5r6r6r7�_test_full_db_lock1�s2




z$DsdbLockTestCase._test_full_db_lock1cC�>|j��}d|��}tj�d|�}|j�|�}|�|�dS�Nz%s.ldbz	sam.ldb.d)	rr�get_casefoldr�path�joinr�private_pathrL�r+r,�backend_filename�backend_subpathrJr6r6r7�test_full_db_lock1�
�z#DsdbLockTestCase.test_full_db_lock1cCrMrN)	r�get_config_basednrOrrPrQrrRrLrSr6r6r7�test_full_db_lock1_configrWz*DsdbLockTestCase.test_full_db_lock1_configcCsNt��\}}t��\}}t��}|dkrp|`t��t|j|jd�|_|j�	�}t�
|d�t�|d�dkr;t�d�t�
|d�t�|d�d	krNt�d
�t�
|d�t
�d
�|D]}q[t�|d�d
krkt�d�t�d�|`t��t�|�}	|�t�|d�d�|	��t�
|d�|�t�|d�d�|	�ddi�|	�d�t�
|d	�|�t�|d�d�t
�
�}
|	��t
�
�}z;z
|�||
d�Wn�Wt�
|d
�|	��t�|d�\}}
|�||�|�t�|
��|�t�|
�d�dSt�
|d
�|	��t�|d�\}}
|�||�|�t�|
��|�t�|
�d�w)Nrrr9r:r;r<r=r>r?rr@rr
rArrFr)rrrrrrrrrr%rr$r"rr rHrIr#rrrrr&r!r'r(r)r*)r+rJr-r.rCrDr/r1r2rKr0r3r4r5r6r6r7�_test_full_db_lock2sl�







��z$DsdbLockTestCase._test_full_db_lock2cCrMrN)	rrrOrrPrQrrRrZrSr6r6r7�test_full_db_lock2irWz#DsdbLockTestCase.test_full_db_lock2cCrMrN)	rrXrOrrPrQrrRrZrSr6r6r7�test_full_db_lock2_configqrWz*DsdbLockTestCase.test_full_db_lock2_configN)�__name__�
__module__�__qualname__r8rErGrLrVrYrZr[r\r6r6r6r7rs4IE/Jr)�__doc__�samba.tests.samdbr�samba.samdbrrHr�sambarrrr6r6r6r7�<module>s