a
    œcl_º  ã                   @   sp   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„ deƒZdS )zTests for samba.ntacls.é    N)ÚsetntaclÚgetntaclÚXattrBackendError)ÚLoadParm)Úsecurity)ÚTestCaseInTempDirÚSkipTest)Úsystem_session_unixz£O: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                       sP   e Zd Z‡ fdd„Z‡ fdd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	‡  Z
S )ÚNtaclsTestsc                    s>   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__© ú4/usr/lib/python3/dist-packages/samba/tests/ntacls.pyr   #   s    zNtaclsTests.setUpc                    s   t  | j¡ tt| ƒ ¡  d S )N)r   Úunlinkr   r   r
   ÚtearDownr   r   r   r   r   )   s    zNtaclsTests.tearDownc                 C   s^   t ƒ }t| jdƒ d¡ | dtj | jd¡¡ t	|| jt
t| jƒ t 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   Úlpr   r   r   Útest_setntacl-   s
    zNtaclsTests.test_setntaclc                 C   sŒ   t ƒ }t| jdƒ d¡ | dtj | jd¡¡ t	|| jt
t| jƒ t|| j| jƒ}t tj¡}|  | |¡t
¡ t 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'   ÚfaclZanysidr   r   r   Útest_setntacl_getntacl4   s    z"NtaclsTests.test_setntacl_getntaclc                 C   s”   t ƒ }t| jdƒ d¡ t|| jtt| jdtj	 
| jd¡ƒ t|| j| jdtj	 
| jd¡ƒ}t tj¡}|  | |¡t¡ t tj	 
| jd¡¡ d S )Nr   r   Ztdbr"   )r   r   r   r   r   r$   r%   r   r   r   r   r   r   r   r)   r*   r+   r,   r   )r   r'   r-   Zdomsidr   r   r   Útest_setntacl_getntacl_param>   s    ÿÿz(NtaclsTests.test_setntacl_getntacl_paramc                 C   sF   t ƒ }t| jdƒ d¡ |  tt|| jtt| j	dt
j | jd¡¡	 d S )Nr   r   Zttdbr"   )r   r   r   r   ÚassertRaisesr   r   r$   r%   r   r   r   r   r   r&   r   r   r   Útest_setntacl_invalidbackendI   s    
þz(NtaclsTests.test_setntacl_invalidbackendc              
   C   sd   t  ¡ 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"   Znative)r   Úgetuidr   r   r   r   r   r#   r   r   r   r0   Ú	Exceptionr   r$   r%   r   r&   r   r   r   Útest_setntacl_forcenativeP   s    ÿz%NtaclsTests.test_setntacl_forcenative)Ú__name__Ú
__module__Ú__qualname__r   r   r(   r.   r/   r1   r4   Ú__classcell__r   r   r   r   r
   !   s   
r
   )Ú__doc__r   Zsamba.ntaclsr   r   r   Zsamba.paramr   Zsamba.dcerpcr   Zsamba.testsr   r   Zsamba.auth_utilr	   r$   r%   r
   r   r   r   r   Ú<module>   s   