Skip to main content
Glama

docs-mcp-server

PipelineFactory.test.ts3.11 kB
import { describe, expect, it } from "vitest"; import { SPLITTER_PREFERRED_CHUNK_SIZE } from "../../utils/config"; import { HtmlPipeline } from "./HtmlPipeline"; import { JsonPipeline } from "./JsonPipeline"; import { MarkdownPipeline } from "./MarkdownPipeline"; import { PipelineFactory } from "./PipelineFactory"; import { SourceCodePipeline } from "./SourceCodePipeline"; import { TextPipeline } from "./TextPipeline"; describe("PipelineFactory", () => { describe("createStandardPipelines", () => { it("should create all five standard pipelines", () => { const pipelines = PipelineFactory.createStandardPipelines(); expect(pipelines).toHaveLength(5); expect(pipelines[0]).toBeInstanceOf(JsonPipeline); expect(pipelines[1]).toBeInstanceOf(SourceCodePipeline); expect(pipelines[2]).toBeInstanceOf(HtmlPipeline); expect(pipelines[3]).toBeInstanceOf(MarkdownPipeline); expect(pipelines[4]).toBeInstanceOf(TextPipeline); }); it("should create new instances each time", () => { const pipelines1 = PipelineFactory.createStandardPipelines(); const pipelines2 = PipelineFactory.createStandardPipelines(); expect(pipelines1[0]).not.toBe(pipelines2[0]); expect(pipelines1[1]).not.toBe(pipelines2[1]); expect(pipelines1[2]).not.toBe(pipelines2[2]); expect(pipelines1[3]).not.toBe(pipelines2[3]); expect(pipelines1[4]).not.toBe(pipelines2[4]); }); }); describe("configuration", () => { it("should use default chunk sizes when no configuration provided", () => { const pipelines = PipelineFactory.createStandardPipelines(); expect(pipelines).toHaveLength(5); // Test passes if no errors are thrown during pipeline creation }); it("should accept custom chunk sizes configuration", () => { const config = { chunkSizes: { preferred: 800, max: 1600, }, }; const pipelines = PipelineFactory.createStandardPipelines(config); expect(pipelines).toHaveLength(5); expect(pipelines[0]).toBeInstanceOf(JsonPipeline); expect(pipelines[1]).toBeInstanceOf(SourceCodePipeline); expect(pipelines[2]).toBeInstanceOf(HtmlPipeline); expect(pipelines[3]).toBeInstanceOf(MarkdownPipeline); expect(pipelines[4]).toBeInstanceOf(TextPipeline); }); it("should use default values when configuration is partially provided", () => { const config = { chunkSizes: { preferred: 800, // max is omitted - should use default }, }; const pipelines = PipelineFactory.createStandardPipelines(config); expect(pipelines).toHaveLength(5); // Test passes if no errors are thrown during pipeline creation }); it("should use constants as defaults when configuration is undefined", () => { const pipelines = PipelineFactory.createStandardPipelines(undefined); expect(pipelines).toHaveLength(5); // Verify that the default constant is being used implicitly expect(SPLITTER_PREFERRED_CHUNK_SIZE).toBe(1500); }); }); });

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/arabold/docs-mcp-server'

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