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__/libsmb.cpython-310.pyc
o

�/a�@s�dZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZddl
mZddlZddlZddlZddlZddlZGd	d
�d
ejj�ZedkrTddlZe��dSdS)zTests for samba.samba3.libsmb.�)�libsmb_samba_internal)�security)�param)�credentials�
NTSTATUSError)�NT_STATUS_DELETE_PENDING)�SMB_ENCRYPTION_REQUIREDNc@sFeZdZGdd�dej�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
S)�LibsmbTestCasec@seZdZdd�Zdd�ZdS)zLibsmbTestCase.OpenClosecCs(tj�|�||_||_||_d|_dS)NF)�	threading�Thread�__init__�conn�filename�num_ops�exc)�selfr
rr�r�4/usr/lib/python3/dist-packages/samba/tests/libsmb.pyr%s

z!LibsmbTestCase.OpenClose.__init__cCsf|j}z t|j�D]}|j|jdtjd�}|�|d�|�|�q	WdSt	y2t
��|_YdSw)N�)�CreateDisposition�
DesiredAccessT)
r
�ranger�createrr�SEC_STD_DELETE�delete_on_close�close�	Exception�sys�exc_infor)r�c�i�frrr�run,s
���zLibsmbTestCase.OpenClose.runN)�__name__�
__module__�__qualname__rr"rrrr�	OpenClose#sr&cCsRt��}|�t�d��t��}|�|�|�t�d��|�	t�d��||fS)N�
SMB_CONF_PATH�USERNAME�PASSWORD)
�s3param�get_context�load�os�getenvr�Credentials�guess�set_username�set_password)r�lp�credsrrr�
prep_creds7s
zLibsmbTestCase.prep_credscCs�|��\}}tjt�d�d||ddd�}g}td�D]}t�|dt|�d�}|�	|�q|D]}|�
�q/|D]}|��|jrK|jd|jd	��q8dS)
N�	SERVER_IP�tmpT)�multi_threaded�
force_smb1r�test�
r�)
r5�libsmb�Connr-r.rr	r&�str�append�start�joinr)rr3r4r�	mythreadsr �trrr�test_OpenCloseBs"�
��zLibsmbTestCase.test_OpenClosecCsTdt�dd�}|��\}}|�t�t�t�d�d||�}|�	|�|�
|�dS)N�
testing_%dr�r6r7��random�randintr5�set_smb_encryptionrr=r>r-r.�mkdir�rmdir�r�test_dirr3r4rrrr�test_SMB3EncryptionRequiredWs
�
z*LibsmbTestCase.test_SMB3EncryptionRequiredcCsXdt�dd�}|��\}}|�t�tjt�d�d||dd�}|�	|�|�
|�dS)NrFrrGr6r7T)r9rHrNrrr�test_SMB1EncryptionRequiredcs
�
z*LibsmbTestCase.test_SMB1EncryptionRequiredcCs|��\}}d}t�t�d�d||�}t�t�d�d||�}z|�|�WnY|�|�|j|tj	d�}|�
|d�|�dd�|�t
��}|�d|d�Wd�n1s[wY|jjd	tkrltd
��|�
|d	�|�|�z
|�|�|�d�WdSYdS)Nz\dst-subdirr6r7)rr<z\src.txtsContentz\dst.txtrz$Rename must fail with DELETE_PENDING)r5r=r>r-r.�deltreerLrrrr�savefile�assertRaisesr�rename�	exception�argsr�AssertionErrorr�unlink)rr3r4�dstdir�c1�c2�dnum�cmrrr�test_RenameDstDelOnCloseos0
�

z'LibsmbTestCase.test_RenameDstDelOnCloseN)r#r$r%r
rr&r5rErPrQr_rrrrr	!sr	�__main__)�__doc__�samba.samba3rr=�samba.dcerpcrrr*�sambarr�samba.ntstatusr�samba.credentialsr�samba.testsr
rr-rI�tests�TestCaser	r#�unittest�mainrrrr�<module>s"n