ó
E®Uc           @   s–   d  Z  d d l Z d d l m Z d e j j f d „  ƒ  YZ d e j j f d „  ƒ  YZ d e j j f d	 „  ƒ  YZ	 d
 e j j f d „  ƒ  YZ
 d S(   s    Tests for samba.dcerpc.security.iÿÿÿÿN(   t   securityt   SecurityTokenTestsc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s&   t  t |  ƒ j ƒ  t j ƒ  |  _ d  S(   N(   t   superR   t   setUpR    t   token(   t   self(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyR      s    c         C   s   |  j  |  j j ƒ  ƒ d  S(   N(   t   assertFalseR   t	   is_system(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_is_system   s    c         C   s   |  j  |  j j ƒ  ƒ d  S(   N(   R   R   t   is_anonymous(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_is_anonymous    s    c         C   s   |  j  |  j j ƒ  ƒ d  S(   N(   R   R   t   has_builtin_administrators(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_has_builtin_administrators#   s    c         C   s   |  j  |  j j ƒ  ƒ d  S(   N(   R   R   t   has_nt_authenticated_users(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_has_nt_authenticated_users&   s    c         C   s    |  j  |  j j t j ƒ ƒ d  S(   N(   R   R   t   has_privilegeR    t   SEC_PRIV_SHUTDOWN(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_has_priv)   s    c         C   sX   |  j  |  j j t j ƒ ƒ |  j  |  j j t j ƒ ƒ |  j |  j j t j ƒ ƒ d  S(   N(   R   R   R   R    R   t   set_privileget
   assertTrue(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_set_priv,   s    (	   t   __name__t
   __module__R   R   R
   R   R   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyR      s   						t   SecurityDescriptorTestsc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   s&   t  t |  ƒ j ƒ  t j ƒ  |  _ d  S(   N(   R   R   R   R    t
   descriptor(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyR   4   s    c         C   s“   t  j j d t  j d ƒ ƒ } |  j | j t  j d ƒ ƒ |  j | j t  j d ƒ ƒ |  j | j d ƒ |  j | j d  ƒ |  j | j
 d ƒ d  S(   Ns-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)s   S-2-0-0s   S-2-0-0-512s   S-1-5-32-548i   i€  (   R    R   t	   from_sddlt   dom_sidt   assertEqualst	   group_sidt	   owner_sidt   revisiont   saclt   Nonet   type(   R   t   desc(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_from_sddl8   s    c         C   s)   |  j  t t j j d t j d ƒ ƒ d  S(   Nt   foos   S-2-0-0(   t   assertRaisest	   TypeErrorR    R   R   R   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_from_sddl_invalidsddl@   s    c         C   s2   |  j  t t j j t j d ƒ t j d ƒ ƒ d  S(   Ns   S-2-0-0-512s   S-2-0-0(   R%   R&   R    R   R   R   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_from_sddl_invalidtype1C   s    c         C   s&   d } |  j  t t j j | d ƒ d  S(   Ns-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)s   S-2-0-0(   R%   R&   R    R   R   (   R   t   sddl(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_from_sddl_invalidtype2F   s    c         C   s¤   d } t  j d ƒ } t  j j | | ƒ } t  j j | j | ƒ | ƒ } |  j | j | j ƒ |  j | j | j ƒ |  j | j | j ƒ |  j | j	 | j	 ƒ d  S(   Ns-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)s   S-2-0-0(
   R    R   R   R   t   as_sddlR   R   R   R   R!   (   R   t   textt   domt   desc1t   desc2(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_as_sddlK   s    c         C   sD   d } t  j d ƒ } t  j j | | ƒ } |  j t | j | ƒ d  S(   Ns-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)s   S-2-0-0(   R    R   R   R   R%   R&   R+   (   R   R,   R-   R.   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_as_sddl_invalidU   s    c         C   s¡   t  j d ƒ } d } t  j j | | ƒ } t  j j | j ƒ  | ƒ } |  j | j | j ƒ |  j | j | j ƒ |  j | j | j ƒ |  j | j	 | j	 ƒ d  S(   Ns   S-2-0-0s-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)(
   R    R   R   R   R+   R   R   R   R   R!   (   R   R-   R,   R.   R/   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_as_sddl_no_domainsid\   s    c         C   sM   t  j d ƒ } d } t  j j | | ƒ } |  j | j ƒ  | j | ƒ ƒ d  S(   Ns   S-2-0-0s-   O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)(   R    R   R   R   t   assertNotEqualR+   (   R   R-   R,   R.   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_domsid_nodomsid_as_sddlf   s    c         C   s8   t  j d ƒ } |  j t  j d ƒ d f | j ƒ  ƒ d  S(   Ns   S-2-0-7s   S-2-0i   (   R    R   R   t   split(   R   R-   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt
   test_splitl   s    (   R   R   R   R#   R'   R(   R*   R0   R1   R2   R4   R6   (    (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyR   2   s   						
		
	t   DomSidTestsc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s)   t  j d ƒ } |  j d t | ƒ ƒ d  S(   Ns   S-1-5-21(   R    R   R   t   str(   R   t   sid(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_parse_sids   s    c         C   sB   t  j d ƒ } t  j d ƒ } |  j | | ƒ |  j | | ƒ d  S(   Ns   S-1-5-21(   R    R   R   (   R   t   sid1t   sid2(    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_sid_equalw   s    c         C   s,   t  j ƒ  } |  j t | ƒ j d ƒ ƒ d  S(   Ns	   S-1-5-21-(   R    t
   random_sidR   R8   t
   startswith(   R   R9   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_random}   s    c         C   s,   t  j ƒ  } |  j t | ƒ j d ƒ ƒ d  S(   Ns   dom_sid('S-1-5-21-(   R    R>   R   t   reprR?   (   R   R9   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt	   test_repr   s    (   R   R   R:   R=   R@   RB   (    (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyR7   q   s   			t   PrivilegeTestsc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s    |  j  d t j t j ƒ ƒ d  S(   Nt   SeShutdownPrivilege(   R   R    t   privilege_nameR   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_privilege_nameˆ   s    	c         C   s    |  j  t j t j d ƒ ƒ d  S(   NRD   (   R   R    R   t   privilege_id(   R   (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   test_privilege_idŒ   s    (   R   R   RF   RH   (    (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyRC   †   s   	(   t   __doc__t   samba.testst   sambat   samba.dcerpcR    t   testst   TestCaseR   R   R7   RC   (    (    (    s8   /usr/lib/python2.7/dist-packages/samba/tests/security.pyt   <module>   s   ?