o
    h                     @   s   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
 d dlmZ G dd	 d	eZejd
e
jjhe
jjhe
jje
jjhgdd ZdS )    )patch)get_user_model)TestCase)override_settingsN)app_settings)AuthenticationBackendc                   @   sb   e Zd Zdd Zeejjhddd Zeejj	hddd Z
eejj	ejjhddd	 Zd
S )AuthenticationBackendTestsc                 C   s2   t  jjdddd}||j |  || _d S )NTzjohn@example.comjohn)	is_activeemailusername)r   objectscreateset_passwordr   saveuser)selfr    r   c/var/www/html/env_mimamsha/lib/python3.10/site-packages/allauth/account/tests/test_auth_backends.pysetUp   s   
z AuthenticationBackendTests.setUp)ACCOUNT_LOGIN_METHODSc                 C   sL   | j }t }| |jd |j|jdj|j | |jd |j|jdd  d S N)requestr   password)r   r   assertEqualauthenticater   pkr   r   r   backendr   r   r   test_auth_by_username   s   

z0AuthenticationBackendTests.test_auth_by_usernamec                 C   sL   | j }t }| |jd |j|jdj|j | |jd |j|jdd  d S r   r   r   r   r   r   r   r   r   r   r   r   test_auth_by_email)   s   

z-AuthenticationBackendTests.test_auth_by_emailc                 C   sP   | j }t }| |jd |j|jdj|j | |jd |j|jdj|j d S r   r    r   r   r   r   test_auth_by_username_or_email:   s    

z9AuthenticationBackendTests.test_auth_by_username_or_emailN)__name__
__module____qualname__r   r   r   LoginMethodUSERNAMEr   EMAILr!   r"   r   r   r   r   r      s    

r   login_methodsc              	   C   s   ||_ tdc}td|dD t }|j|ddddd |  |  |j|d| jdd	 |  |  |j|d| jddd |  W d    n1 sUw   Y  W d    d S W d    d S 1 smw   Y  d S )
Nz,django.contrib.auth.models.User.set_passwordz.django.contrib.auth.models.User.check_password)new/znot@known.orgz	not-knownsecret)r   r   r   )r   r   )	r   r   r   r   getassert_called_once
reset_mockr   r   )r   dbrfsettingsr)   set_password_mockr   r   r   r   &test_account_enumeration_timing_attackQ   s2   	

"r4   )unittest.mockr   django.contrib.authr   django.testr   django.test.utilsr   pytestallauth.accountr   allauth.account.auth_backendsr   r   markparametrizer&   r(   r'   r4   r   r   r   r   <module>   s     D