The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/tencent-principal-search has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
193039701aceb99b60f80a5f01cf2da0350b44fd / unbridled-41 
<[email protected]>
fix(tencent): match a partial principal in the ACL rule search

AclService's Tencent branch passes the console's principal box straight to
TencentAclService.listRules, which compared it for identity:

    if (requestedPrincipal != null && 
!requestedPrincipal.equals(role.getRoleName())) {
        continue;
    }

The box is a search field, not a filter list: 
web/src/pages/instance/acl.tsx:1136
renders it with the acl.searchPrincipal placeholder ("Search principal" /
"搜索主体"), and every sibling filter in the same feature matches substrings -
the resource filter in this very branch uses containsIgnoreCase, and on an 
Apache
instance the repository filters the principal with SQL LIKE. On a Tencent
instance, typing `svc` for roles `svc-a`/`svc-b` therefore returned an empty 
page
with total 0, which reads as "these roles do not exist"; only the full role name
matched. No existing test passed a non-null principal (they all call
listRules(instanceId, null)), so the exactness was never pinned either.

Match the role name case-insensitively as a substring, and treat a blank term as
"no filter" like the other filters do.

Tests (server/):
mvn -o -B -ntp test -Dtest='TencentAclServiceTest' -> Tests run: 18, Failures: 
0,
Errors: 0.
- new TencentAclServiceTest#listRulesShouldMatchAPartialPrincipalTest fails 
before
  this change (the partial term returned an empty list) and passes after it.
- mvn -o -B -ntp test -Dtest='org.apache.rocketmq.studio.instance.acl.**' ->
  Tests run: 179, Failures: 0, Errors: 0; checkstyle passes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37965809177

With regards,
GitHub Actions via GitBox

Reply via email to