fix(game-api): revoke token after prestart deletion

This commit is contained in:
2026-07-31 17:42:03 +00:00
parent 21d204c749
commit 596d01b6f4
6 changed files with 78 additions and 2 deletions
@@ -0,0 +1,35 @@
import { describe, expect, it, vi } from 'vitest';
import { RedisAccessTokenStore } from '../src/auth/accessTokenStore.js';
describe('RedisAccessTokenStore.revoke', () => {
it('deletes only a profile-scoped game access token key', async () => {
const del = vi.fn(async () => 1);
const store = new RedisAccessTokenStore(
{
get: async () => null,
set: async () => null,
del,
},
'che:default'
);
await expect(store.revoke('ga_current')).resolves.toBe(true);
expect(del).toHaveBeenCalledWith('sammo:game:access:che:default:ga_current');
});
it('does not delete a gateway or malformed token', async () => {
const del = vi.fn(async () => 1);
const store = new RedisAccessTokenStore(
{
get: async () => null,
set: async () => null,
del,
},
'che:default'
);
await expect(store.revoke('gateway-token')).resolves.toBe(false);
expect(del).not.toHaveBeenCalled();
});
});