a
    œcl_ù,  ã                   @   s`   d dl Z d dlZd dlZd dlmZ d dlZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )	é    N)ÚSambaToolCmdTestc                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚNtACLCmdSysvolTestCasez.Tests for samba-tool ntacl sysvol* subcommandsc                 C   s@   |   ddd¡\}}}|  |||¡ |  |dd¡ |  d|¡ d S )NÚntaclÚsysvolresetú--use-ntvfsÚ ú Shouldn't be any output messagesúPPlease note that POSIX permissions have NOT been changed, only the stored NT ACL©Ú	runsubcmdÚassertCmdSuccessÚassertEqualÚassertIn©ÚselfÚresultÚoutÚerr© r   ú>/usr/lib/python3/dist-packages/samba/tests/samba_tool/ntacl.pyÚ
test_ntvfs   s    ÿ
z!NtACLCmdSysvolTestCase.test_ntvfsc                 C   sB   |   ddd¡\}}}|  |||¡ |  |dd¡ |  |dd¡ d S )Nr   r   ú
--use-s3fsr   úShouldn't be any error messagesr   ©r   r   r   r   r   r   r   Ú	test_s3fs&   s    ÿ
z NtACLCmdSysvolTestCase.test_s3fsc                 C   s|   |   ddd¡\}}}|  |||¡ |  |dd¡ |  d|¡ |   dd¡\}}}|  |||¡ |  |dd¡ |  |dd¡ d S )	Nr   r   r   r   r   r	   Úsysvolcheckr   r
   r   r   r   r   Útest_ntvfs_check.   s    ÿ
z'NtACLCmdSysvolTestCase.test_ntvfs_checkc                 C   s~   |   ddd¡\}}}|  |||¡ |  |dd¡ |  |dd¡ |   dd¡\}}}|  |||¡ |  |dd¡ |  |dd¡ d S )Nr   r   r   r   r   r   r   r   r   r   r   r   Útest_s3fs_check:   s    ÿ
z&NtACLCmdSysvolTestCase.test_s3fs_checkN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r      s
   r   c                   @   s4   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚNtACLCmdGetSetTestCasez.Tests for samba-tool ntacl get/set subcommandsáo  O:DAG:DUD:P(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED)S:AI(OU;CIIDSA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CIIDSA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)c              	   C   s‚   t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ |  	dd| j
|d¡\}}}|  |||¡ |  |d	d
¡ |  d|¡ d S )NÚSELFTEST_PREFIXÚpytestsé † ÚwÚemptyr   Úsetr   r   r   r	   ©ÚosÚenvironÚpathÚjoinÚstrÚintÚrandomÚopenÚwriter   Úaclr   r   r   ©r   r-   Ztempfr   r   r   r   r   r   r   N   s    
"ÿ
z!NtACLCmdGetSetTestCase.test_ntvfsc              	   C   s„   t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ |  	dd| j
|d¡\}}}|  |||¡ |  |d	d
¡ |  |d	d¡ d S )Nr$   r%   r&   r'   r(   r   r)   r   r   r   r   ©r+   r,   r-   r.   r/   r0   r1   r2   r3   r   r4   r   r   r5   r   r   r   r   Y   s    
"ÿ
z NtACLCmdGetSetTestCase.test_s3fsc              	   C   sÊ   t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ |  	dd| j
|d¡\}}}|  |||¡ |  |d	d
¡ |  d|¡ |  	dd|dd¡\}}}|  |||¡ |  |d	d¡ |  | j
d |d¡ d S )Nr$   r%   r&   r'   r(   r   r)   r   r   r   r	   Úgetú	--as-sddlr   Ú
úOutput should be the ACLr*   r5   r   r   r   r   e   s    
"ÿ

ÿ
z'NtACLCmdGetSetTestCase.test_ntvfs_checkc              	   C   sÌ   t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ |  	dd| j
|d¡\}}}|  |||¡ |  |d	d
¡ |  |d	d¡ |  	dd|dd¡\}}}|  |||¡ |  |d	d¡ |  | j
d |d¡ d S )Nr$   r%   r&   r'   r(   r   r)   r   r   r   r   r7   r8   r9   r:   r6   r5   r   r   r   r   w   s    
"ÿ

ÿ
z&NtACLCmdGetSetTestCase.test_s3fs_checkN)	r   r   r    r!   r4   r   r   r   r   r   r   r   r   r"   I   s   r"   c                   @   s6   e Zd ZdZdZdZejd ZdZ	dd„ Z
dd	„ Zd
S )ÚNtACLCmdChangedomsidTestCasez2Tests for samba-tool ntacl changedomsid subcommandr#   aF  O:S-1-5-21-2212615479-2695158682-2101375468-512G:S-1-5-21-2212615479-2695158682-2101375468-513D:P(A;OICI;0x001f01ff;;;S-1-5-21-2212615479-2695158682-2101375468-512)(A;OICI;0x001f01ff;;;S-1-5-21-2212615479-2695158682-2101375468-519)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;S-1-5-21-2212615479-2695158682-2101375468-512)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED)S:AI(OU;CIIDSA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CIIDSA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)ZDOMSIDz)S-1-5-21-2212615479-2695158682-2101375468c              	   C   s  t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ t	d| j
ƒ |  dd| j|d	¡\}}}|  |||¡ |  |d
d¡ |  d|¡ |  dd| j
| j|d	¡\}}}|  |||¡ |  |d
d¡ |  d|¡ |  dd|d	d¡\}}}|  |||¡ |  |d
d¡ |  | jd |d¡ d S )Nr$   r%   r&   r'   r(   ú
DOMSID: %sr   r)   r   r   r   r	   ÚchangedomsidzQPlease note that POSIX permissions have NOT been changed, only the stored NT ACL.r7   r8   r   r9   r:   )r+   r,   r-   r.   r/   r0   r1   r2   r3   ÚprintÚ
domain_sidr   r4   r   r   r   Únew_domain_sidÚnew_aclr5   r   r   r   r   ‘   sL    
ÿü
ÿû
ÿü
z-NtACLCmdChangedomsidTestCase.test_ntvfs_checkc              	   C   s(  t jd }t j |dttdt ¡  ƒƒ ¡}t|dƒ d¡ t	d| j
 ƒ |  dd| j|d	d
¡\}}}|  |||¡ |  |dd¡ |  |dd¡ |  dd| j
| j|d	d
¡\}}}|  |||¡ |  |dd¡ |  |dd¡ |  dd|d	dd
¡\}}}|  |||¡ |  |dd¡ |  | jd |d¡ d S )Nr$   r%   r&   r'   r(   r<   r   r)   r   z--service=sysvolr   r   r   r=   r7   r8   r9   r:   )r+   r,   r-   r.   r/   r0   r1   r2   r3   r>   r?   r   r4   r   r   r@   rA   r5   r   r   r   r   ¸   sJ    
ÿû
ú
û
z,NtACLCmdChangedomsidTestCase.test_s3fs_checkN)r   r   r    r!   r4   rA   r+   r,   r?   r@   r   r   r   r   r   r   r;   ‰   s   
'r;   )	r+   ÚtimeZldbZsamba.tests.samba_tool.baser   r1   r   r"   r;   r   r   r   r   Ú<module>   s   -@