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

�/a���@s�dZddlmZddlmZddlmZddlmZddlm	Z	ddl
mZmZddl
mZmZmZdd	lmZdd
lmZddlZddlZddlZGdd
�d
e�ZGdd�de�ZdS)zTests for samba.dsdb.�)�Credentials)�SamDB)�system_session)�TestCase)�delete_force)�
ndr_unpack�ndr_pack)�drsblobs�security�misc)�dsdb)�werrorNcsHeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z	9dNd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%dHdI�Z&dJdK�Z'dLdM�Z(�Z)S)O�	DsdbTestscsRtt|���tj��|_t�|_|j�	|j�t
�|_t|j|j|jd�|_
dtt��jdd��}t�dd�}d}|j
��}d|d||_|j
j|||d	�|�t|j
|j�|j
jt�|j
|j
���tjd
gd�}t�|j
|dd
d�d��|_|j
j|jtjd
gd�}|d}|�d
|�|d
d�d�}t�|j
|�|_ dS)N)�session_info�credentials�lpz
dsdb-user-r�� zTest user for dsdb testzCN=z
,CN=Users,)�username�password�description�serverReference��base�scope�attrszutf-8�rIDSetReferences)!�superr�setUp�samba�tests�env_loadparmrr�creds�guessr�sessionr�samdb�str�uuid�uuid4�hex�generate_random_password�	domain_dn�
account_dn�newuser�
addCleanupr�search�ldb�Dn�get_serverName�
SCOPE_BASE�decode�
server_ref_dn�assertIn�
rid_set_dn)�self�	user_name�	user_pass�user_description�base_dn�res�rid_set_refs�rid_set_str��	__class__��2/usr/lib/python3/dist-packages/samba/tests/dsdb.pyr$sH�
����
�zDsdbTests.setUpcCs |jj|tjgd�d�}|dS)N)�rIDAllocationPool�rIDPreviousAllocationPool�rIDUsedPool�
rIDNextRIDrr)r%r/r0r3)r8r7r=rBrBrC�get_rid_setNs
�zDsdbTests.get_rid_setcCs�|j��zR|�|j�}|�d|�|�d|�|�d|�|�d|�t|dd�}|j��}|�|d|�|j��}|�||�|�|j�}|�||�W|j��dS|j��w)NrDrErFrGr�)	r%�transaction_startrHr7r6�int�
next_free_rid�assertEqual�transaction_cancel)r8�orig_rid_set�next_ridrL�next_free_rid2�rid_set2rBrBrC�test_ridalloc_next_free_ridWs


z%DsdbTests.test_ridalloc_next_free_ridcCs|j��z�d}d}d}d}t��}|j|_t�gtjd�|d<t�t|d>|B�tj	d�|d<t�t|d>|B�tj	d�|d<|j�
|�|j��}|�||�|j�
�}|�||�|j��}|�|d	|�|j��\}	}
|�|d	|	�|�||
�W|j��dS|j��w)
Ni�i�i�i�rGrrErDrI)r%rJr0�Messager7�dn�MessageElement�FLAG_MOD_DELETEr&�FLAG_MOD_REPLACE�modifyrLrM�allocate_rid�free_rid_boundsrN)r8�prev_lo�prev_hi�next_lo�next_hi�msg�next_free_rid3�rid�next_free_rid4�free_lo�free_hirBrBrC�test_ridalloc_no_ridnextridssB
�����


