oscerd commented on PR #2987:
URL: https://github.com/apache/camel-kamelets/pull/2987#issuecomment-5437178132
## The stricter gate immediately caught a live regression on `main`
The `test` check on the first push failed — **1 of 62**,
`mail-sink-pipe-test`:
```
✘ TEST FAILED: mail-sink-pipe-test
MessageTimeoutException: Action timeout after 5000 milliseconds.
Failed to receive message on endpoint: 'mailServer.inbound'
PASSED: 61 (98.4%) FAILED: 1 (1.6%)
```
This is not breakage from this branch. It is a pre-existing defect on `main`
that the stale catalog was hiding — the exact failure mode this PR exists to
remove, showing up on its first run.
**What happened:** #2968 (Fix #2956) changed `mail-sink` to default
`protocol: smtps` — implicit TLS, and the right default for real deployments.
But `mail/mailServer.groovy` starts a **plaintext** Citrus mail server:
```groovy
mail("mailServer")
.server()
.port(22222)
.knownUsers([...])
```
So since that merge the sink has been unable to complete a handshake against
the mock and the test times out. Nobody saw it, because the itests were
resolving the released catalog where `mail-sink` still defaulted to `smtp`.
**Fix:** pin the protocol in the test Pipe, with a comment recording why:
```yaml
# The Citrus mail server this test starts is a plaintext SMTP server,
so
# the protocol has to be pinned. mail-sink defaults to smtps (implicit
# TLS) since #2956, which is the right default for real deployments but
# cannot complete a handshake against the mock.
protocol: "smtp"
```
The secure default is untouched for users; the test's plaintext assumption
is now explicit instead of accidental. `MailIT` passes locally:
```
✔ SUCCESS (16888ms) mail-sink-pipe-test
TOTAL: 1 PASSED: 1 (100.0%) FAILED: 0 (0.0%)
```
Two options for the alternative, if reviewers prefer: give the Citrus mail
server TLS so the test exercises the shipped `smtps` default end-to-end. That
is the stronger test but a bigger change, and it is a separate concern from
restoring the gate — happy to do it as a follow-up.
The PR description already warned this branch might surface masked drift.
One in 62 is a better outcome than I expected.
---
_Claude Code on behalf of Andrea Cosentino_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]