
    )Jf	                        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             Zej        d	             Zej        d
             Zej        d             Zej        d             Zej        d             Zej        d             Z ej        d          d             Zej        d             ZdS )    Ncontextmanager)patch)get_user_model)EmailAddress)
user_emailuser_username)contextc                      |             S N )user_factorys    S/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/conftest.pyuserr      s    <>>    c                 0    |                      |           | S r   )force_login)clientr   s     r   auth_clientr      s    
tMr   c                      d } | S )Nc                  B    t          t          j                              S r   )struuiduuid4r   r   r   fzpassword_factory.<locals>.f   s    4:<<   r   r   r   s    r   password_factoryr      s    ! ! ! Hr   c                      |             S r   r   )r   s    r   user_passwordr   !   s    r   c                 8     ddl m 	 	 	 	 	 	 	 	 d fd	}|S )Nr   )totpTFc                    |st          j                    j        }| s|r 
|          } t                      } |            }	|dk    r||	_        n|	                    |n|           t          |	|           t          |	| pd           |r;|	                                 | r%|r#t          j
                            |	| |d           |r-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   s             r   factoryzuser_factory.<locals>.factory*   s'     	(z||'H 	5 	5!M8444Etvvs??$DMMx/?mmXNNNdH%%%4"%%% 	IIKKK * $++U^T ,     	BItT%>%>%@%@AAAr   )NNTTTNTF)allauth.mfar!   )r9   dbr   r:   r!   s   ` ` @r   r   r   &   sa                          D Nr   c                      dd} | S )Nc                 r    | st          j                    j        } |  dt          j                    j         dS )N@z.org)r   r   r*   r#   s    r   r:   zemail_factory.<locals>.factoryQ   s8     	(z||'H33TZ\\-3333r   r   r   )r:   s    r   r9   r9   O   s    4 4 4 4
 Nr   c                  &    t           d             } | S )Nc               3   p   K   t          d          5 } d| _        d V  d d d            d S # 1 swxY w Y   d S )Nz4allauth.account.decorators.did_recently_authenticateT)r   return_value)ms    r   r   z"reauthentication_bypass.<locals>.f[   s      IJJ 	a!ANEEE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   +//r   r   s    r   reauthentication_bypassrD   Y   s"      ^
 Hr   T)autousec                  D    t           j                            d            d S r   )r
   _request_varsetr   r   r   clear_context_requestrI   d   s    T"""""r   c              #   (   K   dddii| _         d V  d S )NdefaultBACKENDz-django.core.cache.backends.locmem.LocMemCache)CACHES)settingss    r   enable_cacherO   i   s.       	F
HO
 
EEEEEr   )r   
contextlibr   unittest.mockr   django.contrib.authr   pytestallauth.account.modelsr   allauth.account.utilsr   r	   allauth.corer
   fixturer   r   r   r   r   r9   rD   rI   rO   r   r   r   <module>rX      s    % % % % % %       . . . . . .  / / / / / / ; ; ; ; ; ; ; ;                  
       % % %P       # # # 
 
 
 
 
r   