docs(test-plans): add DCM CLI OIDC auth e2e test plan (FLPATH-4477) - #34
Conversation
Move the e2e-oriented OIDC login/logout plan into utilities alongside other DCM stack test plans. Includes TC-19 refresh-failure setup fix (invalidate JWT access_token), TC-17 login steps, and FileStore inaccessible-path unit coverage notes from sealusa12 execution. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
d0f6693 to
e3367e3
Compare
gabriel-farache
left a comment
There was a problem hiding this comment.
could you maybe reorganize by priority order? Or what this order chose for a particular reason?
gciavarrini
left a comment
There was a problem hiding this comment.
Since this is a markdown test plan written for AI agents, I used AI to help review it too.
|
|
||
| ### References | ||
|
|
||
| - [DCM CLI OIDC Authentication Spec](https://github.com/dcm-project/cli/blob/main/.ai/specs/dcm-cli-oidc-auth.spec.md) - requirements and acceptance criteria validated by this plan (lives in dcm-project/cli) |
There was a problem hiding this comment.
nit: This link 404s today (spec is still in cli#30)
There was a problem hiding this comment.
@gciavarrini yeah, that 404s until cli#30 merges. I'd rather leave the main link so it stays correct once that lands — ok with you?
Match the CLI login success message and force access-token expiry in TC-03 instead of sleeping for Keycloak's 5m TTL. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Rewrite TC-07 so a bad static token failing after a successful stored-token call asserts precedence hard. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the clear commands as prereq how-to and start steps at the actual policy list call. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Move token-store clear how-to under Prerequisites and start steps at logout. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Assert flags beat env and env beats config for DCM_ISSUER_URL / --issuer-url. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify that the empty env prefix forces Linux keyring probe failure and file-store fallback. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
login now saves via ConfigPath, so --config / DCM_CONFIG are respected. Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
@gabriel-farache order is dependency / execution flow (see the dependency graph), not priority. Priority tags are for AC severity. Left the TC order as-is so Requires chains stay readable. |
## Summary - Trim auth test plan E2E gaps to **TC-36 – TC-42** (CLI and JWT-negative cases removed from this plan) - Block SP / instance happy path on [FLPATH-4622](https://redhat.atlassian.net/browse/FLPATH-4622); UI path on [FLPATH-4645](https://redhat.atlassian.net/browse/FLPATH-4645) - Fix `POST /catalog-item-instances` (HTTP 201), provider `health_status`, port convention (`:8080` local / `:9080` Ecosystem Jenkins) - Add subsystem + E2E checklist tables with ❗ markers; document Jenkins dead `--auth-enabled` on `run-e2e.sh` - Clarify TC-08 as control-plane API only ## Out of scope here - CLI auth → [utilities#34](#34) / [cli#29](dcm-project/cli#29) - Wrong audience / `alg:none` → ❗ should cover on TC-14/TC-15 (subsystem) ## Test plan - [x] Review feedback addressed (Gloria / Chad) - [ ] Confirm sanitization notice still holds - [ ] Optional: pipeline fix for dead `--auth-enabled`; subsystem wrong-aud / alg:none follow-ups Signed-off-by: Vladislav Kolodny <vkolodny@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
…#29) ## Summary OIDC device authorization for the DCM CLI - `dcm login` / `dcm logout`, token storage (keyring with file fallback), authenticated HTTP transport with refresh, and a `DCM_TOKEN` / `--token` bypass for CI. Split into three commits for easier review: 1. `feat(auth):` core code - auth / commands / config 2. `test(auth):` all test files 3. `chore(auth):` go.mod / go.sum + CLAUDE.md / README.md ## Related PRs - Spec: #30 - E2E test plan: dcm-project/utilities#34 Closes https://issues.redhat.com/browse/FLPATH-4477 --------- Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Claude <noreply@anthropic.com>
## Summary - Add FLPATH-4477 OIDC auth `.ai` spec and design decisions - Point `dcm-cli.spec.md` at the new OIDC auth spec and remove auth from out-of-scope - Split docs from the CLI implementation so review can land independently ## Related PRs - Implementation: #29 - E2E test plan: dcm-project/utilities#34 --------- Signed-off-by: Chad Crum <ccrum@redhat.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
test-plans/Related PRs