Skip to main content
Glama
auth.token-manager.test.ts1.11 kB
import '../setup/test-setup.js' import test from 'node:test' import assert from 'node:assert/strict' import { TokenManager, InMemoryTokenStorage } from '../../src/auth/token-manager.js' test('TokenManager stores, retrieves and cleans up', async () => { const storage = new InMemoryTokenStorage() const tm = new TokenManager({ storage, secret: 'k' }) const key = 'user::server' await tm.storeToken(key, { access_token: 't', expires_at: Date.now() + 50, scope: [] }) const tok = await tm.getToken(key) assert.equal(tok?.access_token, 't') await new Promise((r) => setTimeout(r, 60)) await tm.cleanupExpiredTokens() const tok2 = await tm.getToken(key) assert.equal(tok2, null) }) test('TokenManager works with custom KV-like storage', async () => { const { MemoryKVStorage } = await import('../utils/token-storages.js') const storage = new MemoryKVStorage() const tm = new TokenManager({ storage, secret: 'k' }) await tm.storeToken('k1', { access_token: 'Z', expires_at: Date.now() + 1000, scope: [] }) const tok = await tm.getToken('k1') assert.equal(tok?.access_token, 'Z') })

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jakedismo/master-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server