Skip to main content
Glama

Sentry MCP

Official
by getsentry
openai-provider.test.ts3.18 kB
import { describe, it, expect, beforeEach, afterEach } from "vitest"; import { getOpenAIModel, setOpenAIBaseUrl } from "./openai-provider.js"; describe("openai-provider", () => { const originalEnv = process.env.OPENAI_REASONING_EFFORT; beforeEach(() => { setOpenAIBaseUrl(undefined); }); afterEach(() => { if (originalEnv === undefined) { // biome-ignore lint/performance/noDelete: Required to properly unset environment variable delete process.env.OPENAI_REASONING_EFFORT; } else { process.env.OPENAI_REASONING_EFFORT = originalEnv; } }); describe("reasoning effort configuration", () => { it("uses default reasoning effort when env var is not set", () => { // biome-ignore lint/performance/noDelete: Required to properly unset environment variable delete process.env.OPENAI_REASONING_EFFORT; const model = getOpenAIModel(); // The model object should be created with default reasoning effort expect(model).toBeDefined(); expect(model.modelId).toBe("gpt-5"); }); it("disables reasoning effort when env var is empty string", () => { process.env.OPENAI_REASONING_EFFORT = ""; const model = getOpenAIModel(); // The model object should be created without reasoning effort expect(model).toBeDefined(); expect(model.modelId).toBe("gpt-5"); }); it("uses specified reasoning effort when env var is set", () => { process.env.OPENAI_REASONING_EFFORT = "high"; const model = getOpenAIModel(); // The model object should be created with high reasoning effort expect(model).toBeDefined(); expect(model.modelId).toBe("gpt-5"); }); it("throws error for invalid reasoning effort value", () => { process.env.OPENAI_REASONING_EFFORT = "invalid"; expect(() => getOpenAIModel()).toThrow( 'Invalid OPENAI_REASONING_EFFORT value: "invalid". Must be one of: "low", "medium", "high", or "" (empty string to disable). Default is "low".', ); }); }); describe("base URL configuration", () => { it("uses default base URL when not configured", () => { const model = getOpenAIModel(); expect(model).toBeDefined(); expect(model.modelId).toBe("gpt-5"); }); it("uses configured base URL", () => { setOpenAIBaseUrl("https://custom-openai.example.com"); const model = getOpenAIModel(); expect(model).toBeDefined(); expect(model.modelId).toBe("gpt-5"); }); }); describe("model override", () => { it("uses default model when not specified", () => { const model = getOpenAIModel(); expect(model.modelId).toBe("gpt-5"); }); it("uses specified model when provided", () => { const model = getOpenAIModel("gpt-4"); expect(model.modelId).toBe("gpt-4"); }); it("uses OPENAI_MODEL env var when set", () => { process.env.OPENAI_MODEL = "gpt-4o"; const model = getOpenAIModel(); expect(model.modelId).toBe("gpt-4o"); // biome-ignore lint/performance/noDelete: Required to properly unset environment variable delete process.env.OPENAI_MODEL; }); }); });

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/getsentry/sentry-mcp'

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