
    bY                     b    d Z ddlZddlmZ ddlmZmZmZ  G d dej        j	                  Z
dS )zHTest of Network Data Representation (NDR) marshalling and unmarshalling.    N)winbindsecuritylsac                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )NdrTestCasec                    t          j                    }t          j        t          j                  |_        t          j        |_        d|_	        t          j        |          }t          j        t           j        |          }|                     |j        |j                   |                     |j        |j                   |                     |j	        |j	                   d S )Nfredr   wbint_Principalr   dom_sidSID_NT_SCHANNEL_AUTHENTICATIONsidr   SID_NAME_USERtypenamendrndr_pack
ndr_unpackassertEqualselfxbys       1/usr/lib/python3/dist-packages/samba/tests/ndr.pytest_wbint_Principalz NdrTestCase.test_wbint_Principal   s    #%% !HII"LOON72A66&&&((((((((    c                    t          j                    }t          j        t          j                  |_        t          j        |_        d |_	        t          j        |          }t          j        t           j        |          }|                     |j        |j                   |                     |j        |j                   |                     |j	        |j	                   d S )Nr
   r   s       r   test_wbint_Principal_null_namez*NdrTestCase.test_wbint_Principal_null_name,   s    #%% !HII"LOON72A66&&&((((((((r   c                    g }t          dd          D ]e}t          j                    }t          j        t          j                  |_        t          j        |_	        d |_
        |                    |           ft          j                    }d|_        ||_        t          j        |          }t          j        t          j        |          }|                     |j        |j                   t          dd          D ]w}||         }|j        |         }|                     |j        |j                   |                     |j	        |j	                   |                     |j
        |j
                   xd S )Nr   
   )ranger   r   r   r   r   r   r   r   r   r   appendwbint_Principalsnum_principals
principalsr   r   r   r   )r   r&   ir   wb_principalsr   unpacked_principalsr   s           r   test_wbint_Principalsz!NdrTestCase.test_wbint_Principals=   s_   
q" 		! 		!A'))A$X%LMMAE&AFAFa    022')$#- L''!nW-E-.0 0 	5,;	= 	= 	= q" 	- 	-A1A#.q1AQUAE***QVQV,,,QVQV,,,,	- 	-r   c                 J   d}|                      |          \  }}t          d|          D ]w}||         }|j        |         }|                     |j        |j                   |                     |j        |j                   |                     |j        |j                   xd S )Nr!   r   )_test_wbint_Principalsr"   r&   r   r   r   r   )r   numr&   r)   r'   r   r   s          r   test_wbint_10_Principalsz$NdrTestCase.test_wbint_10_Principals_   s    ,0,G,G,L,L)(q# 	- 	-A1A#.q1AQUAE***QVQV,,,QVQV,,,,	- 	-r   c                 n    |                      t          j                                        dz              d S )N   )r,   samba_gluendr_token_max_list_size)r   s    r   test_wbint_max_token_Principalsz+NdrTestCase.test_wbint_max_token_Principalsj   s/    ##EK$G$G$I$I!$KLLLLLr   c                 P   g }t          d|          D ]n}t          j                    }t          j        t          j        d|z  z             |_        t          j        |_	        d|z  |_
        |                    |           ot          j                    }||_        ||_        t          j        |          }	 t          j        t          j        |          }n,# t$          $ r}|                     |           Y d }~nd }~ww xY w|                     |j        |j                   ||fS )Nr   z-%dzfred%d)r"   r   r   r   r   r   r   r   r   r   r   r#   r$   r%   r&   r   r   r   RuntimeErrorfailr   )	r   r-   r&   r'   r   r(   r   r)   es	            r   r,   z"NdrTestCase._test_wbint_Principalsm   s1   
q# 		! 		!A'))A$X%LuWZ{%Z[[AE&AF^AFa    022'*$#- L''	"%.1I12#4 #4 	 	 	IIaLLLLLLLL	 	5,;	= 	= 	= /00s   8C 
D"C<<DN)	__name__
__module____qualname__r   r   r*   r.   r4   r,    r   r   r   r      sr        ) ) )") ) )" -  -  -D	- 	- 	-M M M1 1 1 1 1r   r   )__doc__r1   	samba.ndrr   samba.dcerpcr   r   r   testsTestCaser   r<   r   r   <module>rB      s   * O N        / / / / / / / / / /p1 p1 p1 p1 p1%+& p1 p1 p1 p1 p1r   