Data de Execucao: 2025-12-14 19:28 UTC Ambiente: Production (Railway) Executado por: Claude Code (Issue #674)
| Categoria | Status | Itens Passando | Total |
|---|---|---|---|
| Backend Health | ⚠ PARCIAL | 2/4 | 50% |
| Frontend | ✅ PASSOU | 3/4 | 75% |
| Integracao | ❌ FALHOU | 0/4 | 0% |
| Total | ⚠ PARCIAL | 5/12 | 42% |
Veredicto: Sistema NAO ESTA pronto para go-live. Correcoes necessarias.
| Servico | URL |
|---|---|
| Backend | https://etp-express-backend-production.up.railway.app |
| Frontend | https://etp-express-frontend-production.up.railway.app |
IMPORTANTE: URLs legado (
etp-express-backend.railway.app) NAO funcionam - retornam pagina padrao do Railway.
| Endpoint | Esperado | Resultado | Status |
|---|---|---|---|
/api/health |
200 OK | 404 Not Found | ❌ FALHOU |
Evidencia:
{
"statusCode": 404,
"message": "Cannot GET /api/health",
"disclaimer": "O ETP Express pode cometer erros..."
}Acao Necessaria: Verificar se HealthController esta registrado corretamente com VERSION_NEUTRAL.
| Endpoint | Esperado | Resultado | Status |
|---|---|---|---|
/api/v1/etps |
401 (Unauthorized) | 401 Unauthorized | ✅ PASSOU |
/api/v1/auth/login |
Resposta JSON | Resposta JSON | ✅ PASSOU |
Evidencia:
{
"statusCode": 401,
"message": "Token invalido ou expirado"
}| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Migrations | Aplicadas | Sem endpoint para verificar | ⚠ NAO VERIFICADO |
Acao Necessaria: Criar endpoint /api/health/ready que verifica migrations.
| Servico | Esperado | Resultado | Status |
|---|---|---|---|
| Exa API | 200 OK | 401 Unauthorized | ❌ FALHOU |
| Redis/BullMQ | Conectado | Nao verificado diretamente | ⚠ NAO VERIFICADO |
Evidencia (logs Railway):
ERROR [ExaService] Exa ping failed after 57ms
ERROR Request failed with status code 401
Acao Necessaria: Renovar/corrigir EXA_API_KEY em Railway Variables.
| Servico | Esperado | Resultado | Status |
|---|---|---|---|
| Sentry Backend | Configurado | NAO configurado | ⚠ WARNING |
| SMTP Email | Configurado | NAO configurado | ⚠ WARNING |
Evidencia (logs Railway):
WARN [EmailService] SMTP configuration not found. Emails will be logged to console only.
WARN [SentryConfig] SENTRY_DSN not configured. Error tracking disabled.
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| App carrega | Pagina de login | Pagina de login | ✅ PASSOU |
| Titulo | "ETP Express..." | "ETP Express - Estudos Tecnicos Preliminares" | ✅ PASSOU |
| Console errors | Nenhum critico | Warning Sentry apenas | ✅ PASSOU |
Console Warning:
[WARNING] [Sentry] VITE_SENTRY_DSN not configured. Error tracking disabled.
| Elemento | Esperado | Resultado | Status |
|---|---|---|---|
| Campo Email | Presente | Presente com placeholder | ✅ PASSOU |
| Campo Senha | Presente | Presente com toggle | ✅ PASSOU |
| Botao Entrar | Presente | Presente | ✅ PASSOU |
| Link Esqueceu Senha | Presente | Presente (/forgot-password) | ✅ PASSOU |
| Link Cadastre-se | Presente | Presente (/register) | ✅ PASSOU |
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Login funcional | Redirect para dashboard | NAO TESTADO (sem usuario) | ❌ FALHOU |
Acao Necessaria: Executar seed:admin em producao.
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Login admin | Token JWT | 401 - Credenciais invalidas | ❌ FALHOU |
| Login demo | Token JWT | 401 - Credenciais invalidas | ❌ FALHOU |
Credenciais Testadas:
demoetp@confenge.com.br/teste2026- FALHOUtiago@confenge.com.br/[senha]- NAO TESTADO (sensivel)
Evidencia:
{
"statusCode": 401,
"message": "Email ou senha incorretos. Verifique suas credenciais e tente novamente."
}Acao Necessaria: Executar npm run seed:admin:prod em Railway.
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Create ETP | ETP criado | NAO TESTADO (sem auth) | ❌ BLOQUEADO |
| List ETPs | Lista vazia ou com dados | NAO TESTADO (sem auth) | ❌ BLOQUEADO |
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Generate sync | Secao gerada | NAO TESTADO (sem auth + Exa down) | ❌ BLOQUEADO |
| Generate async | JobId retornado | NAO TESTADO (sem auth) | ❌ BLOQUEADO |
| Check | Esperado | Resultado | Status |
|---|---|---|---|
| Export PDF | PDF baixado | NAO TESTADO (sem auth + sem ETP) | ❌ BLOQUEADO |
| # | Problema | Impacto | Acao |
|---|---|---|---|
| 1 | Seed admin NAO executado | Login impossivel | railway run npm run seed:admin:prod |
| 2 | Exa API 401 | Geracao de secoes falha | Renovar EXA_API_KEY |
| 3 | Health endpoints 404 | Monitoramento impossivel | Verificar HealthModule |
| # | Problema | Impacto | Acao |
|---|---|---|---|
| 4 | Sentry NAO configurado | Sem error tracking | Definir SENTRY_DSN |
| 5 | SMTP NAO configurado | Emails apenas console | Definir variaveis SMTP |
| 6 | URLs legado nao funcionam | Documentacao desatualizada | Atualizar DEPLOY_RAILWAY.md |
- Executar seed de usuarios
railway run npm run seed:admin:prod --service etp-express-backend- Renovar Exa API Key
railway variables set EXA_API_KEY=<nova-key> --service etp-express-backend- Verificar HealthController
- Investigar porque
/api/healthretorna 404 - Verificar registro do HealthModule em AppModule
- Configurar Sentry
railway variables set SENTRY_DSN=<dsn> --service etp-express-backend
railway variables set VITE_SENTRY_DSN=<dsn> --service etp-express-frontend- Atualizar documentacao
- URLs de producao corretas em DEPLOY_RAILWAY.md
- Remover referencias a URLs legado
Apos aplicar as correcoes acima, re-executar este smoke test com:
/pick-next-issue # Se houver issue de fix criada
# OU
# Re-executar checklist manualmente- Health check
/api/healthretorna 200 - Login com admin funciona
- Login com demo funciona
- Create ETP funciona
- Generate Section funciona (Exa)
- Export PDF funciona
- Sentry captura erros de teste
| Data | Versao | Resultado | Notas |
|---|---|---|---|
| 2025-12-14 | 1.0 | 42% (5/12) | Primeira execucao - problemas criticos encontrados |
Proximos Passos:
- Criar issue P0 para correcoes criticas
- Executar correcoes
- Re-executar smoke test
- Aprovar para go-live quando 100%