Skip to main content
Glama

Theneo MCP Server

by atombreak
test-helpers.tsβ€’2.17 kB
/** * Test helper utilities */ import { vi } from 'vitest'; import { TheneoService } from '../../services/theneo.service.js'; /** * Creates a mock Theneo SDK Result object */ export function createMockResult<T>(value: T, ok: boolean = true) { if (ok) { return { ok: true as const, value, unwrap: () => value, map: (fn: any) => createMockResult(fn(value)), chain: (fn: any) => fn(value), }; } else { const error = value as any; return { ok: false as const, err: true as const, error, unwrap: () => { throw error; }, map: (_ok: any, err?: any) => (err ? createMockResult(err(error), false) : createMockResult(error, false)), chain: (_ok: any, err: any) => err(error), }; } } /** * Creates a mock TheneoService with stub methods */ export function mockTheneoService() { const mockClient = { listWorkspaces: vi.fn(), listProjects: vi.fn(), listProjectVersions: vi.fn(), createProject: vi.fn(), importProjectDocument: vi.fn(), publishProject: vi.fn(), getPreviewProjectLink: vi.fn(), waitForDescriptionGeneration: vi.fn(), getDescriptionGenerationStatus: vi.fn(), deleteProjectById: vi.fn(), createProjectVersion: vi.fn(), deleteProjectVersion: vi.fn(), addSubscriberToProjectVersion: vi.fn(), exportProject: vi.fn(), }; const service = { getClient: vi.fn(() => mockClient), resolveWorkspaceId: vi.fn(), resolveProjectId: vi.fn(), } as unknown as TheneoService; return { service, mockClient }; } /** * Creates a silent logger for tests */ export function mockLogger() { return { debug: vi.fn(), info: vi.fn(), warn: vi.fn(), error: vi.fn(), }; } /** * Creates a mock MCP response */ export function createMCPResponse(text: string) { return { content: [ { type: "text" as const, text, }, ], }; } /** * Creates a mock MCP error response */ export function createMCPErrorResponse(text: string) { return { content: [ { type: "text" as const, text, }, ], isError: true, }; }

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/atombreak/theneo-mcp'

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