+
    ¬„jê  c                   óJ  € ^ RI t^ RIHu Ht ^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHtHt ]P"                  R 4       t]P&                  P(                  R 4       t]P&                  P(                  R 4       tR	 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]P&                  P(                  R 4       tR# )é    N)Ústatus)Úget_database)Úcreate_agentÚget_agent_by_email)Úcreate_access_tokenÚverify_passwordc            	   ƒ   óö   "  € \        4       p \        V R RRRRR7      G Rj  x€L
 p\        V RRR	R
RR7      G Rj  x€L
 p\        RVR,          RR/4      p\        RVR,          RR
/4      pRVRVRVRV/#  LS L<5i)zadmin.main@example.comzAdminPassword123!z
Main AdminÚADMINÚACTIVE)ÚemailÚpasswordÚnameÚroler   Núagent.normal@example.comúAgentPassword123!zNormal AgentÚAGENTÚsubÚagentIdr   ÚadminÚagentÚadmin_tokenÚagent_token)r   r   r   )Údbr   r   r   r   s        ÚMC:\Users\alokc\chatbot\dev\chatbot\chatbot\backend\tests\test_admin_agents.pyÚsetup_admin_and_agentr      s¬   é € ä	‹€BÜØ
Ø&Ø$ØØØô÷ €Eô Ø
Ø(Ø$ØØØô÷ €Eô & u¨e°IÕ.>ÀÈÐ&PÓQ€KÜ% u¨e°IÕ.>ÀÈÐ&PÓQ€Kð 	�Ø�Ø�{Ø�{ð	ð ñ'ñùs   ‚A9¡A5¢A9ºA7»;A9Á7A9c              ƒ   ó   "  € R RVR,           2/pV P                  RRRRRRR	R
RRR/VR7      pVP                  p\        P                  qTV8H  qf'       Eg   \        P
                  ! R$V3R%WE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVP                  4       p	V	R,          p
RqjV8H  q»'       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
;r¶V	R,          p
RqjV8H  q»'       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
;r¶V	R
,          p
RqjV8H  q»'       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
;r¶RqªV	9  q»'       g±   \        P
                  ! R'V3R(W©34      R\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;r«\        4       p\        VR4      G Rj  x€L
 pRpVVJqD'       g²   \        P
                  ! R)V3R*VV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;rKR	pVR,          p\        WF4      pRpVVJ pV'       gü   \        P
                  ! R+V3R,VV34      RR \        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        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;ppR#  ELñ5i)-ÚAuthorizationúBearer r   ú/api/v1/admin/agentsr   zNew Traineer   ztrainee@example.comr   zTraineePass123!r   r   r   r
   ©ÚjsonÚheadersÚpy0ÚresÚpy2Úpy4Úpy6úassert %(py8)sÚpy8NÚpy1úassert %(py6)sÚpasswordHashÚpy3Údataúassert %(py5)sÚpy5Údb_agentTr   Úpy9zassert %(py11)sÚpy11©ú==)zY%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_201_CREATED
}©z%(py1)s == %(py4)s©únot in©z%(py1)s not in %(py3)s)úis not)z%(py0)s is not %(py3)s)Úis)z9%(py6)s
{%(py6)s = %(py0)s(%(py2)s, %(py4)s)
} is %(py9)s)ÚpostÚstatus_coder   ÚHTTP_201_CREATEDÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationr    r   r   r   )Úclientr   r!   r#   Ú@py_assert1Ú@py_assert5Ú@py_assert3Ú@py_format7Ú@py_format9r-   Ú@py_assert0Ú@py_assert2Ú@py_format5Ú@py_format4Ú@py_format6r   r0   Ú@py_assert8Ú@py_assert7Ú@py_format10Ú@py_format12s   &&                   r   Útest_admin_can_create_agentrU   $   sx  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ
�+‰+Ð,Ø�ØÐ&ØÐ%Ø�Ø�(ð4ð ð ó €Cð �?‰?Ð5œf×5Ñ5Ð5Ð5Ñ5×5×5×5Ô5ˆ?×5×5×5×5×5×5ˆ3×5×5×5Ò5ˆ3×5×5Ö5ˆ?×5×5×5×5×5Ö5œf×5×5×5Ò5œf×5×5Ö5Ð5×5×5×5×5×5×5×5Ò5Ø�8‰8‹:€DØ��<Ð(˜=Ð(˜=Ñ(×(×(×(Ó(ˆ<×(×(Õ(ˆ<×(×(Ô(˜=×(×(×(×(×(×(×(Ò(Ø��=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ó1ˆ=×1×1Õ1ˆ=×1×1Ô1Ð1×1×1×1×1×1×1×1Ò1Ø��<Ð"˜7Ð"˜7Ñ"×"×"×"Ó"ˆ<×"×"Õ"ˆ<×"×"Ô"˜7×"×"×"×"×"×"×"Ò"ØÐ% Ñ%×%×%×%Ó%ˆ>×%×%Õ%ˆ>×%×%×%×%×%Ö% ×%×%×%Ò% ×%×%×%×%×%×%×%Ò%ô 
‹€BÜ'¨Ð,AÓB×B€HØÐˆ8˜4Ð×××Óˆ8˜4××××××ˆ8×××Òˆ8××Ö˜4×××××××ÐØ,ÐO¨h°~Õ.FÐOŒ?Ð,ÓGÐOÈ4ÐOÐGÈ4ÐO×O×O×OÔOÐGÈ4×O×O×O×O×O×OŒ?×O×O×OÒOŒ?×O×OÖOÐ,×O×OÔOÐ.F×O×OÔOÐG×O×OÔOÈ4×O×O×O×O×O×O×O×OÑOò Cùs6   ‚B%XÂ(A'XÄJ$XÎ5A%XÐXÐA"XÑ>CXÕB2Xc              ƒ   ó2  "  € R RVR,           2/pV P                  RRRRRRR	/VR
7      pVP                  p\        P                  qTV8H  qf'       Eg   \        P
                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVP                  4       R,          p	RqiV8H  qª'       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	;r¦R# 5i)r   r   r   r   r   zUnauthorized Agentr   zunauth@example.comr   úPassword123!r   r"   r#   r$   r%   r   r&   r'   r(   NÚdetailz#Admin role required for this actionr)   r*   r3   ©z[%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_403_FORBIDDEN
}r5   )r;   r<   r   ÚHTTP_403_FORBIDDENr>   r?   r@   rA   rB   rC   rD   rE   r    ©rF   r   r!   r#   rG   rH   rI   rJ   rK   rL   rM   rN   s   &&          r   Útest_agent_cannot_create_agentr\   <   sH  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ
�+‰+Ð,ØÐ$ØÐ%Ø�Nð4ð ð	 ó €Cð �?‰?Ð7œf×7Ñ7Ð7Ð7Ñ7×7×7×7Ô7ˆ?×7×7×7×7×7×7ˆ3×7×7×7Ò7ˆ3×7×7Ö7ˆ?×7×7×7×7×7Ö7œf×7×7×7Ò7œf×7×7Ö7Ð7×7×7×7×7×7×7×7Ò7Ø�8‰8‹:�hÕÐHÐ#HÐHÐ#HÑH×H×H×HÓHÐ×H×HÕHÐ×H×HÔHÐ#H×H×H×H×H×H×H×HÔHùs   ‚B!HÂ$A'HÄDHc                 óÊ  € V P                  R RRRRRR/R7      pVP                  p\        P                  q2V8H  qD'       E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R\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCR# )r   r   z
Anon Agentr   zanon@example.comr   rW   ©r    r"   r#   r$   r%   r   r&   r'   r(   Nr3   ©z^%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_401_UNAUTHORIZED
})r;   r<   r   ÚHTTP_401_UNAUTHORIZEDr>   r?   r@   rA   rB   rC   rD   rE   )rF   r#   rG   rH   rI   rJ   rK   s   &      r   Ú(test_unauthenticated_cannot_create_agentra   H   sÈ   € Ø
�+‰+Ð,Ø�ØÐ#Ø�Nð4ˆ+ó €Cð �?‰?Ð:œf×:Ñ:Ð:Ð:Ñ:×:×:×:Ô:ˆ?×:×:×:×:×:×:ˆ3×:×:×:Ò:ˆ3×:×:Ö:ˆ?×:×:×:×:×:Ö:œf×:×:×:Ò:œf×:×:Ö:Ð:×:×:×:×:×:×:×:Ô:ó    c              ƒ   ó0  "  € R RVR,           2/pV P                  RRRRRRR	/VR
7      pVP                  p\        P                  qTV8H  qf'       Eg   \        P
                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reRq“P                  4       R,          qiV9   qª'       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	;r¦R# 5i)r   r   r   r   r   zDuplicate Agentr   r   r   rW   r   r"   r#   r$   r%   r   r&   r'   r(   Nzalready existsrX   r)   r*   r3   ©zZ%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_409_CONFLICT
}©Úin©z%(py1)s in %(py4)s)r;   r<   r   ÚHTTP_409_CONFLICTr>   r?   r@   rA   rB   rC   rD   rE   r    r[   s   &&          r   Ú)test_duplicate_email_returns_409_conflictri   Q   sE  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ
�+‰+Ð,ØÐ!ØÐ+Ø�Nð4ð ð	 ó €Cð �?‰?Ð6œf×6Ñ6Ð6Ð6Ñ6×6×6×6Ô6ˆ?×6×6×6×6×6×6ˆ3×6×6×6Ò6ˆ3×6×6Ö6ˆ?×6×6×6×6×6Ö6œf×6×6×6Ò6œf×6×6Ö6Ð6×6×6×6×6×6×6×6Ò6ØÐ3Ÿx™x›z¨(Õ3Ð3Ð3Ñ3×3×3×3Ó3Ð×3×3Õ3Ð×3×3Ô3Ð3×3×3×3×3×3×3×3Ô3ùs   ‚B!HÂ$A'HÄD
Hc              ƒ   ó  "  € R RVR,           2/pV P                  RVR7      pVP                  p\        P                  qTV8H  qf'       Eg   \        P
                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR	\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR	R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVP                  4       p	\        V	4      p
^qZV8¬  q»'       Eg   \        P
                  ! RV3RW¥34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! V	4      '       d   \        P                  ! V	4      MRR\        P                  ! V
4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;rµV	 FÃ  pRqÝV9  qª'       g±   \        P
                  ! RV
3RWÜ34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;rÚKÅ  	  R# 5i)r   r   r   r   ©r!   r"   r#   r$   r%   r   r&   r'   r(   NÚlenr)   Úagentsr,   r+   Úar.   r/   r3   ©zT%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_200_OK
})ú>=)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} >= %(py6)sr6   r8   )Úgetr<   r   ÚHTTP_200_OKr>   r?   r@   rA   rB   rC   rD   rE   r    rl   )rF   r   r!   r#   rG   rH   rI   rJ   rK   rm   rM   Ú@py_assert4rn   rL   rO   rP   s   &&              r   Útest_admin_can_list_agentsrt   ]   sÖ  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ
�*‰*Ð+°Wˆ*Ó
=€Cà�?‰?Ð0œf×0Ñ0Ð0Ð0Ñ0×0×0×0Ô0ˆ?×0×0×0×0×0×0ˆ3×0×0×0Ò0ˆ3×0×0Ö0ˆ?×0×0×0×0×0Ö0œf×0×0×0Ò0œf×0×0Ö0Ð0×0×0×0×0×0×0×0Ò0Ø�X‰X‹Z€FÜˆv‹;Ð˜!Ð˜!Ñ×××Ôˆ;××××××Œ3×××ÒŒ3××××××Ðˆv×××Òˆv××Öˆ;××Ô˜!×××××××ÒÛˆØÐ& QÑ&×&×&×&Ó&ˆ~×&×&Õ&ˆ~×&×&×&×&×&Ö& Q×&×&×&Ò& Q×&×&×&×&×&×&×&Ô&ó ùs)   ‚BNÂA'NÄC%NÇ+ANÈ=C2NÌ0ANc              ƒ   óâ  "  € R RVR,           2/pV P                  RVR7      pVP                  p\        P                  qTV8H  qf'       Eg   \        P
                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR	\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR	R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reR# 5i)r   r   r   r   rk   r"   r#   r$   r%   r   r&   r'   r(   Nr3   rY   )rq   r<   r   rZ   r>   r?   r@   rA   rB   rC   rD   rE   )	rF   r   r!   r#   rG   rH   rI   rJ   rK   s	   &&       r   Útest_agent_cannot_list_agentsrv   h   sÌ   é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ
�*‰*Ð+°Wˆ*Ó
=€Cà�?‰?Ð7œf×7Ñ7Ð7Ð7Ñ7×7×7×7Ô7ˆ?×7×7×7×7×7×7ˆ3×7×7×7Ò7ˆ3×7×7Ö7ˆ?×7×7×7×7×7Ö7œf×7×7×7Ò7œf×7×7Ö7Ð7×7×7×7×7×7×7×7Ô7ùs   ‚BE/ÂA'E/ÄA*E/c              ƒ   óÖ  "  € R RVR,           2/pVR,          R,          pV P                  RV 2RR/VR7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R	R
\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR
R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvVP                  4       R,          p
RqzV8H  q»'       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
;r·V P                  RRRRR/R7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3R WV34      R	R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvV P                  RV 2RR/VR7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R	R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvVP                  4       R,          p
RqzV8H  q»'       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
;r·V P                  RRRRR/R7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R	R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# 5i)!r   r   r   r   r   ú/api/v1/admin/agents/r   ÚINACTIVEr   r"   Ú	patch_resr$   r%   r&   r'   r(   Nr)   r*   ú/api/v1/auth/loginr   r   r   r   r^   Ú	login_resr
   Úreactivate_resÚ
login_res2r3   ro   r5   r_   )Úpatchr<   r   rr   r>   r?   r@   rA   rB   rC   rD   rE   r    r;   r`   )rF   r   r!   Ú	target_idrz   rG   rH   rI   rJ   rK   rL   rM   rN   r|   r}   r~   s   &&              r   Ú*test_admin_deactivate_and_reactivate_agentr�   o   sü  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ% gÕ.¨yÕ9€Ið —‘Ð4°Y°KÐ@ÈÐR\ÐG]Ðgn�Óo€IØ× Ñ Ð6¤F×$6Ñ$6Ð6Ð$6Ñ6×6×6×6Ô6Ð ×6×6×6×6×6×6ˆ9×6×6×6Ò6ˆ9×6×6Ö6Ð ×6×6×6×6×6Ö6¤F×6×6×6Ò6¤F×6×6Ö6Ð$6×6×6×6×6×6×6×6Ò6Ø�>‰>Ó˜HÕ%Ð3¨Ð3¨Ñ3×3×3×3Ó3Ð%×3×3Õ3Ð%×3×3Ô3¨×3×3×3×3×3×3×3Ò3ð —‘Ð0ØÐ+ØÐ'ð8�ó €Ið × Ñ Ð@¤F×$@Ñ$@Ð@Ð$@Ñ@×@×@×@Ô@Ð ×@×@×@×@×@×@ˆ9×@×@×@Ò@ˆ9×@×@Ö@Ð ×@×@×@×@×@Ö@¤F×@×@×@Ò@¤F×@×@Ö@Ð$@×@×@×@×@×@×@×@Ò@ð —\‘\Ð$9¸)¸Ð"EÈXÐW_ÐL`Ðjq�\Ór€NØ×%Ñ%Ð;¬×);Ñ);Ð;Ð);Ñ;×;×;×;Ô;Ð%×;×;×;×;×;×;ˆ>×;×;×;Ò;ˆ>×;×;Ö;Ð%×;×;×;×;×;Ö;¬×;×;×;Ò;¬×;×;Ö;Ð);×;×;×;×;×;×;×;Ò;Ø×ÑÓ  Õ*Ð6¨hÐ6¨hÑ6×6×6×6Ó6Ð*×6×6Õ6Ð*×6×6Ô6¨h×6×6×6×6×6×6×6Ò6ð —‘Ð1ØÐ+ØÐ'ð9�ó €Jð ×!Ñ!Ð7¤V×%7Ñ%7Ð7Ð%7Ñ7×7×7×7Ô7Ð!×7×7×7×7×7×7ˆ:×7×7×7Ò7ˆ:×7×7Ö7Ð!×7×7×7×7×7Ö7¤V×7×7×7Ò7¤V×7×7Ö7Ð%7×7×7×7×7×7×7×7Ô7ùs>   ‚B0[)Â3A'[)ÄF[)Ê4A'[)ÌC9[)ÐA'[)Ñ>F[)ØA'[)Ù?A*[)c              ƒ   óR  "  € R RVR,           2/pVR,          R,          pV P                  RV 2RR/VR7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R	R
\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR
R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvRq¤P                  4       R,          qzV9   q»'       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
;r·V P                  RV 2RR/VR7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R	R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvRq­P                  4       R,          qzV9   q»'       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
;r·R# 5i)r   r   r   r   r   rx   r   ry   r   r"   r#   r$   r%   r&   r'   r(   Nzlast active adminrX   r)   r*   r   r   Úres2r3   rd   re   rg   )r   r<   r   rh   r>   r?   r@   rA   rB   rC   rD   rE   r    )rF   r   r!   Úadmin_idr#   rG   rH   rI   rJ   rK   rL   rM   rN   rƒ   s   &&            r   Ú(test_cannot_deactivate_last_active_adminr…   Œ   sb  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ$ WÕ-¨iÕ8€Hð �,‰,Ð.¨x¨jÐ9ÀÈ:Ð@VÐ`gˆ,Ó
h€CØ�?‰?Ð6œf×6Ñ6Ð6Ð6Ñ6×6×6×6Ô6ˆ?×6×6×6×6×6×6ˆ3×6×6×6Ò6ˆ3×6×6Ö6ˆ?×6×6×6×6×6Ö6œf×6×6×6Ò6œf×6×6Ö6Ð6×6×6×6×6×6×6×6Ò6ØÐ6§(¡(£*¨XÕ"6Ð6Ð"6Ñ6×6×6×6Ó6Ð×6×6Õ6Ð×6×6Ô6Ð"6×6×6×6×6×6×6×6Ò6ð �<‰<Ð/°¨zÐ:À&È'ÐARÐ\cˆ<Ód€DØ×ÑÐ7œv×7Ñ7Ð7Ð7Ñ7×7×7×7Ô7Ð×7×7×7×7×7×7ˆ4×7×7×7Ò7ˆ4×7×7Ö7Ð×7×7×7×7×7Ö7œv×7×7×7Ò7œv×7×7Ö7Ð7×7×7×7×7×7×7×7Ò7ØÐ7§)¡)£+¨hÕ"7Ð7Ð"7Ñ7×7×7×7Ó7Ð×7×7Õ7Ð×7×7Ô7Ð"7×7×7×7×7×7×7×7Ô7ùs"   ‚B0P'Â3A'P'ÄFP'Ê5A'P'ÌD
P'c              ƒ   ó�  "  € R RVR,           2/pVR,          R,          pV P                  RV R2RR/VR	7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R
R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvV P                  RRRRR/R7      p
V
P                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R
R\        P                  ! 4       9   g   \        P                  ! V
4      '       d   \        P                  ! V
4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvV P                  RRRRR/R7      pVP                  p\        P                  qeV8H  qw'       Eg   \        P
                  ! RV3RWV34      R
R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# 5i)r   r   r   r   r   rx   z/reset-passwordÚnewPasswordzNewBrandPassword999!r   r"   Ú	reset_resr$   r%   r   r&   r'   r(   Nr{   r   r   r   r   r^   Ú	old_loginÚ	new_loginr3   ro   r_   )r;   r<   r   rr   r>   r?   r@   rA   rB   rC   rD   rE   r`   )rF   r   r!   r€   rˆ   rG   rH   rI   rJ   rK   r‰   rŠ   s   &&          r   Útest_admin_password_resetr‹   ›   sŽ  é € à 'Ð*?ÀÕ*NÐ)OÐ PÐQ€GØ% gÕ.¨yÕ9€Ið —‘Ð3°I°;¸oÐNØÐ-ðVàð ó €Ið × Ñ Ð6¤F×$6Ñ$6Ð6Ð$6Ñ6×6×6×6Ô6Ð ×6×6×6×6×6×6ˆ9×6×6×6Ò6ˆ9×6×6Ö6Ð ×6×6×6×6×6Ö6¤F×6×6×6Ò6¤F×6×6Ö6Ð$6×6×6×6×6×6×6×6Ò6ð —‘Ð0ØÐ+ØÐ'ð8�ó €Ið × Ñ Ð@¤F×$@Ñ$@Ð@Ð$@Ñ@×@×@×@Ô@Ð ×@×@×@×@×@×@ˆ9×@×@×@Ò@ˆ9×@×@Ö@Ð ×@×@×@×@×@Ö@¤F×@×@×@Ò@¤F×@×@Ö@Ð$@×@×@×@×@×@×@×@Ò@ð —‘Ð0ØÐ+ØÐ*ð8�ó €Ið × Ñ Ð6¤F×$6Ñ$6Ð6Ð$6Ñ6×6×6×6Ô6Ð ×6×6×6×6×6×6ˆ9×6×6×6Ò6ˆ9×6×6Ö6Ð ×6×6×6×6×6Ö6¤F×6×6×6Ò6¤F×6×6Ö6Ð$6×6×6×6×6×6×6×6Ô6ùs0   ‚B1QÂ4A'QÄC7QÈA'QÉ<C7QÍ4A'QÏA*Q)Úbuiltinsr@   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter>   ÚpytestÚfastapir   Úapp.databaser   Ú!app.repositories.agent_repositoryr   r   Úapp.utils.securityr   r   Úfixturer   ÚmarkÚanyiorU   r\   ra   ri   rt   rv   r�   r…   r‹   © rb   r   Ú<module>r™      s'  ðß  „ ƒÝ Ý %ß Nß Cà‡�ñó ðð8 ‡�×ÑñPó ðPð. ‡�×Ññ	Ió ð	Iò;ð ‡�×Ññ	4ó ð	4ð ‡�×Ññ'ó ð'ð ‡�×Ññ8ó ð8ð ‡�×Ññ8ó ð8ð8 ‡�×Ññ8ó ð8ð ‡�×Ññ7ó ò7rb   