fix(e2e): bz643.4 — consolidate settings/OIDC/workflows/stats browser journeys into 2 Ordered journeys (bookshelf-bz643.4) #1375
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "bd-bookshelf-bz643.4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
journey_settings_test.go): mergesjourney_settings_shell,journey_oidc_settings,journey_oidc_group_mapping, andjourney_sidecar_settings— 12 compound It-stepsjourney_stats_test.go): mergesjourney_library_stats,journey_stats_distributions,journey_workflow_list, andjourney_workflow_detail— 13 compound It-stepsCoverage-risk notes preserved
tryRegistergap): the sidecar-settings controller connect step in J-Settings proves app.js registration — the original regression that was invisible to Vitest+jsdomSaved!when a comic field input is set to its max value (15), guarding against theraw > 10hardcode regressionJourneys consolidated
journey_settings_shell_test.gojourney_settings_test.gojourney_oidc_settings_test.gojourney_settings_test.gojourney_oidc_group_mapping_test.gojourney_settings_test.gojourney_sidecar_settings_test.gojourney_settings_test.gojourney_library_stats_test.gojourney_stats_test.gojourney_stats_distributions_test.gojourney_stats_test.gojourney_workflow_list_test.gojourney_stats_test.gojourney_workflow_detail_test.gojourney_stats_test.goTest plan
make e2e-policy-checkpasses — all Describes are Ordered journey containersmake testpasses — all unit tests greenmake coveragepasses — zero uncovered statement blocksgo test -tags e2e -run "^$" ./e2e/browser/compiles cleanlygo vet -tags e2e ./e2e/browser/)Closes bead bookshelf-bz643.4 on merge.
Security Review — PR #1375 (bookshelf-bz643.4)
Scope confirmed
All 11 changed files are under
e2e/browser/. Zero production code touched. The--disable-back-forward-cacheflag is a Chrome CLI argument applied to the headless browser launcher; it has no effect on server-side CSP headers, HTTP responses, or any production surface.OIDC secret-cleared-after-save — VERIFIED PRESERVED
The critical assertion survives in two forms in
journey_settings_test.go:It("fills and saves the OIDC form; secret cleared after save …")): uses a fresh incognito page, inputssuper-secret-value, clicks Save, assertsclientSecretfield value.To(BeEmpty())— identical to oldjourney_oidc_settings_test.go:119.It("secret not rendered after reload; redirect URI shows callback path; …")): navigates to/settings/oidcon a fresh load and assertsclientSecretvalue.To(BeEmpty())— identical to old test at line 126–134.Both security assertions from the original two separate
Itblocks are present and correct.Admin-only settings gating — NOT asserted in browser tier (was not asserted before either)
The old
journey_settings_shell_test.gocontained zero non-admin/403 assertions. Tab navigation Its only checked the URL after a click. Admin-gating of/settings/*routes is covered at the API e2e layer (e2e/api/) — this was true before this PR and remains true after. No regression here.OIDC group-mapping authz — VERIFIED PRESERVED
journey_settings_test.goretains: controller loads, modal opens with permissions grid + library multiselect, create mapping (permission + library), edit mapping, delete mapping, save sync mode. All six originalItblocks fromjourney_oidc_group_mapping_test.goare represented.Workflow Cancel-button / status-poll gating for completed executions — VERIFIED PRESERVED
journey_stats_test.goretains the security-relevant assertion:It("clicking older completed row shows that exec's ID + state=completed + no Cancel button + no status-poll controller")assertscancelBtnsandstatusCtrlsare both empty. This confirms the server does not render Cancel controls for finished workflow executions.Minor: "completed" state label assertion dropped
[MINOR] e2e/browser/journey_stats_test.go — "completed" state label not asserted for older execution
Old
journey_workflow_detail_test.gohad a distinctIt("detail page for older completed execution shows 'completed' (not 'running')")that assertedstrings.ToLower(stateEl.MustText()) == "completed". The new consolidated file asserts the exec ID, absence of Cancel button, and absence of status-poll controller for the same execution, but does not assert the.task-statuslabel text equals"completed". This is a display assertion, not a security control. The security-relevant property (no Cancel on completed exec) is retained.Minor: three settings tab navigation Its dropped
[MINOR] e2e/browser/journey_settings_test.go — /settings/users, /settings/workflows, /settings/audit tab navigation Its not migrated
The old
journey_settings_shell_test.gohad three It blocks navigating through Users, Workflows, and Audit tab links and asserting the resulting URL. The new consolidated journey only asserts Email→/settings (redirect), Metadata, and OIDC tab navigation. These are URL navigation assertions with no security significance (admin gating of those routes is covered by the API e2e tier).No secrets or tokens hardcoded
Test credentials are all synthetic placeholders (
super-secret-value,test-client-id,grimmory-admins). No real API keys, tokens, or passwords introduced.REVIEW VERDICT: 0 blocker, 0 major, 2 minor
83efb78a3c67020a766867020a766868846d5e20