zjncs opened a new pull request, #5714:
URL: https://github.com/apache/rocketmq-dashboard/pull/5714

   ### What
   
   `RunStatus` — the lifecycle state of a run — had no test. This adds 
`RunStatusTest` with 4 tests.
   
   ### Why
   
   `ACTIVE_STATUSES` is the one constant every caller of the admission rule and 
the startup reaper depends on: it is what "still running" means. A terminal 
status creeping into it would let two runs of one conversation be admitted at 
once — the exact invariant the enum's javadoc names. The terminal/non-terminal 
split and the uppercase wire shape were equally unpinned.
   
   ### What is pinned
   
   - **COMPLETED, STOPPED and FAILED are terminal**;
   - **QUEUED and RUNNING are not**;
   - `ACTIVE_STATUSES` is exactly `QUEUED` and `RUNNING`, in that order;
   - the status serialises as the **uppercase enum name**, the shape both the 
`rmq_ai_run.status` column and the `run_finished`/`run_status` events carry.
   
   ### Verification
   
   - New tests on unmodified code: **4/4 green** (`mvn test 
-Dtest=RunStatusTest`).
   - Discriminating mutations on `RunStatus`, build result verified red each 
time:
     1. `isTerminal` inverted — red;
     2. `COMPLETED` added to `ACTIVE_STATUSES` — red;
     3. `RUNNING` treated as terminal so only `QUEUED` stays active — red.
   - Restored: 4/4 green. Test-only change; no product code touched.
   


-- 
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]

Reply via email to