Skip to content

test(integration): more migration scenarios (carry-secret, no-AD, guards, mixed)#33

Merged
bodaay merged 2 commits into
masterfrom
test/integration-scenarios2
Jun 8, 2026
Merged

test(integration): more migration scenarios (carry-secret, no-AD, guards, mixed)#33
bodaay merged 2 commits into
masterfrom
test/integration-scenarios2

Conversation

@bodaay

@bodaay bodaay commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Extends the local integration harness (merged in #32) with TestMoreScenariosnot wired into CI by design.

  • carry_secret round-trip — the consumer's secret survives cutover (carried hash authenticates the central app).
  • central_not_on_ad — AD users blocked when the central has no AD.
  • migration_guards — single-use token + fresh-target enforced across the real container boundary.
  • mixed_population — AD user (policy-only) + local break-glass (carried hash) in one migration; both authenticate on the central.

All 8 scenarios pass; go build/vet/test ./... unaffected.

🤖 Generated with Claude Code

bodaay and others added 2 commits June 8, 2026 03:14
…guards, mixed

Adds TestMoreScenarios to the (local, non-CI) harness:
- carry_secret round-trip: the source home app's secret is carried, and the same
  secret authenticates the central app via /api/app/token (consumer keeps its
  credential after cutover); a wrong secret is rejected.
- central_not_on_ad: with the central's LDAP removed, an AD standalone's users are
  blocked at preflight (restored after via defer).
- migration_guards: across the container boundary, a reused single-use token is
  401 and a fresh token can't re-migrate into an already-populated app
  (fresh-target guard).
- mixed_population: one standalone with an AD user AND a local break-glass account
  migrates in one bundle — AD policy-only, local carried-hash — and both
  authenticate on the central.

All 8 scenarios green; release gate unaffected (integration tag).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bob gets a role on a central app purely via group membership (he's in "Finance"),
with no per-user assignment. The fixture carries membership in `ou` and points
groups_attr at it (avoids needing the OpenLDAP memberof overlay; the group→role
resolution path is identical regardless of attribute name).

9 scenarios green; release gate unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bodaay bodaay merged commit 42f46f2 into master Jun 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant