%PDF- %PDF-
| Direktori : /lib/python3.9/site-packages/passlib/tests/__pycache__/ |
| Current File : //lib/python3.9/site-packages/passlib/tests/__pycache__/test_apache.cpython-39.opt-1.pyc |
a
f�Wc�r � @ s d Z ddlmZ ddlmZ ddlZddlZddlmZm Z ddl
mZ ddlm
Z
ddlmZ dd lmZmZmZmZ dd
lmZ ddlmZ ddlmZ ee�Zddd�Zej�d�p�dZddd�Z dd� Z!dd� Z"e"� \Z#Z$e�%e#d�Z&G dd� de�Z'G dd� de�Z(dS )z@tests for passlib.apache -- (c) Assurance Technologies 2008-2011� )�with_statement)� getLoggerN)�apache�registry)�MissingBackendError)�irange)�unittest)�TestCase�get_file�set_file�ensure_mtime_changed)�u)�to_bytes)�to_unicode_for_identify�
c C s0 t j�| �}t j�| �| }t �| ||f� dS )z)backdate file's mtime by specified amountN)�os�path�getatime�getmtime�utime)r �offsetZatime�mtime� r �=/usr/lib/python3.9/site-packages/passlib/tests/test_apache.py�backdate_file_mtime s r ZPASSLIB_TEST_HTPASSWD_PATHZhtpasswdc C sb |dur|� d�}tjtg| tjtj|r0tjndd�}|�|�\}}|�� }t|pVd�}||fS )z$
helper to run htpasswd cmd
N�utf-8)�stdout�stderr�stdin� ) �encode�
subprocess�Popen�
htpasswd_path�PIPEZSTDOUTZcommunicate�waitr )�argsr �proc�out�err�rcr r r �_call_htpasswd+ s
�r+ c C s t d| |g|�\}}| S )z%
wrapper for htpasswd verify
z-vi)r+ )r �user�passwordr( r* r r r �_call_htpasswd_verify9 s r. c C sD zt g �\} }W n ty$ Y dS 0 |s4t�d� d| v }d|fS )z0
helper to check if htpasswd is present
)FFz htpasswd test returned with rc=0z -B T)r+ �OSError�logZwarning)r( r* Zhave_bcryptr r r �_detect_htpasswdA s
r1 z requires `htpasswd` cmdline toolc @ s� e Zd ZdZdZdZdZdZdZdZ dZ
d Zd
d� Zdd
� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zed.d/� �Zee �!e"�#d0�d1�d2d3� ��Z$d4S )5�HtpasswdFileTestztest HtpasswdFile class�HtpasswdFilest user2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
s4 user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
sy user2:pass2x
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:pass5
s useræ:2CHkkwa2AtqGs
s user�:2CHkkwa2AtqGs
s user1:pass1
user1:pass2
s user2:2CHkkwa2AtqGs
user3:{SHA}3ipNV1GrBtxPmHFC21fCbVCSXIo=
user4:pass4
user1:$apr1$t4tc7jTh$GPIWVUo8sQKJlUdV8V5vu0
user5:$2a$12$yktDxraxijBZ360orOyCOePFGhuis/umyPNJoL5EbsLk.s6SWdrRO
user6:$5$rounds=110000$cCRp/xUUGVgwR4aP$p0.QKFS5qLNRqw1/47lXYiAcgIjJK.WjCO8nrEKuUK.
c C s* | � � }t|| j� t�|�}| �|�� | j� | �|j|� | �|j � |d |_| �|j|d � | �
|j � tj|dd�}| �|�� d� | �|j|� | �
|j � | �d�� tj|dd�}W d � n1 s�0 Y | �|�� d� | �|j|� | �
|j � t�
|� | �ttj|� dS ) �test constructor autoload�xT��new� z ``autoload=False`` is deprecatedF)ZautoloadN)�mktempr � sample_01r r3 �assertEqual� to_stringr �
assertTruer �assertFalse�assertWarningListr �remove�assertRaises�IOError��selfr �htr r r �test_00_constructor_autoload} s(
,
z-HtpasswdFileTest.test_00_constructor_autoloadc C sP | � � }t|| j� tj�|�}| �|�� | j� | �|jd � | � |j
� d S �N)r9 r r: r r3 Z from_pathr; r<