a
    ¡Öañ  ã                   @   sP   d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 G dd„ deƒZ
dS )é    )Úprint_functionN)ÚTestCase)ÚSamDB)ÚLdbErrorÚERR_OPERATIONS_ERRORc                       s8   e Zd Z‡ fdd„Z‡ fdd„Zdd„ Zdd„ Z‡  ZS )	ÚStandardModelProcessLimitTestsc                    s   t t| ƒ ¡  d S ©N)Úsuperr   ÚsetUp©Úself©Ú	__class__© ú</usr/lib/python3/dist-packages/samba/tests/process_limits.pyr
   #   s    z$StandardModelProcessLimitTests.setUpc                    s   t t| ƒ ¡  d S r   )r	   r   ÚtearDownr   r   r   r   r   &   s    z'StandardModelProcessLimitTests.tearDownc                 C   sF   | j |  ¡ d}| d| ¡ | ¡ f ¡ tdtjd  |  ¡ |dS )N©Útemplateú%s\%sz
ldaps://%sZSERVER)ZurlZlpZcredentials)	Úinsta_credsÚget_credentialsÚset_bind_dnÚ
get_domainÚget_usernamer   ÚosÚenvironZget_loadparm)r   Úcredsr   r   r   Úsimple_bind)   s    ÿþz*StandardModelProcessLimitTests.simple_bindc              
   C   s¸   | j |  ¡ d}| d| ¡ | ¡ f ¡ g }z*tdƒD ]}| |  ¡ ¡ q8|  d¡ W nN t	y¦ } z6|j
\}}|tkr|‚ | d¡s’| d¡s’‚ W Y d }~n
d }~0 0 |D ]}~q¬d S )Nr   r   é   z<Processes not limited, able to make more than 20 connectionsZ!NT_STATUS_CONNECTION_DISCONNECTEDZNT_STATUS_CONNECTION_RESET)r   r   r   r   r   ÚrangeÚappendr   Zfailr   Úargsr   Úendswith)r   r   ZconnectionsÚ_ÚeÚerrnoZestrÚcr   r   r   Útest_process_limits2   s,    ÿÿ

ÿz2StandardModelProcessLimitTests.test_process_limits)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r'   Ú__classcell__r   r   r   r   r   !   s   	r   )Z
__future__r   r   Zsamba.testsr   Zsamba.samdbr   Zldbr   r   r   r   r   r   r   Ú<module>   s
   