z%DsdbTests.test_ridalloc_no_ridnextridcCs�|j��zpd}d}t��}|j|_t�t|d>|B�tjd�|d<t�t|d>|B�tjd�|d<t�t|�tjd�|d<|j�	|�|�
tj��
}|j��Wd�n1sZwY|�
d|jjd�|j��W|j��dS|j��w)	N���rrErDrG�RID pools out of RIDsrI)r%rJr0rTr7rUrVr&rXrY�assertRaises�LdbErrorrLrM�	exception�argsrZrN)r8�pool_lo�pool_hir`�errrBrBrC�test_ridalloc_no_free_rids�s8
����
���z$DsdbTests.test_ridalloc_no_free_ridscCsJ|j��z�t��}|j|_t�dtjd�|d<t�dtjd�|d<t�dtjd�|d<|j�|�|�	tj
��
}|j��Wd�n1sHwY|�d|j
jd�d}d}t��}|j|_t�t|d	>|B�tjd�|d<|j�|�|j��}|�||�|j��\}}|�||�|�||�W|j��dS|j��w)
N�0rErDrGrirIrgrhr)r%rJr0rTr7rUrVrXrYrjrkrLrMrlrmr&r[rN)r8r`rprnro�next_free_rid5rdrerBrBrC�test_ridalloc_new_ridset�sP
���������
z"DsdbTests.test_ridalloc_new_ridsetcCsT|j��z�d}d}d}d}t��}|j|_t�t|d>|B�tjd�|d<t�t|d>|B�tjd�|d<t�t|d�tjd	�|d	<|j�	|�|j�
�}|�||�|j��\}}|�||�|�||�|j�
�}	|�||	�|j�
�}
|�||
�|j��\}}|�||�|�||�|j�
�}
|�|
|
�W|j��dS|j��w)
Nrgrhi�i�rrErDrIrG)r%rJr0rTr7rUrVr&rXrYrLrMr[rZrN)r8rnro�new_pool_lo�new_pool_hir`�next_free_rid6rdre�rid2�next_free_rid7�free_lo2�free_hi2�rid3rBrBrC�test_ridalloc_move_to_new_pool�sN
������



z(DsdbTests.test_ridalloc_move_to_new_poolcCs"|j��z�t��}|j|_t�gtjd�|d<|j�|�|�	tj
��
}|j��Wd�n1s4wY|jj
\}}|�tj|�|�d|j|�|�	tj
��
}|j��Wd�n1sewY|jj
\}}|�tj|�|�d|j|jf|�W|j��dS|j��w)NrzVNo RID Set DN - Cannot find attribute rIDSetReferences of %s to calculate reference dnzBNo RID Set DN - Failed to add RID Set %s - Entry %s already exists)r%rJr0rTr5rUrVrWrYrjrkrLrlrmrM�ERR_NO_SUCH_ATTRIBUTEr6rZ�ERR_ENTRY_ALREADY_EXISTSr7rN)r8r`rp�enum�estrrBrBrC�!test_ridalloc_no_ridsetreferences&s>
������
��z+DsdbTests.test_ridalloc_no_ridsetreferencescCs|j��z�|j}t��}|j|_t�|tjd�|d<|j�	|�|�
tj��
}|j��Wd�n1s7wY|j
j\}}|�tj|�|�d||�|�
tj��
}|j��Wd�n1sgwY|j
j\}}|�tj|�|�d||�W|j��dS|j��w)NrzBad RID Set )r%rJr,r0rTr5rUrVrXrYrjrkrLrlrmrM�ERR_OPERATIONS_ERRORr6rZrN)r8�fake_rid_set_strr`rpr�r�rBrBrC�test_ridalloc_no_rid_setKs0
����z"DsdbTests.test_ridalloc_no_rid_setcCs|j�d�}|�|d�dS)Ni�	z1.2.840.113556.1.4.1790)r%�get_oid_from_attidrM)r8�oidrBrBrC�test_get_oid_from_attridjsz"DsdbTests.test_get_oid_from_attridcCs�|jjtj|jdgd�}ttj|ddd�}|j}|j	D]}|j
dkr.|j}|jd|_qt|�}t�
�}|dj|_t�|tjd�|d<|�tj|jj|dg�dS)N�replPropertyMetaData�rrrr�
rI�#local_oid:1.3.6.1.4.1.7165.4.3.14:0)r%r/r0�
SCOPE_SUBTREEr,rr	�replPropertyMetaDataBlob�ctr�array�attid�versionrrTrUrVrXrjrkrY�r8r=�replr��o�old_version�replBlobr`rBrBrC�test_error_replpropertymetadatans$
��

