a
    ¡Öaª  ã                   @   s  d dl mZ 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 d¡Ze
 e¡Ze e¡ e e
 e¡¡ e
 e¡Ze e¡ eeƒZe e¡ e ¡ \ZZe ¡ Z e !e ¡Z"G d	d
„ d
ej#j$ƒZ%dS )é    )Úprint_functionN)Úsystem_session)Úldb)ÚSamDB)ÚSubunitOptionsz
bin/pythonzldap_referrals.py [options]c                       s,   e Zd Z‡ fdd„Zdd„ Zdd„ Z‡  ZS )ÚLdapReferralTestc                    s   t t| ƒ ¡  d S )N)Úsuperr   ÚsetUp)Úself©Ú	__class__© ú</usr/lib/python3/dist-packages/samba/tests/ldap_referrals.pyr	   4   s    zLdapReferralTest.setUpc                 C   sp   t jd }d |¡}t|tttƒtd}|j| ¡ dt	j
ddgd}|j}|D ]}|  | d¡d	 |¡¡ qNd S )
NÚSERVERz
ldap://{0}©ZcredentialsZsession_infoÚlpú(objectClass=nonexistent)Ú
objectGUIDÚsamAccountName©ÚbaseZ
expressionZscopeÚattrszldap://z{0} does not start with ldap://©ÚosÚenvironÚformatr   Úcredsr   r   ÚsearchZ	domain_dnr   ZSCOPE_SUBTREEÚreferalsZ
assertTrueÚ
startswith©r
   ZserverZurlZdbÚresr   Zreferalr   r   r   Útest_ldap_search9   s"    

ÿüþz!LdapReferralTest.test_ldap_searchc                 C   sp   t jd }d |¡}t|tttƒtd}|j| ¡ dt	j
ddgd}|j}|D ]}|  | d¡d	 |¡¡ qNd S )
Nr   zldaps://{0}r   r   r   r   r   zldaps://z {0} does not start with ldaps://r   r    r   r   r   Útest_ldaps_searchL   s"    

ÿüþz"LdapReferralTest.test_ldaps_search)Ú__name__Ú
__module__Ú__qualname__r	   r"   r#   Ú__classcell__r   r   r   r   r   2   s   r   )&Z
__future__r   Zoptparser   ÚsysZsambaZ
samba.authr   Zsamba.getoptZgetoptZoptionsr   Zsamba.samdbr   Zsamba.testsZsamba.tests.subunitrunr   ÚpathÚinsertZOptionParserÚparserZSambaOptionsZ	sambaoptsZadd_option_groupZVersionOptionsZCredentialsOptionsZcredoptsZsubunitoptsÚ
parse_argsZoptsÚargsZget_loadparmr   Zget_credentialsr   ZtestsZTestCaser   r   r   r   r   Ú<module>   s.   






