FastApiAssistant #2
| @@ -1,38 +1,27 @@ | |||||||
| #!/usr/bin/env python3 |  | ||||||
| from fastapi.testclient import TestClient | from fastapi.testclient import TestClient | ||||||
| from app.server import app | from app.server import app  # Asegúrate de importar tu aplicación FastAPI | ||||||
|  |  | ||||||
|  | # Crea un cliente de prueba | ||||||
| client = TestClient(app) | client = TestClient(app) | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_process_text(mocker): | def test_process_text(): | ||||||
|     # Configurar el texto de entrada |     # Define el texto de entrada | ||||||
|     test_input = "Hola, ¿cómo estás?" |     input_text = {"text": "Hola, ¿cómo estás?"} | ||||||
|     mock_response = [{ |  | ||||||
|         "agent": { |  | ||||||
|             "messages": [{"content": "Estoy bien, ¿en qué te puedo ayudar?"}]} |  | ||||||
|     }] |  | ||||||
|  |  | ||||||
|     # Simular la función `graph.stream` usando mocker |     # Realiza una solicitud POST al endpoint | ||||||
|     mock_stream = mocker.patch('app.graph.stream', return_value=mock_response) |     response = client.post("/process_text", json=input_text) | ||||||
|  |  | ||||||
|     # Realizar la solicitud POST |     # Verifica que la respuesta tenga un código de estado 200 | ||||||
|     response = client.post('/process_text', json={"text": test_input}) |  | ||||||
|  |  | ||||||
|     # Comprobar que el estado de la respuesta es 200 (éxito) |  | ||||||
|     assert response.status_code == 200 |     assert response.status_code == 200 | ||||||
|  |  | ||||||
|     # Verificar la respuesta JSON |     # Verifica que la respuesta contenga la clave 'response' | ||||||
|     json_data = response.json() |     assert 'response' in response.json() | ||||||
|     expected_response = { |  | ||||||
|         'response': ["Estoy bien, ¿en qué te puedo ayudar?"] |  | ||||||
|     } |  | ||||||
|     assert json_data == expected_response |  | ||||||
|  |  | ||||||
|     # Confirmar que `graph.stream` fue llamada con los parámetros correctos |     # Verifica que la respuesta sea una lista | ||||||
|     mock_stream.assert_called_once_with( |     assert isinstance(response.json()['response'], list) | ||||||
|         {"messages": [("user", test_input)], "is_last_step": False}, |  | ||||||
|         config={"configurable": { |     # Aquí puedes agregar más verificaciones | ||||||
|             "thread_id": "thread-1", "recursion_limit": 50}}, |     # según lo que esperas en la respuesta | ||||||
|         stream_mode="updates" |     # Por ejemplo, verificar que la lista no esté vacía | ||||||
|     ) |     assert len(response.json()['response']) > 0 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user