Heimdall/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens d989860163 Refresh classification: revoke only on a 400 invalid_grant; any other answer keeps the tokens
A grant verdict is read from a 400 body by exact code, never from a 401, a
5xx or a 2xx. A 2xx that is not an object with a non-empty string
access_token and no error is refused as provider_body_not_token_set, so a
malformed success keeps the tokens and surfaces as the typed 502 for every
provider, rotating or not. A refresh answer without expires_in stores the
expiry as unknown rather than keeping the already-due one; an unknown expiry
is never due, so the next resolve does not refresh again.

Pins Soul's three surviving mutants: substring code match, the dropped
expiry rule, and the snapshot refresh token on a non-rotating provider.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:34:17 +02:00
..
access-plugin.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00
app.test.ts OAuth start: the profile's role lists decide which provider a mode may use 2026-10-19 12:31:59 +02:00
browser-adapter.test.ts Resume browser sign-in by attempt id, not the completion code 2026-09-23 20:50:28 +02:00
caller-identity-attack-soul-r21.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00
caller-identity-attack-soul.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00
caller-identity-soul.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00
capability-rules.test.ts Make app capability rules data instead of code 2026-09-06 23:58:58 +02:00
config-secrets.test.ts readSecretInput: never print the path, refuse relative paths and blank secrets 2026-09-30 13:50:53 +02:00
entrypoint-secrets.test.ts Every start connects to Postgres; pin the signing key's read refusal 2026-09-30 15:30:10 +02:00
idunn-candidate-bind.test.ts Move the private command port with the candidate 2026-09-06 22:15:34 +02:00
idunn-rudp-health.test.ts Publish runtime presence in the contract Odin admits 2026-09-07 22:19:51 +02:00
managed-credential.test.ts Refresh classification: revoke only on a 400 invalid_grant; any other answer keeps the tokens 2026-10-19 12:34:17 +02:00
odin-publication.test.ts Give Heimdall Odin documents unique catalog keys 2026-08-22 03:47:02 +02:00
presence-identity-descriptor.test.ts Assert descriptor selection instead of reading a live descriptor 2026-09-08 13:52:47 +02:00
private-command-diagnostics.test.ts Tests: refresh failures surface as the typed ManagedCredentialRefreshFailed; seven providers 2026-10-19 11:20:18 +02:00
process-write-lease.test.ts Follow CultLib's package rename and select workspaces by path 2026-09-07 22:26:24 +02:00
provider-token-request.test.ts Refresh classification: revoke only on a 400 invalid_grant; any other answer keeps the tokens 2026-10-19 12:34:17 +02:00
recipe-secrets.test.ts Recipe test: explore loadConfig as Idunn starts Heimdall 2026-09-30 22:52:40 +02:00
security.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00
store.test.ts Refresh managed credentials under a row lock, with typed revocation 2026-10-19 11:11:34 +02:00
verse-runtime.test.ts Tests: refresh failures surface as the typed ManagedCredentialRefreshFailed; seven providers 2026-10-19 11:20:18 +02:00
verse-witness.test.ts Add Joystick as a confidential, rotating managed-connection provider 2026-10-19 11:13:40 +02:00