ó
E®Uc           @   s~   d  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 Z d e
 f d „  ƒ  YZ d S(	   s   Tests for samba.ntacls.iÿÿÿÿ(   t   setntaclt   getntaclt   XattrBackendError(   t   LoadParm(   t   security(   t   TestCaseInTempDirt   SkipTestNt   NtaclsTestsc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sƒ   t  ƒ  } d } t |  j d ƒ j d ƒ | j d t j j |  j d ƒ ƒ t	 | |  j | d ƒ t j
 t j j |  j d ƒ ƒ d  S(   Ns£   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)t   wt   emptys
   posix:eadbs   eadbtest.tdbs)   S-1-5-21-2212615479-2695158682-2101375467(   R   t   opent   tempft   writet   sett   ost   patht   joint   tempdirR    t   unlink(   t   selft   lpt   acl(    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   test_setntacl   s    	"c         C   sÀ   t  ƒ  } d } t |  j d ƒ j d ƒ | j d t j j |  j d ƒ ƒ t	 | |  j | d ƒ t
 | |  j ƒ } t j t j ƒ } |  j | j | ƒ | ƒ t j t j j |  j d ƒ ƒ d  S(   Ns£   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)R   R	   s
   posix:eadbs   eadbtest.tdbs)   S-1-5-21-2212615479-2695158682-2101375467(   R   R
   R   R   R   R   R   R   R   R    R   R   t   dom_sidt   SID_NT_SELFt   assertEqualst   as_sddlR   (   R   R   R   t   faclt   anysid(    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   test_setntacl_getntacl%   s    	"c      	   C   sÎ   t  ƒ  } d } t |  j d ƒ j d ƒ t | |  j | d d t j j |  j d ƒ ƒ t	 | |  j d t j j |  j d ƒ ƒ } t
 j t
 j ƒ } |  j | j | ƒ | ƒ t j t j j |  j d ƒ ƒ d  S(   Ns£   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)R   R	   s)   S-1-5-21-2212615479-2695158682-2101375467t   tdbs   eadbtest.tdb(   R   R
   R   R   R    R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   R   t   domsid(    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   test_setntacl_getntacl_param0   s    	.*c         C   sc   t  ƒ  } d } t |  j d ƒ j d ƒ |  j t t | |  j | d d t j j	 |  j
 d ƒ ƒ d  S(   Ns£   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)R   R	   s)   S-1-5-21-2212615479-2695158682-2101375467t   ttdbs   eadbtest.tdb(   R   R
   R   R   t   assertRaisesR   R    R   R   R   R   (   R   R   R   (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   test_setntacl_invalidbackend:   s    	c         C   s‘   t  j ƒ  d k r! t d ƒ ‚ n  t ƒ  } d } t |  j d ƒ j d ƒ | j d t  j j	 |  j
 d ƒ ƒ |  j t t | |  j | d d	 ƒ d  S(
   Ni    s"   Running test as root, test skippeds£   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)R   R	   s
   posix:eadbs   eadbtest.tdbs)   S-1-5-21-2212615479-2695158682-2101375467t   native(   R   t   getuidR   R   R
   R   R   R   R   R   R   R"   t	   ExceptionR    (   R   R   R   (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   test_setntacl_forcenative@   s    	"c         C   sK   t  t |  ƒ j ƒ  t j j |  j d ƒ |  _ t |  j d ƒ j	 d ƒ d  S(   Nt   testR   R	   (
   t   superR   t   setUpR   R   R   R   R   R
   R   (   R   (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyR*   K   s    c         C   s'   t  j |  j ƒ t t |  ƒ j ƒ  d  S(   N(   R   R   R   R)   R   t   tearDown(   R   (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyR+   P   s    (	   t   __name__t
   __module__R   R   R    R#   R'   R*   R+   (    (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyR      s   			
			(   t   __doc__t   samba.ntaclsR    R   R   t   samba.paramR   t   samba.dcerpcR   t   samba.testsR   R   R   R   (    (    (    s6   /usr/lib/python2.7/dist-packages/samba/tests/ntacls.pyt   <module>   s   