o
    Lf	                     @   s   d dl 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mZ d dlmZ ejdd	 Zejd
d Zejdd Zejdd Zejdd Zejdd Zejdd Zejdddd Zejdd ZdS )    Ncontextmanager)patch)get_user_model)EmailAddress)
user_emailuser_username)contextc                 C      |  S N )user_factoryr   r   Q/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/conftest.pyuser      r   c                 C   s   |  | | S r   )force_login)clientr   r   r   r   auth_client   s   
r   c                  C   s   dd } | S )Nc                   S   s   t t S r   )struuiduuid4r   r   r   r   f   s   zpassword_factory.<locals>.fr   r   r   r   r   password_factory   s   r   c                 C   r
   r   r   )r   r   r   r   user_password!   r   r   c                    s2   ddl m 	 	 				 		d fdd	}|S )Nr   )totpTFc           
         s   |st  j}| s|r |d} t }| }	|dkr||	_n|	|d u r&n| t|	| t|	| p3d |rI|	  | rI|rIt	j
j|	| |dd |rTj|	  |	S )Nusername! T)r   emailverifiedprimary)r   r   hexr   passwordset_passwordr   r   saver   objectscreateTOTPactivategenerate_totp_secret)
r    r   commit
with_emailemail_verifiedr$   with_emailaddress	with_totpUserr   email_factoryr   r   r   r   factory*   s(   



zuser_factory.<locals>.factory)NNTTTNTF)allauth.mfar   )r3   dbr   r4   r   r2   r   r   &   s   "r   c                  C   s   ddd} | S )Nc                 S   s$   | st  j} |  dt  j dS )N@z.org)r   r   r#   r   r   r   r   r4   Q   s   
zemail_factory.<locals>.factoryr   r   )r4   r   r   r   r3   O   s   
r3   c                  C   s   t dd } | S )Nc                  s   s<    t d} d| _d V  W d    d S 1 sw   Y  d S )Nz4allauth.account.decorators.did_recently_authenticateT)r   return_value)mr   r   r   r   [   s
   
"z"reauthentication_bypass.<locals>.fr   r   r   r   r   reauthentication_bypassY   s   
r:   T)autousec                   C   s   t jd  d S r   )r	   _request_varsetr   r   r   r   clear_context_requestd   s   r>   c                 c   s.    ddl m} dddii| _|  d V  d S )Nr   )cachedefaultBACKENDz-django.core.cache.backends.locmem.LocMemCache)django.core.cacher?   CACHESclear)settingsr?   r   r   r   enable_cachei   s   
rF   )r   
contextlibr   unittest.mockr   django.contrib.authr   pytestallauth.account.modelsr   allauth.account.utilsr   r   allauth.corer	   fixturer   r   r   r   r   r3   r:   r>   rF   r   r   r   r   <module>   s4    




(
	



