Ë
    Å[êj²  ã                   óh   — d dl Zd dlmc mZ d dlmZmZ d dlm	Z	m
Z
 defd„Zd„ Zd„ Zd„ Zd	„ Zd
„ Zy)é    N)ÚUTCÚdatetime)ÚConversationÚRoleÚreturnc                  óP   — t        j                  t        «      j                  «       S )N)r   Únowr   Ú	isoformat© ó    ú4/home/oem/CyberBrain26-unified/tests/test_schemas.pyÚ_now_isor      s   € Ü�<‰<œÓ×&Ñ&Ó(Ð(r   c                  ó^  — t        j                  «       } | j                  }d}||k(  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  }g }||k(  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}| j                  }|syd	dt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      d
œz  }t        t        j                  |«      «      ‚d }y )NúNova konverzace©ú==©z-%(py2)s
{%(py2)s = %(py0)s.title
} == %(py5)sÚc©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7)z/%(py2)s
{%(py2)s = %(py0)s.history
} == %(py5)sz&assert %(py2)s
{%(py2)s = %(py0)s.id
})r   r   )r   ÚnewÚtitleÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚhistoryÚid)r   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_format3s          r   Útest_new_conversation_defaultsr-   
   s   € Ü×ÑÓ€AØ�7‰7Ð'Ð'Ð'ˆ7Ð'Ñ'×'×'Õ'ˆ7Ð'×'×'×'×'×'Ñ'ˆ1×'×'Ó'ˆ1×'×'Ô'ˆ7×'×'Ò'Ð'×'×'×'×'×'×'Ó'Ø�9‰9Ð˜Ðˆ9˜‰?××Õˆ9˜×××××Ñˆ1××Óˆ1××Ôˆ9××Ò˜××××××ÓØ�4‰4€K‰4‡K‡K‡K‡K…Kˆ1‡K‡KƒKˆ1‡K‡K„Kˆ4‡K‡K‡K‡K‡K�Kr   c                  óô  — ddg dœt        «       t        «       g dœ} t        j                  | «      }|j                  }d}||k(  }|s­t	        j
                  d|fd||f«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      ndt	        j                  |«      t	        j                  |«      dœz  }d	d
|iz  }t        t	        j                  |«      «      ‚d x}x}}y )NÚxzMoje konverzace)r   r%   ©r&   r   Ú
created_atÚ
updated_atr%   r   r   r   r   r   r   ©r   r   Ú	from_diskr   r   r   r   r    r!   r"   r#   r$   )Údatar   r'   r(   r)   r*   r+   s          r   Útest_title_dict_bug_is_coercedr6      s¤   € àØ,¸Ñ<Ü“jÜ“jØñ€Dô 	×Ñ˜tÓ$€AØ�7‰7Ð'Ð'Ð'ˆ7Ð'Ñ'×'×'Õ'ˆ7Ð'×'×'×'×'×'Ñ'ˆ1×'×'Ó'ˆ1×'×'Ô'ˆ7×'×'Ò'Ð'×'×'×'×'×'×'Ô'r   c            
      óò  — dD �]q  } d| t        «       t        «       g dœ}t        j                  } ||«      }|j                  }d}||k(  }|�st	        j
                  d|fd||f«      dt        j                  «       v st	        j                  t        «      rt	        j                  t        «      ndt	        j                  |«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      ndt	        j                  |«      t	        j                  |«      t	        j                  |«      d	œz  }d
d|iz  }t        t	        j                  |«      «      ‚d x}x}x}x}}�Œt y )N)NÚ z   r/   r0   r   r   )zk%(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.from_disk
}(%(py3)s)
}.title
} == %(py10)sr   r5   )r   r   Úpy3r   r   Úpy10zassert %(py12)sÚpy12r3   )	Úbadr5   r'   r(   Ú@py_assert6Ú@py_assert9Ú@py_assert8Ú@py_format11Ú@py_format13s	            r   Ú)test_title_none_and_empty_becomes_defaultrB      sõ   € Ø ó Gˆà Ü"›*Ü"›*Øñ	
ˆô ×%Ñ%ÐFÑ% dÓ+ÐFÐ+×1Ñ1ÐFÐ5FÐFÐ1Ð5FÑF×F×FÖFÐ1Ð5F×F×F×F×F×FÑFŒ|×F×FÓFŒ|×F×FÔFÐ%×F×F×F×F×FÐF d×F×FÓF d×F×FÔFÐ+×F×FÒFÐ1×F×FÒFÐ5F×F×F×F×F×F×F×FÑFñGr   c                  óP  — t        j                  «       } t        d«      D ]%  }| j                  t        j
                  d|› �«       Œ' | j                  }t        |«      }d}||k(  }|�s
