AdminUI.Tests: PageAuthorizationGuardTests red on master — /apikeys was never classified #531

Closed
opened 2026-08-01 01:10:31 -04:00 by dohertj2 · 0 comments
Owner

Fixed in 3a6b2a1d. Red on master from fbe7403c until then.

PageAuthorizationGuardTests.EveryRoutablePage_isClassifiedAndMatchesExpectedPolicy enumerates every
routable page and fails on any not present in its expected-policy map. The /apikeys page added by #520's
key-minting work was never added to that map, so the guard has been failing since it merged.

Classified as AdminUiPolicies.FleetAdmin, matching the page's own [Authorize] attribute — minting a key
hands out a data-plane credential and the secret is shown once, the same authority level as RoleGrants.

Process note, which is the actually useful part of this issue. The pre-merge check for stage 4 ran
Core / ControlPlane / Runtime / Host / OpcUaServer and not AdminUI.Tests, so a red guard merged. The
guard is the one test that fails when a new page appears anywhere, so any change adding a routable page must
run that suite.

**Fixed in `3a6b2a1d`. Red on `master` from `fbe7403c` until then.** `PageAuthorizationGuardTests.EveryRoutablePage_isClassifiedAndMatchesExpectedPolicy` enumerates every routable page and fails on any not present in its expected-policy map. The `/apikeys` page added by #520's key-minting work was never added to that map, so the guard has been failing since it merged. Classified as `AdminUiPolicies.FleetAdmin`, matching the page's own `[Authorize]` attribute — minting a key hands out a data-plane credential and the secret is shown once, the same authority level as `RoleGrants`. **Process note, which is the actually useful part of this issue.** The pre-merge check for stage 4 ran Core / ControlPlane / Runtime / Host / OpcUaServer and *not* `AdminUI.Tests`, so a red guard merged. The guard is the one test that fails when a new page appears anywhere, so any change adding a routable page must run that suite.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#531