�z)DsdbTests.test_error_replpropertymetadatacCs||jjtj|jdgd�}ttj|ddd�}t|�}t�	�}|dj
|_
t�|tjd�|d<|�
tj|jj|dg�dS)Nr�r�rr�)r%r/r0r�r,rr	r�rrTrUrVrXrjrkrY�r8r=r�r�r`rBrBrC�(test_error_replpropertymetadata_nochange�s
��z2DsdbTests.test_error_replpropertymetadata_nochangecCsv|jjtj|jdgd�}ttj|ddd�}t|�}t�	�}|dj
|_
t�|tjd�|d<|j�
|ddg�dS)Nr�r�rr�z#local_oid:1.3.6.1.4.1.7165.4.3.25:0)r%r/r0r�r,rr	r�rrTrUrVrXrYr�rBrBrC�*test_error_replpropertymetadata_allow_sort�s
��z4DsdbTests.test_error_replpropertymetadata_allow_sortcCs�|jjtj|jddgd�}ttj|ddd�}|j}|j	D]}|j
dkr<|j}|jd|_tt
|dd��d|_qt|�}t��}|dj|_t�|tjd�|d<t�dtjd�|d<|�tj|jj|d	g�dS)
Nr��
uSNChangedr�rr�rIznew valrr�)r%r/r0r�r,rr	r�r�r�r�r�rKr&�	local_usnrrTrUrVrXrjrkrYr�rBrBrC� test_twoatt_replpropertymetadata�s(
��

�z*DsdbTests.test_twoatt_replpropertymetadatacCs�|jjtj|jddgd�}ttj|ddd�}|j}|j	D]*}|j
dkrI|j}|jd|_tt
|dd��d|_tt
|dd��d|_qt|�}t��}|dj|_t�|tjd�|d<|j�|dg�dS)Nr�r�r�rr�rIr�)r%r/r0r�r,rr	r�r�r�r�r�rKr&r��originating_usnrrTrUrVrXrYr�rBrBrC�test_set_replpropertymetadata�s(
��

�z'DsdbTests.test_set_replpropertymetadatacCs|�|j�d�d�dS)Nr�r�rMr%�get_attribute_from_attid�r8rBrBrC� test_ok_get_attribute_from_attid��z*DsdbTests.test_ok_get_attribute_from_attidcCs|�|j�d�d�dS)Ni�.r�r�rBrBrC� test_ko_get_attribute_from_attid�r�z*DsdbTests.test_ko_get_attribute_from_attidcCsP|jjtj|jdgd�}|�t|�d�t|dj�}|�|j�	|d�d�dS)NrUr�rIr�
unicodePwd�)
r%r/r0r�r,rM�lenr&rU�"get_attribute_replmetadata_version)r8r=rUrBrBrC�'test_get_attribute_replmetadata_version�s
�z1DsdbTests.test_get_attribute_replmetadata_versioncCsv|jjtj|jdgd�}|�t|�d�t|dj�}|j�	|d�}|j�
|d|d�|�|j�	|d�|d�dS)NrUr�rIrrr�)r%r/r0r�r,rMr�r&rUr��"set_attribute_replmetadata_version)r8r=rUr�rBrBrC�'test_set_attribute_replmetadata_version�s
�z1DsdbTests.test_set_attribute_replmetadata_versionc
Cs\z|jjtj|jdgdtjgd�}WdStjy-}z|�d�WYd}~dSd}~ww)Nr�zlocal_oid:%s:0�rrr�controls�#Should have not raised an exception)	r%r/r0r�r,r�$DSDB_CONTROL_INVALID_NOT_IMPLEMENTEDrk�fail)r8r=�erBrBrC� test_no_error_on_invalid_control�s
����z*DsdbTests.test_no_error_on_invalid_controlc
Cs�z|jjtj|jdgdtjgd�}WdStjyB}z!|j\}}|tj	kr7|�
d|d�WYd}~dSWYd}~dSd}~ww)Nr�zlocal_oid:%s:1r�z9Got %s should have got ERR_UNSUPPORTED_CRITICAL_EXTENSIONrI)r%r/r0r�r,rr�rkrm�"ERR_UNSUPPORTED_CRITICAL_EXTENSIONr�)r8r=r��errnor�rBrBrC�&test_error_on_invalid_critical_control�s"
��

����z0DsdbTests.test_error_on_invalid_critical_controlcCs>|j��z|j��}Wn	|j���|j��t|�S�N)r%rJrZrN�transaction_commitr&)r8rbrBrBrCrZ�s


zDsdbTests.allocate_ridc
Cs�|j��}t|��d�rd}nd}t|�dd�|d}tt�|��}|j��}d||f}z|j�|dd��|�	d�Wn/t
jyn}z"|j\}}	|�
|t
jt|��d	tj}
|�|
|	v|	�WYd}~nd}~wwz|j�|d|d
��|�	d�Wn/t
jy�}z"|j\}}	|�
|t
jt|��d	tj}
|�|
|	v|	�WYd}~nd}~wwdg}|jj|dd�|d
�|j�|�z
|jj|dd�|d
�Wn!t
jy�}z|j\}}	|�	d||	f�WYd}~nd}~ww|j�|�dS)Nrr�9���z-1000z%CN=%s,CN=ForeignSecurityPrincipals,%s�foreignSecurityPrincipal�rU�objectClassz2No exception should get ERR_OBJECT_CLASS_VIOLATION�%08X)rUr��	objectSidz0No exception should get ERR_UNWILLING_TO_PERFORMzprovision:0)r�z!Got unexpected exception %d - %s )r%�get_domain_sidr&�endswithrr
�dom_sid�get_default_basedn�addr�r0rkrmrM�ERR_OBJECT_CLASS_VIOLATIONr
�WERR_DS_MISSING_REQUIRED_ATT�
assertTrue�ERR_UNWILLING_TO_PERFORM�WERR_DS_ILLEGAL_MOD_OPERATION�delete)r8r��c�sid_str�sid�basednrUr��coder`�werrr�rBrBrC�@test_duplicate_objectSIDs_allowed_on_foreign_security_principals�st

