fix(game-api): revoke token after prestart deletion
This commit is contained in:
@@ -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();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user