Skip to content

test: corrige expectativa de propagação de exceções no middleware - #625

Merged
regyssilveira merged 1 commit into
HashLoad:masterfrom
regyssilveira:codex/fix-middleware-propagation-test
Oct 29, 2026
Merged

regyssilveira merged 1 commit into
HashLoad:masterfrom
regyssilveira:codex/fix-middleware-propagation-test

Conversation

@regyssilveira

Copy link
Copy Markdown
Contributor

Problema

TestMiddlewareExceptionPropagation esperava que uma EOSError escapasse de Execute. Essa expectativa ficou desatualizada após a correção da propagação de exceções: os middlewares devem receber o erro primeiro e, se ele continuar sem tratamento, o core aplica o fallback HTTP 500.

A expectativa antiga causava uma falha na suíte Delphi mesmo com o comportamento correto do core, reproduzida no master antes do PR #624.

Ajuste

  • Adiciona um middleware externo que captura a EOSError, registra sua mensagem e relança a exceção.
  • Verifica, após Execute, que esse middleware recebeu o erro original, a rota não executou e o fallback retornou status 500 sem deixar a exceção escapar.
  • Seleciona explicitamente Tree ou Radix conforme HORSE_RADIX_ROUTER; antes esse teste sempre instanciava Tree, inclusive na configuração Radix.
  • Mantém as asserções fora da cadeia de middleware para que uma falha de asserção não seja absorvida pelo fallback.

A alteração está restrita ao teste; o código de produção permanece igual.

Validação

Suíte completa com Delphi 13 Florence (dcc32, Windows, provider padrão/Indy):

Roteador Total Falhas Erros
Tree 335 0 0
Radix 335 0 0
./tests/run_delphi_tests.ps1 -Versions '37.0' -Providers Default,Default+Radix

Relatórios NUnit e logs preservados localmente em benchmarks/results. git diff --check passou.

@regyssilveira
regyssilveira merged commit 0e3b2c3 into HashLoad:master Oct 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant