Skip to main content
Glama

Context Pods

by conorluddy
report-generator.tsโ€ข2.7 kB
/** * Test report generator */ import { TestStatus } from '../types.js'; import type { TestSuiteResult, TestRunResult } from '../types.js'; /** * Generate test reports in various formats */ export class ReportGenerator { /** * Generate HTML report */ static generateHTML(result: TestRunResult): string { const { suites, totalPassed, totalFailed, totalSkipped } = result; return ` <!DOCTYPE html> <html> <head> <title>Context-Pods Test Report</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } .summary { background: #f5f5f5; padding: 15px; border-radius: 5px; } .passed { color: green; } .failed { color: red; } .skipped { color: orange; } .suite { margin: 20px 0; border: 1px solid #ddd; padding: 15px; } .test { margin: 10px 0; padding: 5px; } </style> </head> <body> <h1>Context-Pods Test Report</h1> <div class="summary"> <h2>Summary</h2> <p>Total Tests: ${totalPassed + totalFailed + totalSkipped}</p> <p class="passed">Passed: ${totalPassed}</p> <p class="failed">Failed: ${totalFailed}</p> <p class="skipped">Skipped: ${totalSkipped}</p> <p>Duration: ${result.duration}ms</p> </div> ${suites .map( (suite: TestSuiteResult) => ` <div class="suite"> <h3>${suite.name}</h3> <p>Duration: ${suite.duration}ms</p> ${suite.tests .map( (test) => ` <div class="test ${test.status}"> <strong>${test.name}</strong> - ${test.status} (${test.duration}ms) ${test.error ? `<br><small>Error: ${String(test.error)}</small>` : ''} </div> `, ) .join('')} </div> `, ) .join('')} </body> </html>`; } /** * Generate JUnit XML report */ static generateJUnit(result: TestRunResult): string { return `<?xml version="1.0" encoding="UTF-8"?> <testsuites tests="${result.totalTests}" failures="${result.totalFailed}" time="${result.duration / 1000}"> ${result.suites .map( (suite: TestSuiteResult) => ` <testsuite name="${suite.name}" tests="${suite.tests.length}" failures="${suite.failed}" time="${suite.duration / 1000}"> ${suite.tests .map( (test) => ` <testcase classname="${suite.name}" name="${test.name}" time="${test.duration / 1000}"> ${test.status === TestStatus.FAILED ? `<failure message="${String(test.error) || 'Test failed'}">${String(test.error) || ''}</failure>` : ''} </testcase>`, ) .join('')} </testsuite>`, ) .join('')} </testsuites>`; } }

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/conorluddy/ContextPods'

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