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

�/a��@s�dZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZddl
mZmZmZmZmZmZmZmZmZmZddlmZmZdd	lmZddlZdd
d�Zdejd
ddfZ Gdd�de�Z!Gdd�de�Z"dS)z0Tests for samba.upgradeprovision that need a DC.�N)�param)�Credentials)�system_session)�
getpolicypath�find_provision_key_parameters)
�	get_paths�get_ldbs�identic_rename�
updateOEMInfo�
getOEMInfo�
update_gpo�delta_update_basesamdb�update_dns_account_password�search_constructed_attrs_stored�&increment_calculated_keyversion_number)�env_loadparm�TestCaseInTempDir)�create_dummy_secretsdbcCsdS�N�)�a�brr�D/usr/lib/python3/dist-packages/samba/tests/upgradeprovisionneeddc.py�dummymessage(srz%s/%s/%s�SELFTEST_PREFIX�ad_dc_ntvfszetc/smb.confc@s eZdZdZdd�Zdd�ZdS)�'UpgradeProvisionBasicLdbHelpersTestCasezISome simple tests for individual functions in the provisioning code.
    cCs6ttdt�}t�}t�}|�|�t||t�|�dSr)rr�
smb_conf_pathrr�guessrr)�self�paths�creds�lprrr�
test_get_ldbs3s

z5UpgradeProvisionBasicLdbHelpersTestCase.test_get_ldbscCs�ttdt�}t�}t�}|�|�d}t||t�|�}t|j	|j
|j|t|�}|�|j
d�|�t|j���|���|�|jd�|�|jd�dS)Nzdc=samba,dc=example,dc=comzSAMBA.EXAMPLE.COM�)rrrrrrrrr�sam�secrets�idmap�assertEqual�realm�str�rootdn�lower�assertNotEquals�policyid_dc�ntdsguid)rr r!r"r+�ldbs�namesrrr�test_find_key_param:s
�z;UpgradeProvisionBasicLdbHelpersTestCase.test_find_key_paramN)�__name__�
__module__�__qualname__�__doc__r#r2rrrrr/srcsxeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
�fdd�Z�ZS)�UpgradeProvisionWithLdbTestCasecCstj�|jd�S)N�sam.ldb)�os�path�join�tempdir�rrrr�_getEmptyDbNameKsz/UpgradeProvisionWithLdbTestCase._getEmptyDbNamecs�tt|���ttdt�}t�|_t�|_	|j�
|j	�||_t||jt
�|j	�|_t|jj|jj|jj|t|j	�|_ttj�|jd��|_dS)N�ref.ldb)�superr7�setUprrrrr!rr"rr rrr0rr%r&r'r1rr9r:r;r<�referencedb)rr ��	__class__rrrANs�
�z%UpgradeProvisionWithLdbTestCase.setUpcCs(t|jj|jjdg�}|�d|v�dS)Nzmsds-KeyVersionNumber)rr0r%r1r+�assertFalse)r�hashAttrrr�$test_search_constructed_attrs_stored\s
�zDUpgradeProvisionWithLdbTestCase.test_search_constructed_attrs_storedcCs�d|jj}i}d||��<t|jj|jj|�|�|jj�|d�d�d||��<t|jj|jj|�|�|jj�|d�d�dS)NzCN=Administrator,CN=Users,%s��
unicodePwd�)r1r+r,rr0r%r(�"get_attribute_replmetadata_version)r�dn�hashrrr�+test_increment_calculated_keyversion_numberbs,������zKUpgradeProvisionWithLdbTestCase.test_increment_calculated_keyversion_numbercCspd}t�|jjd|�}t|jj|�|jjjd|tjdgd�}|�t|�d�|�t	|dd�d|�dS)NzDC=samba,DC=example,DC=comzCN=Guest,CN=Users,%sz(name=Guest)rL)�
expression�base�scope�attrs�r)
�ldb�Dnr0r%r	�search�
SCOPE_SUBTREEr(�lenr*)rr+�guestDN�resrrr�test_identic_renameys� z3UpgradeProvisionWithLdbTestCase.test_identic_renamecCs(|��}t|jj||jt�|jt�dSr)r>r
r �samdbr!rr"r)r�dummysampathrrr�test_delta_update_basesamdb�s

�z;UpgradeProvisionWithLdbTestCase.test_delta_update_basesamdbcCsdt|jj|jj|jj�}t�|�|�t	j
�|��t|j|j
j|j|jt�|�t	j
�|��dSr)rr �sysvolr1�	dnsdomain�policyid�shutil�rmtreerEr9r:�isdirrr0r%r"r�
assertTrue)r�dirrrr�test_update_gpo_simple�s�
z6UpgradeProvisionWithLdbTestCase.test_update_gpo_simplecCs�tj�|jd�}|jj}||j_t�|�t�tj�||jj��t�tj�tj�||jj�d��t	|j|j
j|j|jt
�t�|�||j_dS)N�
testupdategpo�Policies)r9r:r;r<r r_�mkdirr1r`rr0r%r"rrbrc)rr:�saverrr�test_update_gpo_acl�s
�
z3UpgradeProvisionWithLdbTestCase.test_update_gpo_aclcCs:|j�d�}d|�dd�}t|jj|�}|�|d�dS)Nr)�DC=%s�.�, DC=r$)r"�get�replacerr0r%r-)rr)�basedn�oemrrr�test_getOEMInfo�sz/UpgradeProvisionWithLdbTestCase.test_getOEMInfocCst|jj|jj|j�dSr)rr0r%r&r1r=rrr�test_update_dns_account�s�z7UpgradeProvisionWithLdbTestCase.test_update_dns_accountcCst|j�d�}d|�dd�}t|jj|�}t|jj|�t|jj|�}|�t|�t|��|�	t
�dt|���dS)Nr)rmrnroz.*upgrade to.*)r"rprqrr0r%r
r-r*re�re�match)rr)rrrs�oem2rrr�test_updateOEMInfo�sz2UpgradeProvisionWithLdbTestCase.test_updateOEMInfocsBdD]}tj�|j|�}tj�|�rt�|�qtt|���dS)N)r?zsecrets.ldbzsecrets.tdbzsecrets.tdb.bakzsecrets.ntdbr8)	r9r:r;r<�exists�unlinkr@r7�tearDown)r�namer:rCrrr|�s
�z(UpgradeProvisionWithLdbTestCase.tearDown)r3r4r5r>rArGrNr[r^rgrlrtruryr|�
__classcell__rrrCrr7Is
	r7)NN)#r6r9rvrb�sambar�samba.credentialsr�
samba.authr�samba.provisionrr�samba.upgradehelpersrrr	r
rrr
rrr�samba.testsrr�samba.tests.provisionrrTr�environrrr7rrrr�<module>s 0