
    b                     ~    d Z ddlZddlmZmZmZ ddlmZ ddlm	Z	 ddl
mZmZ ddlmZ dZd	Z G d
 de          ZdS )zTests for samba.ntacls.    N)setntaclgetntaclXattrBackendError)LoadParm)security)TestCaseInTempDirSkipTest)system_session_unixzO:S-1-5-21-2212615479-2695158682-2101375467-512G:S-1-5-21-2212615479-2695158682-2101375467-513D:(A;OICI;0x001f01ff;;;S-1-5-21-2212615479-2695158682-2101375467-512)z)S-1-5-21-2212615479-2695158682-2101375467c                   F     e Zd Z fdZ fdZd Zd Zd Zd Zd Z	 xZ
S )NtaclsTestsc                     t          t          |                                            t          j                            | j        d          | _        t          | j        d          	                    d           t                      | _        d S )Ntestwempty)superr   setUpospathjointempdirtempfopenwriter
   session_infoself	__class__s    4/usr/lib/python3/dist-packages/samba/tests/ntacls.pyr   zNtaclsTests.setUp#   sl    k4  &&(((W\\$,77
TZ##G,,,/11    c                     t          j        | j                   t          t          |                                            d S )N)r   unlinkr   r   r   tearDownr   s    r   r"   zNtaclsTests.tearDown)   s7    
	$*k4  ))+++++r   c                    t                      }t          | j        d                              d           |                    dt
          j                            | j        d                     t          || j        t          t          | j                   t          j        t
          j                            | j        d                     d S Nr   r   
posix:eadbeadbtest.tdb)r   r   r   r   setr   r   r   r   r   
NTACL_SDDL
DOMAIN_SIDr   r!   r   lps     r   test_setntaclzNtaclsTests.test_setntacl-   s    ZZTZ##G,,,
|RW\\$,GGHHHTZZ9JKKK
	"',,t|^<<=====r   c                 n   t                      }t          | j        d                              d           |                    dt
          j                            | j        d                     t          || j        t          t          | j                   t          || j        | j                  }t          j        t          j                  }|                     |                    |          t                     t          j        t
          j                            | j        d                     d S r$   )r   r   r   r   r'   r   r   r   r   r   r(   r)   r   r   r   dom_sidSID_NT_SELFassertEqualas_sddlr!   )r   r+   faclanysids       r   test_setntacl_getntaclz"NtaclsTests.test_setntacl_getntacl4   s    ZZTZ##G,,,
|RW\\$,GGHHHTZZ9JKKKDJ(9::!("677f--z:::
	"',,t|^<<=====r   c                    t                      }t          | j        d                              d           t	          || j        t
          t          | j        dt          j	        
                    | j        d                     t          || j        | j        dt          j	        
                    | j        d                    }t          j        t          j                  }|                     |                    |          t
                     t          j        t          j	        
                    | j        d                     d S )Nr   r   tdbr&   )r   r   r   r   r   r(   r)   r   r   r   r   r   r   r   r.   r/   r0   r1   r!   )r   r+   r2   domsids       r   test_setntacl_getntacl_paramz(NtaclsTests.test_setntacl_getntacl_param>   s    ZZTZ##G,,,TZZ9JEdlN;;	= 	= 	=DJ(95"',,L.C* C* + +!("677f--z:::
	"',,t|^<<=====r   c                 .   t                      }t          | j        d                              d           |                     t
          t          || j        t          t          | j	        dt          j                            | j        d          	  	         d S )Nr   r   ttdbr&   )r   r   r   r   assertRaisesr   r   r(   r)   r   r   r   r   r   r*   s     r   test_setntacl_invalidbackendz(NtaclsTests.test_setntacl_invalidbackendI   s~    ZZTZ##G,,,+Xr4:$j$2CV',,t|^DD	F 	F 	F 	F 	Fr   c           
         t          j                    dk    rt          d          t                      }t	          | j        d                              d           |                    dt           j        	                    | j
        d                     |                     t          t          || j        t          t          | j        d           d S )Nr   z"Running test as root, test skippedr   r   r%   r&   native)r   getuidr	   r   r   r   r   r'   r   r   r   r;   	Exceptionr   r(   r)   r   r*   s     r   test_setntacl_forcenativez%NtaclsTests.test_setntacl_forcenativeP   s    9;;!?@@@ZZTZ##G,,,
|RW\\$,GGHHH)Xr4:z$d&7	C 	C 	C 	C 	Cr   )__name__
__module____qualname__r   r"   r,   r4   r8   r<   rA   __classcell__)r   s   @r   r   r   !   s        2 2 2 2 2, , , , ,> > >> > >	> 	> 	>F F FC C C C C C Cr   r   )__doc__r   samba.ntaclsr   r   r   samba.paramr   samba.dcerpcr   samba.testsr   r	   samba.auth_utilr
   r(   r)   r    r   r   <module>rM      s   &   				 > > > > > > > > > >             ! ! ! ! ! ! 3 3 3 3 3 3 3 3 / / / / / / s
8
6C 6C 6C 6C 6C# 6C 6C 6C 6C 6Cr   