Ë
    ûûàgê  ã                   óÆ   — 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„ Zej                  j                  d	d
dg«      d„ «       Zd„ Z ed¬«      d„ «       Zy)é    )ÚMock)ÚAnonymousUser)Úoverride_settingsN)ÚUserSessionsMiddleware)ÚUserSession)Úsession_client_changedc                 ó¢   — d|_         t        d„ «      }| j                  d«      } ||«       t        j                  j                  «       dk(  sJ ‚y )NTc                  ó   — y ©N© ©Úrequests    úh/var/www/skyplay_api_hub/venv/lib/python3.12/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   s        r   Útest_mw_without_request_userr      sF   € Ø+/€HÔ(Ü	Ñ 4Ó	5€BØ�f‰f�S‹k€GÙ€w„KÜ×Ñ×$Ñ$Ó&¨!Ò+Ð+Ñ+r   Útrack_activityFTc                 ó  — ||_         t        d„ «      }| j                  d«      }||_        t	        «       |_        d|j
                  _         ||«       t        j                  j                  d|¬«      j                  «       |u sJ ‚y )Nc                  ó   — y r   r   r   s    r   r   z+test_mw_with_request_user.<locals>.<lambda>   r   r   r   úsess-123©Úsession_keyÚuser)r   r   r   r$   r   Úsessionr#   r   r   ÚfilterÚexists)r   r   r   r$   r   r   r   s          r   Útest_mw_with_request_userr(      sy   € à+9€HÔ(Ü	Ñ 4Ó	5€BØ�f‰f�S‹k€GØ€G„LÜ“f€G„OØ",€G‡O�OÔÙ€w„Kä×Ñ×"Ñ"¨zÀÐ"ÓE×LÑLÓNØñ	ðñ	r   c                 óú   — d|_         t        d„ «      }| j                  d«      }t        «       |_        t        «       |_        d|j                  _         ||«       t        j                  j                  «       rJ ‚y )NTc                  ó   — y r   r   r   s    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   s        r   Ú#test_mw_with_anonymous_request_userr+   $   sb   € Ø+/€HÔ(Ü	Ñ 4Ó	5€BØ�f‰f�S‹k€GÜ “?€G„LÜ“f€G„OØ",€G‡O�OÔÙ€w„KÜ×"Ñ"×)Ñ)Ô+Ð+Ð+Ð+r   )r   c                 ó6  ‡
— t        d„ «      }| j                  d«      }||_        t        «       |_        d|j                  _        d|j                  d<   d|j                  d<    ||«       | j                  d«      }||_        t        «       |_        d|j                  _        d|j                  d<   d	|j                  d<   g Š
ˆ
fd
„}t        j                  |«        ||«       t        j                  j                  d|¬«      }|j                  d	k(  sJ ‚|j                  dk(  sJ ‚t        ‰
«      dk(  sJ ‚‰
d   \  }}	|j                  dk(  sJ ‚|j                  dk(  sJ ‚|	j                  d	k(  sJ ‚|	j                  dk(  sJ ‚t        j                  |«       y )Nc                  ó   — y r   r   r   s    r   r   z1test_mw_change_ip_and_useragent.<locals>.<lambda>1   r   r   r   r!   zOld User AgentÚHTTP_USER_AGENTz1.1.1.1ÚREMOTE_ADDRzNew User Agentz2.2.2.2c                 ó,   •— ‰j                  ||f«       y r   )Úappend)Úsenderr   Úfrom_sessionÚ
to_sessionÚkwargsÚsignal_receiveds        €r   Úsignal_handlerz7test_mw_change_ip_and_useragent.<locals>.signal_handlerG   s   ø€ Ø×Ñ ¨jÐ9Õ:r   r"   é   r   )r   r   r$   r   r%   r#   ÚMETAr   Úconnectr   r   ÚipÚ
user_agentÚlenÚ
disconnect)r   r   r$   r   Úrequest1Úrequest2r7   Úuser_sessionr3   r4   r6   s             @r   Útest_mw_change_ip_and_useragentrB   /   s–  ø€ ä	Ñ 4Ó	5€Bð �v‰v�c‹{€HØ€H„MÜ“v€HÔØ#-€H×ÑÔ Ø'7€H‡M�MÐ#Ñ$Ø#,€H‡M�M�-Ñ Ù€x„Lð �v‰v�c‹{€HØ€H„MÜ“v€HÔØ#-€H×ÑÔ Ø'7€H‡M�MÐ#Ñ$Ø#,€H‡M�M�-Ñ ð €Oô;ô ×"Ñ" >Ô2ñ €x„Lô ×&Ñ&×*Ñ*°zÈÐ*ÓM€LØ�?‰?˜iÒ'Ð'Ð'Ø×"Ñ"Ð&6Ò6Ð6Ð6ô ˆÓ 1Ò$Ð$Ð$Ø.¨qÑ1Ñ€L�*Ø�?‰?˜iÒ'Ð'Ð'Ø×"Ñ"Ð&6Ò6Ð6Ð6Ø�=‰=˜IÒ%Ð%Ð%Ø× Ñ Ð$4Ò4Ð4Ð4ô ×%Ñ% nÕ5r   )Úunittest.mockr   Údjango.contrib.auth.modelsr   Údjango.test.utilsr   ÚpytestÚallauth.usersessions.middlewarer   Úallauth.usersessions.modelsr   Úallauth.usersessions.signalsr   r   ÚmarkÚparametrizer(   r+   rB   r   r   r   ú<module>rL      sg   ðÝ å 4Ý /ã å BÝ 3Ý ?ò,ð ‡�×ÑÐ)¨E°4¨=Ó9ñó :ðò,ñ ¨tÔ4ñ-6ó 5ñ-6r   