o
    "4g                     @   s   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
 d dlmZ dd	 Zejd
ddgdd Zdd Zedddd ZdS )    )Mock)AnonymousUser)override_settingsN)UserSessionsMiddleware)UserSession)session_client_changedc                 C   s:   d|_ tdd }| d}|| tj dksJ d S )NTc                 S      d S N requestr
   r
   s/var/www/html/authentication-server/venv/lib/python3.10/site-packages/allauth/usersessions/tests/test_middleware.py<lambda>       z.test_mw_without_request_user.<locals>.<lambda>/r   )USERSESSIONS_TRACK_ACTIVITYr   getr   objectscountrfdbsettingsmwr   r
   r
   r   test_mw_without_request_user   s
   
r   track_activityFTc                 C   sZ   ||_ tdd }| d}||_t |_d|j_|| tjj	d|d
 |u s+J d S )Nc                 S   r   r	   r
   r   r
   r
   r   r      r   z+test_mw_with_request_user.<locals>.<lambda>r   sess-123session_keyuser)r   r   r   r   r   sessionr   r   r   filterexists)r   r   r   r   r   r   r   r
   r
   r   test_mw_with_request_user   s   
r#   c                 C   sN   d|_ tdd }| d}t |_t |_d|j_|| tj	
 r%J d S )NTc                 S   r   r	   r
   r   r
   r
   r   r   &   r   z5test_mw_with_anonymous_request_user.<locals>.<lambda>r   r   )r   r   r   r   r   r   r    r   r   r   r"   r   r
   r
   r   #test_mw_with_anonymous_request_user$   s   
r$   )r   c           
         s,  t dd }| d}||_t |_d|j_d|jd< d|jd< || | d}||_t |_d|j_d	|jd< d
|jd< g   fdd}t| || t	j
jd|d}|jd
ks^J |jd	kseJ t dksmJ  d \}}	|jdkszJ |jdksJ |	jd
ksJ |	jd	ksJ t| d S )Nc                 S   r   r	   r
   r   r
   r
   r   r   1   r   z1test_mw_change_ip_and_useragent.<locals>.<lambda>r   r   zOld User AgentHTTP_USER_AGENTz1.1.1.1REMOTE_ADDRzNew User Agentz2.2.2.2c                    s     ||f d S r	   )append)senderr   from_session
to_sessionkwargssignal_receivedr
   r   signal_handlerG   s   z7test_mw_change_ip_and_useragent.<locals>.signal_handlerr      r   )r   r   r   r   r    r   METAr   connectr   r   ip
user_agentlen
disconnect)
r   r   r   r   request1request2r.   user_sessionr)   r*   r
   r,   r   test_mw_change_ip_and_useragent/   s8   






r9   )unittest.mockr   django.contrib.auth.modelsr   django.test.utilsr   pytestallauth.usersessions.middlewarer   allauth.usersessions.modelsr   allauth.usersessions.signalsr   r   markparametrizer#   r$   r9   r
   r
   r
   r   <module>   s    
