unbridled-41 commented on PR #4949:
URL:
https://github.com/apache/rocketmq-dashboard/pull/4949#issuecomment-5777450999
Evidence-chain audit, re-executed from a clean worktree of this branch
(`4515d639`).
**Citations re-read with `grep -n` against `1ef5d860`**
`schema.sql` — user table `:18-19`, session `:32-33`, outbox `:375-376`;
`RmqAlertNotificationOutboxMapper.java:28-29`;
`NotificationOutboxService.java:192,321,367`;
`RmqAlertNotificationOutbox.java:24-30` (no `gmtCreate` property);
`AuthService.java:283,306-313,339,359-362,393-398,465-472,620-621`;
`UserManagement.tsx:81,103-104,398,458`; `deploy/docker-compose.yml:13,86`. All
present as described; the one wrong citation (`schema.sql:24-25` for the user
table) was corrected to `:18-19` before this audit.
**Test gap found and closed** (`test(alert)` commit `4515d639`)
Only the manual-retry wrapper was asserted, while the fix stamps
`gmt_modified` on four wrapper write paths. The delivered, retry and
defer-until-silence paths had a bare `verify(mapper).update(any(), any())` and
nothing else, so dropping the stamp from any of them would have taken the
database's clock again with no test failing — and those are the paths the
retention sweep reads. The four existing tests that already drove those paths
now assert their set clause, via one helper. Pre-fix, each of them fails:
```
defersDeliveryUntilTheActiveSilenceEndsTest
Expecting actual:
"status=#{...},next_attempt_at=#{...},sending_started_at=#{...},claim_token=#{...}"
to contain: "gmt_modified="
dispatchesDingTalkDeliveryAndMarksTheOutboxRowDeliveredTest /
renewsClaimWhileEmailDeliveryIsStillInFlightTest
Expecting actual:
"status=#{...},delivered_at=#{...},sending_started_at=#{...},last_error=#{...},claim_token=#{...}"
to contain: "gmt_modified="
retriesDingTalkDeliveryWhenTheRobotRejectsThePayloadTest (same)
```
Six failures and one error in total on the reverted production files, which
is every stamped path plus the two earlier tests.
**Commands re-run**
```
cd server && mvn -o test
-Dtest='NotificationOutboxServiceTest,AlertSilenceServiceTest,MybatisPlusAlertRepositoryTest,SystemAlertControllerTest,AlertServiceTest,SuppressionServiceTest,NativeAlertProcessorTest,AuthServiceDatabaseTest,AuthServiceTest,AuthControllerTest'
NotificationOutboxServiceTest 29/29, AlertServiceTest 83/83,
AuthServiceDatabaseTest 32/32, AuthServiceTest 16/16,
AuthControllerTest 9/9, SystemAlertControllerTest 11/11,
NativeAlertProcessorTest 23/23,
AlertSilenceServiceTest 12/12, MybatisPlusAlertRepositoryTest 16/16 → 231
tests, 0 failures
cd server && mvn -o test
Tests run: 3156, Failures: 0, Errors: 17, Skipped: 0
```
The 17 errors are the environment baseline (no MySQL: `Communications link
failure` on `ApplicationContext` load), present on `origin/rocketmq-studio` too.
**Coverage statement**
All four wrapper write paths plus the two raw statements now fail a named
test if the stamp is removed, and the insert halves are pinned by the enqueue,
session and user tests. `rmq_studio_session.gmt_modified` stays unstamped on
purpose — nothing reads it — which the description states so the omission is
not read as an oversight.
--
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]