�

���

�����
�
���zJDsdbTests.test_duplicate_objectSIDs_allowed_on_foreign_security_principalsc
Cs|j��}t|�d}d}d}|j��}d}d||f}	t�|j|	�}
|jjtj|d|gd�}|�t	|�d�|jjtj|d|gd�}|�t	|�d�|jjtj|d|gd�}|�t	|�d�|�
t|j|	�|j�|	|d	��t�
�}|
|_t�d
|tj|�||<z
|j�|�|�d�Wn/tjy�}
z"|
j\}}|�|tjt|
��dtj}|�||v|�WYd}
~
nd}
~
wwt�
�}|
|_t�d
|tj|�||<z
|j�|�|�d
�Wn0tj�y}
z"|
j\}}|�|tjt|
��dtj}|�||v|�WYd}
~
nd}
~
wwt�
�}|
|_t�d
|tj|�||<z|j�|�Wntj�yH}
z|�d�WYd}
~
nd}
~
ww|jjtj|d|gd�}|�t	|�d�|j�|dj�|j�|
�|jjtj|d|gd�}|�t	|�d�dS)N�-4294967294�S-1-5-32-4294967294�S-1-5-4294967294�
dsdb_test_fpo�cn=%s,cn=Users,%s�(objectSid=%s)�rr�
expressionrrr��<SID=%s>z4No exception should get LDB_ERR_UNWILLING_TO_PERFORMr�z.No exception should get LDB_ERR_NO_SUCH_OBJECTr�rI)r%r�r&r�r0r1r/r�rMr�r.rr�rTrUrV�FLAG_MOD_ADDrYr�rkrmr�r
�WERR_DS_INVALID_GROUP_TYPEr��ERR_NO_SUCH_OBJECT�WERR_NO_SUCH_MEMBERr�)r8�	obj_class�fpo_attrr��lsid_str�bsid_str�fsid_strr��cn�dn_strrUr=r`r�r�r�rBrBrC�_test_foreignSecurityPrincipalDs�


�
�
��
�

��
�

��
���
�
�z(DsdbTests._test_foreignSecurityPrincipalcC�|�dd�S)N�group�member�r�r�rBrBrC�$test_foreignSecurityPrincipal_member���z.DsdbTests.test_foreignSecurityPrincipal_membercCr�)NzmsDS-AzRolezmsDS-MembersForAzRoler�r�rBrBrC�.test_foreignSecurityPrincipal_MembersForAzRole�r�z8DsdbTests.test_foreignSecurityPrincipal_MembersForAzRolecCr�)N�computerzmsDS-NeverRevealGroupr�r�rBrBrC�.test_foreignSecurityPrincipal_NeverRevealGroup�r�z8DsdbTests.test_foreignSecurityPrincipal_NeverRevealGroupcCr�)Nr�zmsDS-RevealOnDemandGroupr�r�rBrBrC�1test_foreignSecurityPrincipal_RevealOnDemandGroup�r�z;DsdbTests.test_foreignSecurityPrincipal_RevealOnDemandGroupTc
Cs�|j��}t|�d}d}	d}
|j��}d}d||f}
t�|j|
�}d}d||f}t�|j|�}|jjtj|d|gd�}|�t	|�d	�|jjtj|d|	gd�}|�t	|�d	�|jjtj|d|
gd�}|�t	|�d	�|�
t|j|
�|�
t|j|�|j�|
|d
��|j�||d
��t�
�}||_t�d|tj|�||<z|j�|�|�d|�Wn-tjy�}z |j\}}|�||t|��d
|}|�||v|�WYd}~nd}~wwt�
�}||_t�d|	tj|�||<z|j�|�|�d|�Wn.tj�y3}z |j\}}|�||t|��d
|}|�||v|�WYd}~nd}~wwt�
�}||_t�d|
tj|�||<z|j�|�|�d|�Wn.tj�y�}z |j\}}|�||t|��d
|}|�||v|�WYd}~nd}~wwt�
�}||_t�d|tj|�||<z|j�|�|�s�|�d|�Wn8tj�y�}z*|�r�|�d|�|j\}}|�||t|��d
|}|�||v|�WYd}~nd}~ww|j�|�|j�|�dS)Nr�r�r��dsdb_test_fpo1r��dsdb_test_fpo2r�r�rr�r�zNo exception should get %sr�z%sz'Should have not raised an exception: %s)r%r�r&r�r0r1r/r�rMr�r.rr�rTrUrVr�rYr�rkrmr�r�)r8r�r��msg_exp�lerr_exp�werr_exp�allow_referencer�r�r�r�r��cn1�dn1_str�dn1�cn2�dn2_str�dn2r=r`r�r�r�rBrBrC�#_test_fail_foreignSecurityPrincipal�s�


