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.
153 lines
3.0 KiB
Markdown
153 lines
3.0 KiB
Markdown
# Test Cases para o Orquestrador
|
|
|
|
## Testes Manuais
|
|
|
|
### Setup
|
|
|
|
```bash
|
|
# Terminal 1: Iniciar servidor
|
|
uvicorn app.main:app --reload
|
|
|
|
# Terminal 2: Rodar testes
|
|
bash test-local.sh http://localhost:8000
|
|
```
|
|
|
|
Ou com Docker Compose:
|
|
|
|
```bash
|
|
docker-compose up
|
|
bash test-local.sh http://localhost:8000
|
|
```
|
|
|
|
## Casos de Teste
|
|
|
|
### 1. Chat Simples (Sem Tool)
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
# Terminal com logs
|
|
uvicorn app.main:app --reload --log-level debug
|
|
```
|
|
|
|
### Testar Mockaroo direto
|
|
|
|
```bash
|
|
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.
|