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

�/a��@s�dZddlZddlmZmZmZmZddlmZddl	m
Z
ddlmZddl
mZddlmZddlZ
dd	lmZdd
d�ZGdd
�d
e�ZGdd�de
jj�ZdS)z!Tests for samba.upgradeprovision.�N)�usn_in_range�dn_sort�update_secrets�construct_existor_expr)�get_diff_sds)�create_dummy_secretsdb)�TestCaseInTempDir)�Ldb)�
SCOPE_BASE)�securitycCsdS�N�)�a�br
r
�>/usr/lib/python3/dist-packages/samba/tests/upgradeprovision.py�dummymessage!src@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�UpgradeProvisionTestCasezISome simple tests for individual functions in the provisioning code.
    cCsPgd�}gd�}|D]
}|�t||��q
gd�}|D]
}|�t||��qdS)N)���#�7)���8)r�rr�$)�assertFalser�
assertTrue)�self�range�vals�vr
r
r�test_usn_in_range(s�z*UpgradeProvisionTestCase.test_usn_in_rangecCsL|�tdd�d�|�tdd�d�|�tdd�d�|�td	d
�d�dS)Nzdc=tata,dc=totozdc=toto�zdc=zatazdc=tatazdc=toto,dc=tatazcn=foo,dc=toto,dc=tata���zcn=bar, dc=toto,dc=tatazcn=foo, dc=toto,dc=tata)�assertEqualr�rr
r
r�test_dn_sort5s����z%UpgradeProvisionTestCase.test_dn_sortcCs.t�d�}d}d}d}d}d}d}d}|�ttj�||�tj�||�|�d�ttj�||�tj�||�|�}	|�|	d	�ttj�||�tj�||�|�}	|�|	d
�ttj�||�tj�||�|�}	d}
|�|	|
�ttj�||�tj�||�|�}	|�|	d�|�ttj�||�tj�||�|�d�dS)
NzS-1-5-21z|O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)z|O:BAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)z|O:SAG:BAD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)z|O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;BA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)zgO:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)z�O:SAG:DUD:AI(A;CIID;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CIID;RP LCLORC;;;AU)(A;CIID;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)(A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)(AU;CIIDSA;WP;;;WD)�z,	Owner mismatch: SA (in ref) BA(in current)
z,	Group mismatch: DU (in ref) BA(in current)
z�	Part dacl is different between reference and current here is the detail:
		(A;CI;RPWPCRCCLCLORCWOWDSW;;;BA) ACE is not present in the reference
		(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA) ACE is not present in the current
z 	Current ACL hasn't a sacl part
)r�dom_sidr%r�
descriptor�	from_sddl)r�domsid�sddl�sddl1�sddl2�sddl3�sddl4�sddl5�sddl6�txt�txtmsgr
r
r�test_get_diff_sds@sR
��������z*UpgradeProvisionTestCase.test_get_diff_sdscCsFtg�}|�|d�tdg�}|�|d�tddg�}|�|d�dS)Nr(�fooz
(|(foo=*))�barz(|(foo=*)(bar=*)))rr%)r�resr
r
r�test_construct_existor_exprps
z4UpgradeProvisionTestCase.test_construct_existor_exprN)�__name__�
__module__�__qualname__�__doc__r"r'r6r:r
r
r
rr%s
0rcsHeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�fdd�Z�Z	S)
�UpdateSecretsTestscs(tt|���ttj�|jd��|_dS)N�ref.ldb)	�superr?�setUpr�os�path�join�tempdir�referencedbr&��	__class__r
rrB}s
�zUpdateSecretsTests.setUpcC�ttj�|jd��S�N�secrets.ldb)r	rCrDrErFr&r
r
r�_getEmptyDb�szUpdateSecretsTests._getEmptyDbcCrJrK)rrCrDrErFr&r
r
r�_getCurrentFormatDb�s�z&UpdateSecretsTests._getCurrentFormatDbcCs&|��|_|�dt|j|jt��dSr)rN�	secretsdbr%rrGrr&r
r
r�test_trivial�s
�zUpdateSecretsTests.test_trivialcCsH|��}t|j|t�|jdtd�}|jjdtd�}|�|j|j�dS)Nz@MODULES)�base�scope)rMrrGr�searchr
r%�msgs)r�empty_db�
newmodules�
refmodulesr
r
r�test_update_modules�s
z&UpdateSecretsTests.test_update_modulescsBdD]}tj�|j|�}tj�|�rt�|�qtt|���dS)N)r@rLzsecrets.tdbzsecrets.tdb.bakzsecrets.ntdb)	rCrDrErF�exists�unlinkrAr?�tearDown)r�namerDrHr
rr[�s
�zUpdateSecretsTests.tearDown)
r;r<r=rBrMrNrPrXr[�
__classcell__r
r
rHrr?{sr?)NN)r>rC�samba.upgradehelpersrrrr�samba.descriptorr�samba.tests.provisionr�samba.testsr�sambar	�ldbr
�samba.dcerpcrrr�testsr?r
r
r
r�<module>s
V