
    ^i                         d dl Zd dlmc mZ d dlZd dlmZm	Z	m
Z
 d dlmZ d dlZej                  j                  d d       d dlmZ  ee      Zej&                  d        Zd Zd Zy)	    N)	AsyncMock	MagicMockpatch)
TestClientz!/home/jang/Projects/ai-researcher)appc                     t               } t               | _        t               | _        t               | _        t               | _        t               }t        |       |j                  _        t        d      |j                  _        |S )u*   创建mock session maker用于集成测试return_valueN)	r   r   addflushrefreshcommitr
   
__aenter__	__aexit__)mock_sessionmakers     D/home/jang/Projects/ai-researcher/tests/integration/test_chat_api.pymock_session_makerr      se     ;L {L"L$;L#+LKE$-<$HE!#,$#?E L    c                     t         j                  ddi d      } | j                  }d}||k(  }|st        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}}d}| j                  } |       }||v }|st        j                  d|fd||f      t        j                  |      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}x}}y )N/api/v1/chatu   你好messagecontextjson   ==z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sresponsepy0py2py5assert %(py7)spy7
message_idinzC%(py1)s in %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.json
}()
}py1py3r%   r'   assert %(py9)spy9)clientpoststatus_code
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr   )
r!   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert0@py_assert6@py_assert2@py_format10s
             r   test_chat_sync_responserE      s   {{>HQS0T{UH&3&3&&&&3&&&&&&8&&&8&&&&&&3&&&&&&&*8==*=?*<?****<?***<******8***8***=***?*******r   c                    t        d|       5  t        j                  ddi d      }|j                  }d}||k(  }|st	        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}}d}|j                  } |       }||v }	|	st	        j
                  d|	fd||f      t	        j                  |      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}	x}}d d d        y # 1 sw Y   y xY w)Nz'src.core.task_manager.get_session_makerr	   r   u*   对比技术部和产品部的员工数量r   r      r   r    r!   r"   r&   r'   task_idr)   r+   r,   r/   r0   )r   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r   )r   r!   r<   r=   r>   r?   r@   rA   rB   rC   rD   s              r   test_chat_async_responserI   "   s3   	8GY	Z ,;;~C5
;  ##*s*#s****#s******x***x***#***s*******+HMM+MO+yO++++yO+++y++++++H+++H+++M+++O+++++++, , ,s   GGG')builtinsr6   _pytest.assertion.rewrite	assertionrewriter4   pytestunittest.mockr   r   r   fastapi.testclientr   syspathinsertsrc.mainr   r1   fixturer   rE   rI    r   r   <module>rW      sY       5 5 ) 
 6 7 	C  +,r   