You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
Test Cases para o Orquestrador
Testes Manuais
Setup
# Terminal 1: Iniciar servidor
uvicorn app.main:app --reload
# Terminal 2: Rodar testes
bash test-local.sh http://localhost:8000
Ou com Docker Compose:
docker-compose up
bash test-local.sh http://localhost:8000
Casos de Teste
1. Chat Simples (Sem Tool)
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Olá, como você funciona?",
"user_id": "user-123"
}'
Esperado: Resposta direta do modelo, sem chamada de tool
2. Consultar Estoque
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Quero um carro de até 50000 reais",
"user_id": "user-123"
}'
Esperado: Modelo chama consultar_estoque com preco_max=50000
3. Validar Cliente Venda
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Meu CPF é 12345678900. Posso financiar um carro de 45000 reais?",
"user_id": "user-123"
}'
Esperado: Modelo chama validar_cliente_venda
4. Avaliar Veículo para Troca
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Tenho um Toyota Corolla 2015 com 120000 km para dar de entrada. Quanto vale?",
"user_id": "user-123"
}'
Esperado: Modelo chama avaliar_veiculo_troca
5. Agendar Revisão
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Quero agendar uma revisão para meu carro com placa ABC1234 no dia 25 de fevereiro às 10 da manhã",
"user_id": "user-123"
}'
Esperado: Modelo chama agendar_revisao
6. Cancelar Pedido
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Gostaria de cancelar meu pedido número 12345 porque mudei de ideia",
"user_id": "user-123"
}'
Esperado: Modelo chama cancelar_pedido
Swagger UI
Acesse: http://localhost:8000/docs
Todos os endpoints estão documentados lá para testar interativamente.
Checklist de Testes
- Chat simples sem tool funciona
- Consultar estoque retorna veículos
- Validar cliente retorna aprovação/rejeição
- Avaliar veículo retorna valor estimado
- Agendar revisão retorna agendamento
- Cancelar pedido retorna cancelamento
- Modelo é assertivo (chama tools quando apropriado)
- Modelo não chama tools desnecessariamente
- Respostas são formatadas corretamente
- Sem erros 500 na API
Debugging
Ver logs detalhados
# Terminal com logs
uvicorn app.main:app --reload --log-level debug
Testar Mockaroo direto
curl -X POST http://localhost:8000/mock/consultar-estoque \
-H "Content-Type: application/json" \
-d '{"preco_max": 50000}'
Ver resposta do Vertex AI
Adicione console.log nos handlers para ver o que o Vertex retorna.