+
    ½„j  c                   óh  € ^ RI t^ RIHu Ht ^ RIt^ RIHt ^ RI	H
t
HtHtHtHt ]P                  P                   R 4       t]P                  P                   R 4       t]P                  P                   R 4       t]P                  P                   R 4       t]P                  P                   R 4       tR# )	é    N)Úget_database)Úcreate_sessionÚget_session_by_idÚupdate_session_statusÚclaim_session_atomicallyÚrequeue_sessionc               ƒ   ó’  "  € \        4       p \        V R R7      G Rj  x€L
 pVR,          pVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTVP                  pR
qH! V4      p	Rq©V
J q»'       gó   \        P                  ! RV3RWš34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R	\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p	;rº\        WRR7      G Rj  x€L
 pRq^VJqˆ'       g±   \        P                  ! RV3R Wå34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r…VR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTVR
,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTVP                  pRqH! V4      p	Rq©V
Jq»'       gó   \        P                  ! RV3R!Wš34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R	\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p	;rº\        W4      G Rj  x€L
 pVR
,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTVR,          pRqCV8H  qU'       gy   \        P                  ! RV3RW434      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p;rTR#  EL¡ EL× EL35i)"Úsite_demo_123©Úsite_idNÚ	sessionIdÚstatusÚRINGINGÚpy1Úpy4úassert %(py6)sÚpy6ÚassignedAgentIdÚpy0ÚsessionÚpy2Úpy9úassert %(py11)sÚpy11Úagent_alpha©Úagent_idÚclaimedÚpy3úassert %(py5)sÚpy5ÚIN_CHATÚmodeÚhumanÚ
assignedAt©ú==©z%(py1)s == %(py4)s©Úis©zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} is %(py9)s©úis not©z%(py0)s is not %(py3)s)zM%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} is not %(py9)s)r   r   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚAssertionErrorÚ_format_explanationÚgetÚ@py_builtinsÚlocalsÚ_should_repr_global_namer   r   )Údbr   Ú
session_idÚ@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7Ú@py_assert1Ú@py_assert5Ú@py_assert8Ú@py_assert7Ú@py_format10Ú@py_format12r   Ú@py_format4Ú@py_format6Úfetcheds                     ÚSC:\Users\alokc\chatbot\dev\chatbot\chatbot\backend\tests\test_session_assignment.pyÚ%test_claim_session_atomically_successrH      sÚ  é € ä	‹€BÜ" 2¨Ô?×?€GØ˜Õ%€JØ�8ÕÐ) 	Ð) 	Ñ)×)×)×)Ó)Ð×)×)Õ)Ð×)×)Ô) 	×)×)×)×)×)×)×)Ò)Ø�;‰;Ð1Ð(Ð1ˆ;Ð(Ó)Ð1¨TÐ1¨TÐ1×1×1×1Ó1Ð)×1×1×1×1×1×1ˆ7×1×1×1Ò1ˆ7×1×1Ö1ˆ;×1×1Ô1Ð(×1×1Ô1Ð)×1×1Ô1¨T×1×1×1×1×1×1×1Ö1ô -¨RÀmÔT×T€GØÐ˜$Ð×××Óˆ7××××××ˆ7×××Òˆ7××Ö˜$×××××××ÐØ�8ÕÐ) 	Ð) 	Ñ)×)×)×)Ó)Ð×)×)Õ)Ð×)×)Ô) 	×)×)×)×)×)×)×)Ò)Ø�6�?Ð%˜gÐ%˜gÑ%×%×%×%Ó%ˆ?×%×%Õ%ˆ?×%×%Ô%˜g×%×%×%×%×%×%×%Ò%ØÐ$Õ%Ð6¨Ð6¨Ñ6×6×6×6Ó6Ð%×6×6Õ6Ð%×6×6Ô6¨×6×6×6×6×6×6×6Ò6Ø�;‰;Ð0�|Ð0ˆ;�|Ó$Ð0¨DÐ0¨DÐ0×0×0×0Ó0Ð$×0×0×0×0×0×0ˆ7×0×0×0Ò0ˆ7×0×0Ö0ˆ;×0×0Ô0�|×0×0Ô0Ð$×0×0Ô0¨D×0×0×0×0×0×0×0Ö0ô & bÓ5×5€GØÐ$Õ%Ð6¨Ð6¨Ñ6×6×6×6Ó6Ð%×6×6Õ6Ð%×6×6Ô6¨×6×6×6×6×6×6×6Ò6Ø�8ÕÐ) 	Ð) 	Ñ)×)×)×)Ó)Ð×)×)Õ)Ð×)×)Ô) 	×)×)×)×)×)×)×)Ô)ò! @ò Uò 6ùsK   ‚[�Z>žD[Ä0B:[Ç*[Ç+A [ÉJ[ÓB8[Ö[ÖD-[Û[Û[c               ƒ   ó^  "  € \        4       p \        V R R7      G Rj  x€L
 pVR,          p\        WRR7      G Rj  x€L
 pRqCVJqU'       g±   \        P                  ! RV3RW434      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;rTVR,          pRq˜V	8H  qD'       gy   \        P                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rI\        WRR7      G Rj  x€L
 pRqLVJ qU'       g±   \        P                  ! RV3RWÄ34      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;rT\        W4      G Rj  x€L
 pVR,          pRq˜V	8H  qD'       gy   \        P                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rIVR,          pRq˜V	8H  qD'       gy   \        P                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rIR#  EL„ ELi EL EL65i)r	   r
   Nr   Úagent_1r   r   Úclaim1r   r   r    r   r   r   r   r   Úagent_2Úclaim2r   r!   r+   r-   r%   r'   r(   ©z%(py0)s is %(py3)s)r   r   r   r.   r/   r4   r5   r6   r0   r1   r2   r   )r7   r   r8   rK   r;   r>   rD   rE   r9   r:   r<   r=   rM   rF   s                 rG   Ú,test_claim_session_race_condition_preventionrO       s#  é € ä	‹€BÜ" 2¨Ô?×?€GØ˜Õ%€Jô ,¨BÀYÔO×O€FØÐ˜Ð×××Óˆ6××××××ˆ6×××Òˆ6××Ö˜×××××××ÐØÐ#Õ$Ð1¨	Ð1¨	Ñ1×1×1×1Ó1Ð$×1×1Õ1Ð$×1×1Ô1¨	×1×1×1×1×1×1×1Ò1ô ,¨BÀYÔO×O€FØÐ�Tˆ>×××Óˆ6××××××ˆ6×××Òˆ6××Ö�T×××××××Ðô & bÓ5×5€GØÐ$Õ%Ð2¨Ð2¨Ñ2×2×2×2Ó2Ð%×2×2Õ2Ð%×2×2Ô2¨×2×2×2×2×2×2×2Ò2Ø�8ÕÐ) 	Ð) 	Ñ)×)×)×)Ó)Ð×)×)Õ)Ð×)×)Ô) 	×)×)×)×)×)×)×)Ô)ò @ò Pò
 Pò 6ùsT   ‚N-�N!žN-»N$¼A N-ÂDN-Æ"N'Æ#A N-ÈA0N-É4N*É5D-N-Î$N-Î'N-Î*N-c               ƒ   ó�  "  € \        4       p \        V R R7      G Rj  x€L
 pVR,          p\        WR4      G Rj  x€L
  \        WRR7      G Rj  x€L
 pRqCVJ qU'       g±   \        P
                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;rT\        W4      G Rj  x€L
 pVR,          p	Rq©V
