48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# Helpdesk Smoke Test
|
|
|
|
Use `helpdesk_smoke_test.py` to verify that the LAN Redmine copy, Mailpit, and
|
|
redMCP work together on real Helpdesk issues.
|
|
|
|
The test creates one inbound Helpdesk email for `fud-helpdesk`, triggers
|
|
Helpdesk mail import, fetches the created issue through
|
|
`RedMCP\RedmineClient::issueWithHelpdesk()`, performs a non-Helpdesk CRUD
|
|
control in `fud-nohelpdesk`, sends a Helpdesk reply through the same mailer path
|
|
used by the UI's "Send note" checkbox, verifies the outbound message arrives in
|
|
Mailpit, and closes the Helpdesk issue.
|
|
|
|
## Run
|
|
|
|
```sh
|
|
./helpdesk_smoke_test.py
|
|
```
|
|
|
|
Defaults:
|
|
|
|
- Redmine: `http://192.168.50.170`
|
|
- Mailpit: `192.168.1.105`, SMTP `1025`, HTTP `8025`
|
|
- Helpdesk project: `fud-helpdesk`
|
|
- CRUD control project: `fud-nohelpdesk`
|
|
- API key source: `REDMINE_API_KEY`, `REDMNINE_API_KEY`, or `redMCP/.env`
|
|
|
|
The script runs `./validate_test_instance.py` first. To skip that preflight
|
|
while debugging:
|
|
|
|
```sh
|
|
./helpdesk_smoke_test.py --skip-preflight
|
|
```
|
|
|
|
## Expected Result
|
|
|
|
The final output should include:
|
|
|
|
```text
|
|
[OK] redMCP issueWithHelpdesk returned ticket and message context
|
|
[OK] redMCP non-Helpdesk CRUD control passed
|
|
[OK] Mailpit received outbound Helpdesk/Redmine mail containing the reply token
|
|
[OK] Closed smoke-test Helpdesk issue
|
|
Smoke test passed.
|
|
```
|
|
|
|
Closed smoke-test tickets are intentionally retained in `fud-helpdesk` as audit
|
|
evidence. Their subjects start with `[redMCP-smoke ...]`.
|