
    b                         d dl Z d dlZd dlmZ d dlmZ  G d de          Z G d de          Z G d d	e          ZdS )
    N)SambaToolCmdTest)sitesc                   "     e Zd ZdZ fdZ xZS )BaseSitesCmdTestCasez"Tests for samba-tool sites subnetsc                    t          t          |                                            dt          j        d         z  | _        dt          j        d         dt          j        d         | _        |                     d| j        | j                  | _        t          | j        
                                          | _        d S )Nz	ldap://%s	DC_SERVERz-UDC_USERNAMEz%DC_PASSWORD-H)superr   setUposenvirondburlcreds_stringgetSamDBsamdbstrget_config_basedn	config_dnself	__class__s    >/usr/lib/python3/dist-packages/samba/tests/samba_tool/sites.pyr   zBaseSitesCmdTestCase.setUp   s    "D))//111 2:k#::

*,*]*C*C*C*,*]*C*CE ]]4T5FGG
TZ99;;<<    )__name__
__module____qualname____doc__r   __classcell__r   s   @r   r   r      s>        ,,= = = = = = = = =r   r   c                       e Zd Zd ZdS )SitesCmdTestCasec                    d}|                      dd|d| j        | j                  \  }}}|                     |||           t	          j        | j        d| j        z            }t	          j        | j        d|d|          }| j                            |t          j	        d|z  	          }| 
                    t          |          d
           | j                            |dg           d S )Nnew_siter   creater   zCN=Sites,%szCN=,z(cn=%s)basescope
expression   tree_delete:0)	runsubcmdr   r   assertCmdSuccessldbDnr   r   searchSCOPE_ONELEVELassertEquallendelete)r   sitenameresultouterrdnsitesdnsiterets           r   test_site_createz!SitesCmdTestCase.test_site_create*   s    >>'8X*.
D<MO OSfc3///&]T^%CDD

(((GG$DEEjWC4F+4x+?   A AS1%%% 	
&?"344444r   N)r   r   r   r>    r   r   r#   r#   (   s#        5 5 5 5 5r   r#   c                   4     e Zd Z fdZ fdZd Zd Z xZS )SitesSubnetCmdTestCasec                 j   t          t          |                                            d| _        d| _        | j                                         t          j        | j        | j	        | j                   t          j        | j        | j	        | j                   | j        
                                 d S )Ntestsite	testsite2)r   rA   r   r7   	sitename2r   transaction_startr   create_siter   transaction_commitr   s    r   r   zSitesSubnetCmdTestCase.setUp=   s    $d++11333"$
$$&&&$*dndmDDD$*dndnEEE
%%'''''r   c                 N   | j                                          t          j        | j         | j        | j                   t          j        | j         | j        | j                   | j                                          t          t          |           
                                 d S )N)r   rF   r   delete_siter   r7   rE   rH   r   rA   tearDownr   s    r   rK   zSitesSubnetCmdTestCase.tearDownF   s    
$$&&&$*dndmDDD$*dndnEEE
%%'''$d++4466666r   c                 d   d| j         fd| j        fd| j        fd| j         fd| j         fd| j        ff}|D ]\  }}|                     ddd	||d
| j        | j                  \  }}}|                     |||           | j                            | j        t          j
        d|z            }|                     |           |                     t          |          d           t          j        | j        d| j        z            }|D ]\  }}t          j        | j        d|d| j                  }	| j                            |t          j        d|z            }|                     |           |                     t          |          d           | j                            |	dg           d S )Nz10.9.8.0/24z50.60.0.0/16z50.61.0.0/16z
50.0.0.0/8z50.62.1.2/32z+aaaa:bbbb:cccc:dddd:eeee:ffff:2222:1100/120r   subnetr&   r   (&(objectclass=subnet)(cn=%s))r(   r,   zCN=Subnets,CN=Sites,%szCn=z,CN=Subnets,CN=Sites,z(CN=%s)r-   )r7   rE   r.   r   r   r/   r   r2   r   r0   SCOPE_SUBTREEassertIsNotNoner4   r5   r1   r3   r6   )
r   cidrscidrr7   r8   r9   r:   r=   	dnsubnetsdnsubnets
             r   test_site_subnet_createz.SitesSubnetCmdTestCase.test_site_subnet_createM   s   / $.1 $.1. $-0?." $ 	* 	*ND(#~~gx.2H.2DJ.2.? A  AFC !!&#s333*##*-*;0P2617 $ 9 9C   %%%SXXq))))F4:3dnDF F	 $ 	; 	;ND(vdjj,0DD$..,B D DH *###:L/84/? $ A AC  %%%SXXq)))Jh(9::::	; 	;r   c                    d| j         fd| j        fd| j        fd| j         fd| j         ff}|D ]\  }}|                     ddd||d	| j        | j                  \  }}}|                     |           | j                            | j        t          j
        d
|z            }|                     |           |                     t          |          d           d S )Nz10.9.8.0/33z50.60.0.0/8z50.261.0.0/16z7.0.0.0.0/0z+aaaa:bbbb:cccc:dddd:eeee:ffff:2222:1100/119r   rM   r&   r   rN   r(   r   )r7   rE   r.   r   r   assertCmdFailr   r2   r   r0   rO   rP   r4   r5   )r   rQ   rR   r7   r8   r9   r:   r=   s           r   #test_site_subnet_create_should_failz:SitesSubnetCmdTestCase.test_site_subnet_create_should_failr   s   /0!4>2/?-!	 $ 	* 	*ND(#~~gx.2H.2DJ.2.? A  AFC v&&&*##*-*;0P2617 $ 9 9C
   %%%SXXq))))	* 	*r   )r   r   r   r   rK   rU   rX   r    r!   s   @r   rA   rA   <   sp        ( ( ( ( (7 7 7 7 7#; #; #;J* * * * * * *r   rA   )	r   r0   samba.tests.samba_tool.baser   sambar   r   r#   rA   r?   r   r   <module>r[      s   , 
			 



 8 8 8 8 8 8      	= 	= 	= 	= 	=+ 	= 	= 	=5 5 5 5 5+ 5 5 5(L* L* L* L* L*1 L* L* L* L* L*r   