Skip to main content
Glama
quality.test.ts1.95 kB
import { describe, it, expect } from "vitest"; import { analyzeComplexityHandler, securityScanHandler } from "./quality.js"; describe("Quality Tools", () => { describe("analyzeComplexityHandler", () => { it("should calculate complexity", () => { const code = ` function test() { if (a) { if (b) { return; } } } `; const result = analyzeComplexityHandler({ code, language: "javascript" }); expect(result.content[0].text).toContain("Cyclomatic Complexity"); expect(result.content[0].text).toContain("Nesting Depth"); }); it("should warn for high complexity", () => { // Generate complex code with newlines to trigger per-line analysis const code = "if(a){}\n".repeat(25); const result = analyzeComplexityHandler({ code, language: "javascript" }); expect(result.content[0].text).toContain("Refactor Needed"); }); }); describe("securityScanHandler", () => { it("should detect secrets", () => { const code = "const password = 'supersecretpassword123456';"; const result = securityScanHandler({ code, language: "javascript", focus: "all", }); expect(result.content[0].text).toContain("Hardcoded secret"); }); it("should detect sql injection", () => { const code = "execute('SELECT * FROM users WHERE id = ' + id)"; const result = securityScanHandler({ code, language: "javascript", focus: "all", }); expect(result.content[0].text).toContain("SQL Injection"); }); it("should pass safe code", () => { const code = "console.log('Hello');"; const result = securityScanHandler({ code, language: "javascript", focus: "all", }); expect(result.content[0].text).toContain("No obvious issues detected"); }); }); });

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/millsydotdev/Code-MCP'

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