1.9 KiB
Helpdesk Outbox Worker Validation
Use validate_helpdesk_outbox_worker.py to verify that controlled Helpdesk
activity creates the expected event_outbox_events rows and that
redmine_outbox_worker.py can enrich those rows without processing them.
Run
./validate_helpdesk_outbox_worker.py
The script first runs the full Helpdesk/redMCP smoke path:
- sends an inbound email to Mailpit for
fud-helpdesk - triggers Helpdesk mail import on the LAN Redmine host
- verifies
issueWithHelpdesk()metadata - verifies normal
updateIssue()does not send customer mail - verifies explicit Helpdesk reply delivery through Mailpit
- closes the controlled Helpdesk issue unless
--keep-openis passed
It then queries event_outbox_events for the created issue and dry-runs
redmine_outbox_worker.enrich_event() against those exact rows.
Expected Checks
The validator fails if any of these are missing:
helpdesk_ticket.createdhelpdesk_ticket.updatedjournal_message.createdjournal.createdissue.updated- derived worker document types:
event,ticket, andmessage
It also confirms the new rows have not been locked or marked processed, and
that worker documents do not expose raw bcc_address data.
Configuration
Defaults match the LAN test setup:
- Redmine:
http://192.168.50.170 - SSH:
reddev@192.168.50.170, key/tmp/reddev - remote Redmine path:
/usr/share/redmine - Mailpit:
192.168.1.105, SMTP1025, HTTP8025 - API key source:
REDMINE_API_KEY,REDMNINE_API_KEY, orredMCP/.env
Useful options:
./validate_helpdesk_outbox_worker.py --skip-preflight
./validate_helpdesk_outbox_worker.py --keep-open
Expected Output
The final summary should include the created issue id, Helpdesk ticket ids, journal message ids, event row ids/types, and derived document type counts. The worker mode should report dry-run enrichment only.