�
�
���
�
��
�
��
�
��
��
��z-DsdbTests._test_fail_foreignSecurityPrincipalcCs|jdddtjtjdd�S)Nr�zmsDS-NonMembersz/LDB_ERR_UNWILLING_TO_PERFORM/WERR_NOT_SUPPORTEDF)r�)r�r0r�r
�WERR_NOT_SUPPORTEDr�rBrBrC�(test_foreignSecurityPrincipal_NonMemberss�z2DsdbTests.test_foreignSecurityPrincipal_NonMemberscC�|�dddtjtj�S)Nr�zmsDS-HostServiceAccount�;LDB_ERR_CONSTRAINT_VIOLATION/WERR_DS_NAME_REFERENCE_INVALID�r�r0�ERR_CONSTRAINT_VIOLATIONr
�WERR_DS_NAME_REFERENCE_INVALIDr�rBrBrC�0test_foreignSecurityPrincipal_HostServiceAccount��z:DsdbTests.test_foreignSecurityPrincipal_HostServiceAccountcCr)N�user�managerrrr�rBrBrC�%test_foreignSecurityPrincipal_managerrz/DsdbTests.test_foreignSecurityPrincipal_managerc
Cs�|j��}|��}t|�d|}tt�|��}|j��}d}d||f}|j�|d|d��|j�	|�z|j�|d|d��|�
d�WdStjyu}z!|j
\}	}
|	tjkrj|�
d|	|
f�WYd}~dSWYd}~dSd}~ww)N�-�dsdb_test_01r�r)rUr��	objectSID�4No exception should get LDB_ERR_CONSTRAINT_VIOLATIONz8Got %d - %s should have got LDB_ERR_CONSTRAINT_VIOLATION)r%r�rZr&rr
r�r�r�r�r�r0rkrmr)r8r�rbr�r�r�r�rUr�r�r`rBrBrC�6test_duplicate_objectSIDs_not_allowed_on_local_objects+s:

��

����z@DsdbTests.test_duplicate_objectSIDs_not_allowed_on_local_objectsc
Cs>|j��}d|}d|}|j��}t|�d}d}|�t|j|�|�t|j|�|j�|dd��|jjtj	|ddgd	�}|�
t|�d
�tt
j|ddd�}ttj|ddd�}	|dj}
|j�|dd��|jjtj	|ddgd	�}|�
t|�d
�tt
j|ddd�}ttj|ddd�}|j�|�t��}
|
|
_t�d
|tjd�|
d<z
|j�|
�|�d�Wn/tjy�}z"|j\}}
|�
|tjt|��dtj}|�||
v|
�WYd}~nd}~wwt��}
|
|
_t�d|tjd�|
d<z
|j�|
�|�d�Wn0tj�y?}z"|j\}}
|�
|tjt|��dtj}|�||
v|
�WYd}~nd}~wwt��}
|
|
_t�d
|tjd�|
d<|j�|
�t��}
|
|
_t�d
|tjd�|
d<|j�|
�t��}
|
|
_t�d|tjd�|
d<|j�|
�t��}
|
|
_t�d|tjd�|
d<|j�|
�t��}
|
|
_t�d|tjd�|
d<z
|j�|
�|�d�Wn0tj�y�}z"|j\}}
|�
|tjt|��dtj}|�||
v|
�WYd}~nd}~wwt��}
|
|
_t�d
|tjd�|
d<z
|j�|
�|�d�Wn0tj�yE}z"|j\}}
|�
|tjt|��dtj}|�||
v|
�WYd}~nd}~wwt��}
|
|
_t�d|tjd�|
d<z
|j�|
�|�d�Wn0tj�y�}z"|j\}}
|�
|tjt|��dtj}|�||
v|
�WYd}~nd}~ww|j�|
�dS)Nzcn=reference_kept,cn=Users,%sz cn=reference_removed,cn=Users,%sr�z$afafafaf-fafa-afaf-fafa-afafafafafafrr��
objectGUIDr
r�rIrr�r�r	rr�z	<GUID=%s>�	assistantzCN=NoneNone,%s)r%r�r�r&r.rr�r/r0r�rMr�rr�GUIDr
r�rUr�rTrVr�rYr�rkrmrr
rr�rW)r8r��kept_dn_str�removed_dn_strr��none_sid_str�
none_guid_strr=�	kept_guid�kept_sid�kept_dn�removed_guid�removed_sidr`r�r�r�rBrBrC�#test_linked_vs_non_linked_referenceHs

