Skip to main content
Glama
mkXultra
by mkXultra
setup.ts2.19 kB
import { beforeAll, afterAll, beforeEach, afterEach } from 'vitest'; import { promises as fs } from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); // Generate unique test directory for each test function getUniqueTestDir(): string { const timestamp = Date.now(); const random = Math.random().toString(36).substring(2, 8); return path.join(__dirname, `../../test-data-${timestamp}-${random}`); } let testDataDir = getUniqueTestDir(); // Test data directory setup export async function setupTestDataDir(): Promise<string> { // Generate new unique directory for this test testDataDir = getUniqueTestDir(); try { await fs.rm(testDataDir, { recursive: true, force: true }); } catch (error) { // Ignore if doesn't exist } await fs.mkdir(testDataDir, { recursive: true }); return testDataDir; } export async function cleanupTestDataDir(): Promise<void> { try { await fs.rm(testDataDir, { recursive: true, force: true }); } catch (error) { // Ignore errors } } // Mock environment setup export function setupTestEnv(dataDir?: string): void { // Use the current unique test directory process.env.AGENT_COMM_DATA_DIR = dataDir || testDataDir; process.env.AGENT_COMM_LOCK_TIMEOUT = '5000'; // Increased timeout for concurrent tests process.env.AGENT_COMM_MAX_MESSAGES = '100'; process.env.AGENT_COMM_MAX_ROOMS = '10'; } // Reset test environment export function resetTestEnv(): void { delete process.env.AGENT_COMM_DATA_DIR; delete process.env.AGENT_COMM_LOCK_TIMEOUT; delete process.env.AGENT_COMM_MAX_MESSAGES; delete process.env.AGENT_COMM_MAX_ROOMS; } // Global test hooks beforeAll(async () => { await setupTestDataDir(); setupTestEnv(); }); afterAll(async () => { await cleanupTestDataDir(); resetTestEnv(); }); beforeEach(async () => { // Create new unique data directory before each test const newDir = await setupTestDataDir(); setupTestEnv(newDir); }); afterEach(async () => { // Optional: Keep data for debugging failed tests if (process.env.KEEP_TEST_DATA !== 'true') { await cleanupTestDataDir(); } });

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/mkXultra/agent-communication-mcp'

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