8H  qD'       gy   \        P
                  ! RV3RWš34      R\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;rJR#  ELž EL„ ELr L¢5i)r	   r
   Nr   ÚENDEDrJ   r   r   r   r   r   r    r   r   r   r   r   r(   rN   r%   r'   )r   r   r   r   r.   r/   r4   r5   r6   r0   r1   r2   r   )r7   r   r8   r   r;   r>   rD   rE   rF   r9   r:   r<   r=   s                rG   Útest_cannot_claim_ended_sessionrR   4   s  é € ä	‹€BÜ" 2¨Ô?×?€GØ˜Õ%€Jô   °Ó
8×8Ð8ô -¨RÀiÔP×P€GØÐ�dˆ?×××Óˆ7××××××ˆ7×××Òˆ7××Ö�d×××××××Ðô & bÓ5×5€GØ�8ÕÐ' Ð' Ñ'×'×'×'Ó'Ð×'×'Õ'Ð×'×'Ô' ×'×'×'×'×'×'×'Ô'ò @ò 9ò Qñ 6ùsL   ‚G�F;žGºF>»GÁGÁA GÂ1A0GÄ!GÄ"BGÆ>GÇGÇGc               ƒ   ó„  "  € \        4       p \        V R R7      G Rj  x€L
 pVR,          p\        WRR7      G Rj  x€L
  \        W4      G Rj  x€L
 pRqCVJqU'       g±   \        P
                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;rTVR,          pRq˜V	8H  qD'       gy   \        P
                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rIVR,          pRq˜V	8H  qD'       gy   \        P
                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rIVP                  pRq•! V	4      pRqÜVJ qî'       gó   \        P
                  ! RV3RWÍ34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;ríVP                  pRq•! V	4      pRqÜVJ qî'       gó   \        P
                  ! RV3RWÍ34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;rí\        W4      G Rj  x€L
 pVR,          pRq˜V	8H  qD'       gy   \        P
                  ! RV3RW‰34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rIVP                  pRq•! V	4      pRqÜVJ qî'       gó   \        P
                  ! RV3RWÍ34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p;ríR#  EL ELü ELì EL¿5i) r	   r
   Nr   r   r   r   Úrequeuedr   r   r    r   r   r   r   r   r   r"   Úruler   r   r   r   r   r$   rF   r+   r-   r%   r'   r(   r*   )r   r   r   r   r.   r/   r4   r5   r6   r0   r1   r2   r3   r   )r7   r   r8   rT   r;   r>   rD   rE   r9   r:   r<   r=   r?   r@   rA   rB   rC   rF   s                     rG   Útest_requeue_session_successrV   E   s–  é € ä	‹€BÜ" 2¨Ô?×?€GØ˜Õ%€Jô # 2¸MÔ
J×JÐJô % RÓ4×4€HØÐ˜4Ð×××Óˆ8××××××ˆ8×××Òˆ8××Ö˜4×××××××ÐØ�HÕÐ* Ð* Ñ*×*×*×*Ó*Ð×*×*Õ*Ð×*×*Ô* ×*×*×*×*×*×*×*Ò*Ø�FÕÐ%˜vÐ%˜vÑ%×%×%×%Ó%Ð×%×%Õ%Ð×%×%Ô%˜v×%×%×%×%×%×%×%Ò%Ø�<‰<Ð2Ð)Ð2ˆ<Ð)Ó*Ð2¨dÐ2¨dÐ2×2×2×2Ó2Ð*×2×2×2×2×2×2ˆ8×2×2×2Ò2ˆ8×2×2Ö2ˆ<×2×2Ô2Ð)×2×2Ô2Ð*×2×2Ô2¨d×2×2×2×2×2×2×2Ö2Ø�<‰<Ð-˜Ð-ˆ<˜Ó%Ð-¨Ð-¨Ð-×-×-×-Ó-Ð%×-×-×-×-×-×-ˆ8×-×-×-Ò-ˆ8×-×-Ö-ˆ<×-×-Ô-˜×-×-Ô-Ð%×-×-Ô-¨×-×-×-×-×-×-×-Ö-ô & bÓ5×5€GØ�8ÕÐ) 	Ð) 	Ñ)×)×)×)Ó)Ð×)×)Õ)Ð×)×)Ô) 	×)×)×)×)×)×)×)Ò)Ø�;‰;Ð1Ð(Ð1ˆ;Ð(Ó)Ð1¨TÐ1¨TÐ1×1×1×1Ó1Ð)×1×1×1×1×1×1ˆ7×1×1×1Ò1ˆ7×1×1Ö1ˆ;×1×1Ô1Ð(×1×1Ô1Ð)×1×1Ô1¨T×1×1×1×1×1×1×1×1Ð1ò# @ò Kò 5ò 6ùsa   ‚Y �X4žY »X7¼Y ÁX:ÁA Y Â0G9Y Ê*DY ÏB8Y Ñ>X=Ñ?DY ÖB-Y Ø7Y Ø:Y Ø=Y c               ƒ   ó¾  "  € \        4       p \        V R R7      G Rj  x€L
 pRq!VJ q3'       g±   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2\        V RR	7      G Rj  x€L
 pVR
