Skip to content

Commit 8faa4e4

Browse files
committed
test(plugin-auth): pin the principal-session mint on both lanes, its refusals and its revoke
Claude-Session: https://claude.ai/code/session_01QBUMRzs2CSSq7QCTU1gT2j Co-authored-by: Claude <noreply@anthropic.com>
1 parent a1944f1 commit 8faa4e4

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

‎packages/plugins/plugin-auth/src/principal-session-mint.bearer-lane.pin.test.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ describe('[#23772] bearer lane — a minted session is never renewed', () => {
8686
await minted.revoke();
8787

8888
expect(fx.row(rawTokenOf(minted)), 'revoke left the session row').toBeUndefined();
89-
expect((await fx.getSession({ authorization: `Bearer ${minted.token}` })).body).toBeNull();
89+
// The platform's answer for "no session" on this route (anonymous-session-refusal.ts).
90+
const res = await fx.getSession({ authorization: `Bearer ${minted.token}` });
91+
expect({ status: res.status, code: res.body?.error?.code }, 'a revoked token still resolved a session')
92+
.toEqual({ status: 401, code: 'UNAUTHENTICATED' });
9093
expect(await inProcessRead(minted.token)).toBeNull();
9194
});
9295
});

‎packages/plugins/plugin-auth/src/principal-session-mint.cookie-lane.pin.test.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,9 @@ describe('[#23772] cookie lane — a minted session is never renewed', () => {
8282
await minted.revoke();
8383

8484
expect(fx.row(rawTokenOf(minted)), 'revoke left the session row').toBeUndefined();
85+
// The platform's answer for "no session" on this route (anonymous-session-refusal.ts).
8586
const res = await fx.getSession({ cookie });
86-
expect(res.status).toBe(200);
87-
expect(res.body, 'a revoked cookie still resolved a session').toBeNull();
87+
expect({ status: res.status, code: res.body?.error?.code }, 'a revoked cookie still resolved a session')
88+
.toEqual({ status: 401, code: 'UNAUTHENTICATED' });
8889
});
8990
});

‎packages/plugins/plugin-auth/src/principal-session-mint.test.ts‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,13 @@ describe('[#23772] refusals — before anything is minted', () => {
8888
});
8989

9090
it('the system user row and a role=system row → PERMISSION_DENIED / 403 (isHumanUserRow)', async () => {
91-
await expectRefused(fx.manager.mintPrincipalSession(fx.human({ userId: SystemUserId.SYSTEM })), 'PERMISSION_DENIED', 403);
91+
const users = fx.engine.tables.get('sys_user')!;
92+
users.push({ ...userRow(), id: SystemUserId.SYSTEM, email: 'system.23772@example.com', role: 'user' });
93+
try {
94+
await expectRefused(fx.manager.mintPrincipalSession(fx.human({ userId: SystemUserId.SYSTEM })), 'PERMISSION_DENIED', 403);
95+
} finally {
96+
users.splice(users.findIndex((r) => r.id === SystemUserId.SYSTEM), 1);
97+
}
9298
const row = userRow();
9399
row.role = 'system';
94100
try {

0 commit comments

Comments
 (0)