�
�
�
�
�

��
�

��

�
�
�
�
�

��
�

��
�

��z-DsdbTests.test_linked_vs_non_linked_referencecCsF|j��}t�|jd�}|}|�|�t|�}|�||j�|��dS�N�CN=Users)r%r+r0r1�add_baser&rM�normalize_dn_in_domain)r8r+�part_dn�full_dn�full_strrBrBrC� test_normalize_dn_in_domain_full�s


�z*DsdbTests.test_normalize_dn_in_domain_fullcCs>|j��}d}t�|j|�}|�|�|�||j�|��dSr�r%r+r0r1rrMr )r8r+�part_strr"rBrBrC� test_normalize_dn_in_domain_part�s


�z*DsdbTests.test_normalize_dn_in_domain_partcCs>|j��}t�|jd�}|}|�|�|�||j�|��dSrr%)r8r+r!r"rBrBrC�#test_normalize_dn_in_domain_full_dn�s


�z-DsdbTests.test_normalize_dn_in_domain_full_dncCsJ|j��}t�|jd�}|�t�|jt|�dt|��|j�|��dS)Nr�,)r%r+r0r1rMr&r )r8r+r!rBrBrC�#test_normalize_dn_in_domain_part_dn�s
�
�z-DsdbTests.test_normalize_dn_in_domain_part_dn)T)*�__name__�
__module__�__qualname__rrHrSrfrqrtr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�rZr�r�r�r�r�r�r�rrr
rrr$r'r(r*�
__classcell__rBrBr@rCr"sR*	+!34%


FT
�ircs$eZdZ�fdd�Zdd�Z�ZS)�DsdbFullScanTestscs<tt|���tj��|_t�|_|j�	|j�t
�|_dSr�)rr/rrr r!rrr"r#rr$r�r@rBrCrs
zDsdbFullScanTests.setUpc
Cs^zt|j|j|jdgd�|_WdStjy.}z|jd}|�d�WYd}~dSd}~ww)Nz$disable_full_db_scan_for_self_test:1)rrr�optionsrIz(sam.ldb required a full scan to start up)	rr$r"rr%r0rkrmr�)r8rpr�rBrBrC�test_sam_ldb_open_no_full_scans�
��z0DsdbFullScanTests.test_sam_ldb_open_no_full_scan)r+r,r-rr1r.rBrBr@rCr/	sr/)�__doc__�samba.credentialsr�samba.samdbr�
samba.authr�samba.testsrr�	samba.ndrrr�samba.dcerpcr	r
rrrr
r0r'rr/rBrBrBrC�<module>s,n