,          p\        W4      G Rj  x€L
 pRq(VJ q3'       g±   \        P                  ! RV3RW‚34      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2\        WRR7      G Rj  x€L
  \        WR4      G Rj  x€L
  \        W4      G Rj  x€L
 p	Rq)VJ q3'       g±   \        P                  ! RV3RW’34      RR\        P
                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2R#  EL± ELà ELÇ Lõ Lã LÒ5i)Únon_existent_sess)r8   Nr   Úbad_requeuer   r   r    r	   r
   r   Úringing_requeuerJ   r   rQ   Úended_requeuer(   rN   )r   r   r.   r/   r4   r5   r6   r0   r1   r2   r   r   r   )
r7   rY   r;   r>   rD   rE   r   r8   rZ   r[   s
             rG   Ú,test_cannot_requeue_invalid_or_ended_sessionr\   [   s¨  é € ä	‹€Bä'¨Ð7JÔK×K€KØÐ˜$Ð×××Óˆ;××××××ˆ;×××Òˆ;××Ö˜$×××××××Ðô # 2¨Ô?×?€GØ˜Õ%€JÜ+¨BÓ;×;€OØ"Ð"˜dÐ"×"×"×"Ó"ˆ?×"×"×"×"×"×"ˆ?×"×"×"Ò"ˆ?×"×"Ö"˜d×"×"×"×"×"×"×"Ð"ô # 2¸IÔ
F×FÐFÜ
 °Ó
8×8Ð8Ü)¨"Ó9×9€MØ Ð ˜DÐ × × × Ó ˆ=× × × × × × ˆ=× × × Ò ˆ=× × Ö ˜D× × × × × × × Ò ò Lò @â;ñ GÙ8Ù9ùs�   ‚K�KžA KÁ?A2KÃ1KÃ2KÄKÄA KÅ/A2KÇ!KÇ"KÇ5KÇ6KÈKÈ	A KÉ*A%KËKËKËKËKËK)Úbuiltinsr4   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter.   ÚpytestÚapp.databaser   Ú#app.repositories.session_repositoryr   r   r   r   r   ÚmarkÚanyiorH   rO   rR   rV   r\   © ó    rG   Ú<module>rh      s¯   ðß  „ ƒÝ %÷õ ð ‡�×Ññ*ó ð*ð( ‡�×Ññ*ó ð*ð& ‡�×Ññ(ó ð(ð  ‡�×Ññ2ó ð2ð* ‡�×Ññ!ó ò!rg   