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: //lib/python3/dist-packages/samba/tests/__pycache__/ntacls_backup.cpython-310.pyc
o

�/aW�@s�dZddlZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZdd	l
mZdd
lmZddlmZGdd
�d
e�ZdS)zTests for samba ntacls backup�N)�libsmb_samba_internal)�smbd)�samdb)�ntacls)�system_session)�system_session_unix)�security)�env_loadparm)�
SmbdBaseTestscsleZdZdZ�fdd�Z�fdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
�ZS)�NtaclsBackupRestoreTestsz.
    Tests for NTACLs backup and restore.
    cs6tt|���tjd|_d|j}d|_tj�tjd|j�|_	tjd|_
|j|��d�|_
tj|t�|j
t�d�|_t�|j���|_t�|j|j
|j�|_|jj|_tj|j|j|j|j
d�|_t�|j|j�|_tj�|jd	�|_ d
did�d
�|_!|�"�|j�#�|j�$|j!�|�%�|j�&�|_'dS)N�SERVERzldap://�test1�
LOCAL_PATH�
SMB_CONF_PATH)�template)�url�session_info�credentials�lp)r�credszntacls-backup.tar.gzs
test file0s
test file1)z	file1.txt�dir2)�	file0.txt�dir1)(�superr�setUp�os�environ�server�service�path�join�service_root�
smb_conf_path�insta_creds�get_credentialsrr�SamDBrr	�
samdb_connr�dom_sid�get_domain_sidr�NtaclsHelper�
ntacls_helperr�libsmb�Conn�smb_conn�	SMBHelper�
smb_helper�tempdir�tarfile_path�tree�_delete_tarfile�delete_tree�create_tree�_check_tree�
get_ntacls�original_ntacls)�self�	samdb_url��	__class__��;/usr/lib/python3/dist-packages/samba/tests/ntacls_backup.pyr'sH
���
�
���
zNtaclsBackupRestoreTests.setUpcs$|��|j��tt|���dS�N)r3r/r4rr�tearDown�r9r;r=r>r@Zs
z!NtaclsBackupRestoreTests.tearDowncCs(z	t�|j�WdStyYdSwr?)r�remover1�OSErrorrAr=r=r>r3_s
�z(NtaclsBackupRestoreTests._delete_tarfilecCs|�tj�|j��dSr?)�
assertTruerr�isfiler1rAr=r=r>�_check_tarfileesz'NtaclsBackupRestoreTests._check_tarfilecCs|j��}|�|j|�dSr?)r/�get_tree�assertDictEqualr2)r9�actual_treer=r=r>r6hs
z$NtaclsBackupRestoreTests._check_treecCsTtj�|jd�}t�|t�|j�t�|�j	}|�
|d@d�|�tj�|��dS)z1
        A smoke test for smbd.mkdir API
        za-dir�i�N)
rrr r!r�mkdirrr�stat�st_mode�assertEqualrD�isdir)r9�dirpath�moder=r=r>�test_smbd_mkdirls
z(NtaclsBackupRestoreTests.test_smbd_mkdircCsxtj�|jd�}t�|t�|j�|�tj�	|��t�
|�j}|�|d@d�t�
|t�|j�|�tj�	|��dS)zG
        A smoke test for smbd.create_file and smbd.unlink API
        za-filerJi�N)rrr r!r�create_filerrrDrErLrMrN�unlink�assertFalse)r9�filepathrQr=r=r>�test_smbd_create_file{sz.NtaclsBackupRestoreTests.test_smbd_create_filecCsld}tj�|j|�}|jj|dd�}|jj|t�ddd�}|jj|t�ddd�}|�	||�|�	||�dS)zC
        Ntacls get from different ways should be the same
        rT)�as_sddlF)rX�direct_db_accessN)
rrr r!r/�get_aclr*�getntaclrrN)r9�	file_name�	file_path�sd0�sd1�sd2r=r=r>�test_compare_getntacl�s
�
�z.NtaclsBackupRestoreTests.test_compare_getntaclcCs^t�|j|j|j�|��|j��t�|j|j	|j
|j�|��|�
|j|j���dS)zI
        Backup service online, delete files, restore and check.
        N)r�
backup_onliner-r1r'rFr/r4�backup_restorer!r&r"r6rHr8r7rAr=r=r>�test_backup_online�s�
��z+NtaclsBackupRestoreTests.test_backup_onlinecCsbt�|j|j|j|j�|��|j��t�	|j|j|j
|j�|��|�|j
|j���dS)zJ
        Backup service offline, delete files, restore and check.
        N)r�backup_offliner!r1r"r'rFr/r4rcr&r6rHr8r7rAr=r=r>�test_backup_offline�s�
��z,NtaclsBackupRestoreTests.test_backup_offline)�__name__�
__module__�__qualname__�__doc__rr@r3rFr6rRrWrardrf�
__classcell__r=r=r;r>r"s3r)rjr�samba.samba3rr+r�sambarr�
samba.authr�samba.auth_utilr�samba.dcerpcr�samba.testsr	�samba.tests.smbd_baser
rr=r=r=r>�<module>s