-
Notifications
You must be signed in to change notification settings - Fork 1
Give ro_strict kibana access real e2e coverage #130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| helpers: | ||
| cr: &common-rules | ||
| kibana_access: ro | ||
| kibana_access: ro_strict | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The same one-line bug is live in the Kibana plugin repo, and nothing tracks the companion fix.
Action: open the matching Severity: decide. |
||
| kibana_hide_apps: ["Enterprise Search|Overview", "Observability"] | ||
| kibana_index: ".kibana_@{acl:current_group}" | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
ro_strictspec runs the same read-only assertions asro, so the one behavior that separates the two levels is never exercised.Discover.clickCopyLinkButton(Discover.ts:116-126) creates a short URL only foradminandrw. For'ro'(and for'ro_strict') it clicks the copy button and does nothing else. NoPOST /api/short_url, no_update/index-pattern*, noconfig/*/_create, nodoc/telemetry*— none of the writes inBaseKibanaRule.scala:278-279thatro_strictrefuses.The two specs are the same test with a different fixture name; after substituting the fixture name they are byte-identical. So this spec passes under
ro_strictand underro, and it would also pass if the plugin silently downgradedro_stricttoro. It proves "read-heavy pages render underro_strict" — fail-closed is covered. It cannot prove "ro_strictrefuses writes" — fail-open is not covered.Action: add one assertion that performs a write the non-strict list allows and asserts it is refused — drive
Discover.clickCopyLinkButton('ro_strict')through a branch that interceptsPOST /api/short_urland asserts 403, or aDirect-kibana-request.cy.ts-style call under thero_strictfixture asserting the ROR forbidden envelope for_update/index-pattern:*. If that write is intentionally out of scope, rename the spec so it no longer claimsro_strictcoverage as a whole, and state which behavior it does cover.Severity: decide.