o
    "4g%                     @   s   d dl mZ d dlmZ d dlZejddgddd Zejd	d
 ZG dd deZejdd Z	ejdd Z
ejdd ZdS )    )Client)reverseNappbrowser)paramsc                 C   s   | j S N)param)request r
   b/var/www/html/authentication-server/venv/lib/python3.10/site-packages/allauth/headless/conftest.pyheadless_client      r   c                    s    fdd}|S )Nc                    s$   |  dd  d} t| fi |S )Nz	headless::)replacer   )viewnamekwargsr   r
   r   rev   s   zheadless_reverse.<locals>.revr
   )r   r   r
   r   r   headless_reverse   s   r   c                       s4   e Zd ZdZ fddZ fddZdd Z  ZS )	AppClientNc                    sV   | j r| j |d< t j|i |}|d dkr)| }|di d}|r)|| _ |S )NHTTP_X_SESSION_TOKENzcontent-typezapplication/jsonmetasession_token)r   supergenericjsonget)selfargsr   respdatar   	__class__r
   r   r      s   
zAppClient.genericc                    s   t  |}| jj| _|S r   )r   force_loginsessionsession_keyr   )r   userretr!   r
   r   r#   #   s   
zAppClient.force_loginc                 C   s   ddl m} || jS )Nr   )
sessionkit)allauth.headless.internalr(   session_storer   )r   r(   r
   r
   r   headless_session(   s   zAppClient.headless_session)__name__
__module____qualname__r   r   r#   r+   __classcell__r
   r
   r!   r   r      s
    r   c                   C   s   t  S r   )r   r
   r
   r
   r   
app_client.   r   r0   c                    s&   | dkrt    fdd _ S t S )Nr   c                      s    j S r   )r$   r
   clientr
   r   <lambda>7   s    zclient.<locals>.<lambda>)r   r+   r   r   r
   r1   r   r2   3   s
   r2   c                 C   s   |  | | S r   )r#   )r2   r&   r
   r
   r   auth_client<   s   
r4   )django.test.clientr   django.urlsr   pytestfixturer   r   r   r0   r2   r4   r
   r
   r
   r   <module>   s    



