
    b                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlZd dlmZ ej                            d d            e j        d          Z ej        e          Ze                    e           e                     ej        e                      ej        e          Ze                    e            ee          Ze                    e           e                                \  ZZe                                Ze                    e          Z  G d d	ej!        j"                  Z#dS )
    N)system_session)ldb)SamDB)SubunitOptionsz
bin/pythonzldap_referrals.py [options]c                   *     e Zd Z fdZd Zd Z xZS )LdapReferralTestc                 V    t          t          |                                            d S )N)superr   setUp)self	__class__s    </usr/lib/python3/dist-packages/samba/tests/ldap_referrals.pyr   zLdapReferralTest.setUp3   s&    %%++-----    c                    t           j        d         }d                    |          }t          |t          t          t                    t                    }|                    |                                dt          j
        ddg          }|j        }|D ]>}|                     |                    d          d	                    |                     ?d S )
NSERVERz
ldap://{0}credentialssession_infolp(objectClass=nonexistent)
objectGUIDsamAccountNamebase
expressionscopeattrszldap://z{0} does not start with ldap://osenvironformatr   credsr   r   search	domain_dnr   SCOPE_SUBTREEreferals
assertTrue
startswithr   serverurldbresr&   referals          r   test_ldap_searchz!LdapReferralTest.test_ldap_search8   s    H%!!&))U1C1CL L Lii2#!12	  4 4 < 	C 	CGOO""9--188AAC C C C	C 	Cr   c                    t           j        d         }d                    |          }t          |t          t          t                    t                    }|                    |                                dt          j
        ddg          }|j        }|D ]>}|                     |                    d          d	                    |                     ?d S )
Nr   zldaps://{0}r   r   r   r   r   zldaps://z {0} does not start with ldaps://r   r)   s          r   test_ldaps_searchz"LdapReferralTest.test_ldaps_searchK   s    H%""6**U1C1CL L Lii2#!12	  4 4 < 	D 	DGOO"":..299'BBD D D D	D 	Dr   )__name__
__module____qualname__r   r/   r1   __classcell__)r   s   @r   r   r   1   s`        . . . . .
C C C&D D D D D D Dr   r   )$optparser   syssamba
samba.authr   samba.getoptgetoptoptionsr   samba.samdbr   samba.testssamba.tests.subunitrunr   pathinsertOptionParserparserSambaOptions	sambaoptsadd_option_groupVersionOptionsCredentialsOptionscredoptssubunitopts
parse_argsoptsargsget_loadparmr   get_credentialsr"   testsTestCaser    r   r   <module>rS      s  *  				 



  % % % % % %                       1 1 1 1 1 1 <      		<	=	= G ((	   	 " " "   ..v66 7 7 7%7%f--    ! ! !nV$$    $ $ $  
d  $$)D )D )D )D )Du{+ )D )D )D )D )Dr   