t        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      t        j                  |«      dœz  }d	d
|iz  }t        t        j                  |«      «      ‚d x}x}x}}| j                  d   }|j                   }d}	||	k(  }|s€t        j                  d|fd||	f«      t        j                  |«      t        j                  |«      t        j                  |	«      dœz  }
dd|
iz  }t        t        j                  |«      «      ‚d x}x}x}}	y )Né(   Úmsgé   r   )zM%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.history
})
} == %(py8)sÚlenr   )r   Úpy1r9   r   Úpy8zassert %(py10)sr:   éÿÿÿÿÚmsg39©z/%(py3)s
{%(py3)s = %(py1)s.content
} == %(py6)s©rH   r9   Úpy6úassert %(py8)srI   )r   r   ÚrangeÚappendr   Úuserr%   rG   r   r   r   r    r!   r"   r#   r$   Úcontent)r   ÚiÚ@py_assert2r(   Ú@py_assert7r=   Ú@py_format9r@   Ú@py_assert0Ú@py_assert5Ú@py_format7s              r   Útest_append_and_trimr[   (   sF  € Ü×ÑÓ€AÜ�2‹Yò 'ˆØ	�‰”—‘˜c ! ˜IÕ&ð'à�y‰yÐŒ3ˆy‹>Ð˜RÐˆ>˜RÑ××Öˆ>˜R×××××ÑŒ3××ÓŒ3×××××Òˆq××Óˆq××Ôˆy××Òˆ>××Ò˜R××××××ÕØ�9‰9�R‰=Ð+ˆ=× Ñ Ð+ GÐ+Ð  GÑ+×+×+Õ+Ð  G×+×+Ó+ˆ=×+×+Ò+Ð ×+×+Ò+ G×+×+×+×+×+×+Ö+r   c                  óH  — t        j                  d«      } | j                  t        j                  d«       | j                  t        j
                  d«       | j                  «       }|d   }t        |t        «      }|sÞddt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d x}}t        j                   |«      }|j"                  d	   }|j$                  }d}||k(  }|s€t        j&                  d
|fd||f«      t        j                  |«      t        j                  |«      t        j                  |«      dœz  }	dd|	iz  }
t        t        j                  |
«      «      ‚d x}x}x}}|j"                  d   }|j(                  }t        j
                  }||k(  }|sÉt        j&                  d
|fd||f«      t        j                  |«      t        j                  |«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}}y )NÚTestÚahojÚnazdarr   z5assert %(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
}Ú
isinstanceÚstr)r   r   r9   r   r   r   rL   rM   rO   rI   é   )zK%(py3)s
{%(py3)s = %(py1)s.role
} == %(py7)s
{%(py7)s = %(py5)s.assistant
}r   )rH   r9   r   r   zassert %(py9)sÚpy9)r   r   rQ   r   rR   Ú	assistantÚto_diskr`   ra   r   r    r   r!   r"   r#   r$   r4   r%   rS   r   Úrole)r   Úrawr'   r(   r*   Úc2rX   rU   rY   rZ   rW   r=   r+   Ú@py_format10s                 r   Útest_to_disk_roundtriprj   0   sÇ  € Ü×Ñ˜Ó €AØ‡H�HŒT�Y‰Y˜ÔØ‡H�HŒT�^‰^˜XÔ&Ø
�)‰)‹+€CØ˜'‘lÐ(Œ:�l¤CÓ(Ð(Ñ(×(×(×(×(Õ(Œ:×(×(Ó(Œ:×(×(Ô(�l×(×(×(×(×(Ð(¤C×(×(Ó(¤C×(×(Ô(Ð(×(×(×(×(×(Ò(Ü	×	Ñ	 Ó	$€BØ�:‰:�a‰=Ð*ˆ=× Ñ Ð* FÐ*Ð  FÑ*×*×*Õ*Ð  F×*×*Ó*ˆ=×*×*Ò*Ð ×*×*Ò* F×*×*×*×*×*×*Õ*Ø�:‰:�a‰=Ð/ˆ=×ÑÐ/¤§¡Ð/Ð Ñ/×/×/Õ/Ð ×/×/Ó/ˆ=×/×/Ò/Ð×/×/×/×/×/Ð/¤×/×/Ó/¤×/×/Ô/ ×/×/×/×/×/×/Ö/r   )Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   r   r   Úcyberbrain26.schemasr   r   ra   r   r-   r6   rB   r[   rj   r   r   r   ú<module>rp      s6   ðß  „ × "ç 3ð)�#ó )òò	(òGò,ó0r   