• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mongodb-js / mongodb-mcp-server / 19697411085

26 Nov 2025 08:33AM UTC coverage: 80.141% (+0.3%) from 79.822%
19697411085

Pull #747

github

web-flow
Merge 5884a5a15 into cfb965b7a
Pull Request #747: feat: introduces dry mode for CLI MCP-297

1360 of 1792 branches covered (75.89%)

Branch coverage included in aggregate %.

38 of 76 new or added lines in 4 files covered. (50.0%)

1 existing line in 1 file now uncovered.

6477 of 7987 relevant lines covered (81.09%)

71.29 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.24
/src/transports/dryModeRunner.ts
1
import { InMemoryTransport } from "./inMemoryTransport.js";
1!
2
import { TransportRunnerBase, type TransportRunnerConfig } from "./base.js";
1✔
3
import { type Server } from "../server.js";
4

5
export type DryRunModeTestHelpers = {
6
    logger: {
7
        log(this: void, message: string): void;
8
        error(this: void, message: string): void;
9
    };
10
};
11

12
type DryRunModeRunnerConfig = TransportRunnerConfig & DryRunModeTestHelpers;
13

14
export class DryRunModeRunner extends TransportRunnerBase {
1✔
15
    private server: Server | undefined;
16
    private consoleLogger: DryRunModeTestHelpers["logger"];
17

18
    constructor({ logger, ...transportRunnerConfig }: DryRunModeRunnerConfig) {
1✔
19
        super(transportRunnerConfig);
2✔
20
        this.consoleLogger = logger;
2✔
21
    }
2✔
22

23
    override async start(): Promise<void> {
1✔
24
        this.server = await this.setupServer();
2✔
25
        const transport = new InMemoryTransport();
2✔
26

27
        await this.server.connect(transport);
2✔
28
        this.dumpConfig();
2✔
29
        this.dumpTools();
2✔
30
    }
2✔
31

32
    override async closeTransport(): Promise<void> {
1✔
NEW
33
        await this.server?.close();
×
NEW
34
    }
×
35

36
    private dumpConfig(): void {
1✔
37
        this.consoleLogger.log("Configuration:");
2✔
38
        this.consoleLogger.log(JSON.stringify(this.userConfig, null, 2));
2✔
39
    }
2✔
40

41
    private dumpTools(): void {
1✔
42
        const tools =
2✔
43
            this.server?.tools
2✔
44
                .filter((tool) => tool.isEnabled())
2✔
45
                .map((tool) => ({
2✔
46
                    name: tool.name,
52✔
47
                    category: tool.category,
52✔
48
                })) ?? [];
2!
49
        this.consoleLogger.log("Enabled tools:");
2✔
50
        this.consoleLogger.log(JSON.stringify(tools, null, 2));
2✔
51
    }
2✔
52
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc