
    b                     :    d dl mZ d dlmZ  G d de          ZdS )    )SmbCaclsBlockboxTestBase)BlackboxProcessErrorc                   6     e Zd Z fdZd Zd Zd Zd Z xZS )BasicSmbCaclsTestsc                 V    t          t          |                                            d S )N)superr   setUp)self	__class__s    E/usr/lib/python3/dist-packages/samba/tests/blackbox/smbcacls_basic.pyr	   zBasicSmbCaclsTests.setUp   s&     $''--/////    c                 *   d}	 |                      |          }n9# t          $ r,}|                     t          |                     Y d}~nd}~ww xY wd| j        z  }d| j        d| j        d|d| j        d| j        d	|}	 |                     |          }n9# t          $ r,}|                     t          |                     Y d}~nd}~ww xY w| 	                    |          }| 
                    |                     ||                     dS )
ztest smbcacls '--set' attempts to overwrite the ACL for the file

        before:

        +-test_dir/
          +-file.1            (I)(F)

        after/expected:

        +-test_dir/
          +-file.1            (F)file-1NACL:%s:ALLOWED/0x0/FULLzbin/smbcacls -Uz%z --set z /// )create_remote_test_filer   failstruserpasswdserversharecheck_outputace_parse_str
assertTruefile_ace_check)r
   file1filepatheaclcommandresultaces           r   test_simple_single_setz)BasicSmbCaclsTests.test_simple_single_set   sV    	33E::HH# 	 	 	IIc!ff	 )494AEDKKKY\Y\Y\^b^i^i^ikokukukuww  A	&&w//FF# 	 	 	IIc!ff	   %%++Hc::;;;;;s,    
A"AAB 
C&"CCc                 &   d| j         z  }	 |                     d          }|                     d||g           |                     |          }|                     |                     ||                     d| j         z  }|                     d||g           |                     |          }|                     |                     ||                     dS # t          $ r-}|                     t          |                     Y d}~dS d}~ww xY w)a)  test smbcacls '--modify' attempts to modify the ACL for the file
        (note: first part of the test 'set' ACL to (F) then attempts to modify
        before:

        +-test_dir/
          +-file.1            (F)

        after/expected:

        +-test_dir/
          +-file.1            (READ)r   r   --setzACL:%s:ALLOWED/0x0/READz--modifyN	r   r   	smb_caclsr   r   r   r   r   r   r
   acl_str
remotepathr$   r    s        r   test_simple_single_modz)BasicSmbCaclsTests.test_simple_single_mod8   s!    ,di7	55h??JNNGWj9:::$$W--COOD//
C@@AAA 0$);GNNJ<===$$W--COOD//
C@@AAAAA# 	 	 	IIc!ff	s   CC 
D#"DDc                    d| j         z  }	 |                     d          }|                     |          }|                     |                     ||                     |                     d||g           |                     |                     ||                     dS # t          $ r-}|                     t          |                     Y d}~dS d}~ww xY w)aT  test smbcacls '--delete' attempts to delete the ACL for the file
        (note: first part of the test 'set' ACL to (F) then attempts to delete
        before:

        +-tar_test_dir/
          +-file.1            (F)

        after/expected:

        +-tar_test_dir/
          +-file.1            (none) - meaning no (F) ACL for this userr   r   z--deleteN)
r   r   r   r   r   r)   assertFalser   r   r   r*   s        r   test_simple_single_delz)BasicSmbCaclsTests.test_simple_single_delX   s     ,di7
	55h??J $$W--COOD//
C@@AAANNJ<===T00SAABBBBB# 	 	 	IIc!ff	s   BB" "
C,"CCc                 &   d| j         z  }d| j         z  }	 |                     d          }|                     d||g           |                     |          }|                     |                     ||                     |                     d||g           |                     |          }|                     |                     ||                     d S # t          $ r-}|                     t          |                     Y d }~d S d }~ww xY w)Nr   zACL:%s:DENIED/0x0/READr   r'   r(   )r
   r+   dny_strr,   r$   r    s         r   test_simple_single_addz)BasicSmbCaclsTests.test_simple_single_addt   s   +di7*TY6	55h??JNNGWj9:::$$W--COOD//
C@@AAANNGWj9:::$$W--COOD//
C@@AAAAA# 	 	 	IIc!ff	s   CC 
D#"DD)	__name__
__module____qualname__r	   r%   r-   r0   r3   __classcell__)r   s   @r   r   r      su        0 0 0 0 0< < <<  @  8      r   r   N)samba.tests.blackbox.smbcaclsr   samba.testsr   r    r   r   <module>r;      sk   $ C B B B B B , , , , , ,o o o o o1 o o o o or   