Skip to main content
Glama
CommanderBinderTests.swift1.57 kB
import Commander import Testing @testable import PeekabooCLI @Suite("Commander Binder") struct CommanderBinderTests { @Test("Runtime options map verbose flag") func runtimeOptionVerbose() throws { let parsed = ParsedValues(positional: [], options: [:], flags: ["verbose"]) let options = try CommanderCLIBinder.makeRuntimeOptions(from: parsed) #expect(options.verbose == true) #expect(options.jsonOutput == false) } @Test("Runtime options map json flag") func runtimeOptionJson() throws { let parsed = ParsedValues(positional: [], options: [:], flags: ["jsonOutput"]) let options = try CommanderCLIBinder.makeRuntimeOptions(from: parsed) #expect(options.verbose == false) #expect(options.jsonOutput == true) } @Test("Runtime options map log level option") func runtimeOptionLogLevel() throws { let parsed = ParsedValues(positional: [], options: ["logLevel": ["error"]], flags: []) let options = try CommanderCLIBinder.makeRuntimeOptions(from: parsed) #expect(options.logLevel == .error) } @Test("Runtime options validate log level") func runtimeOptionInvalidLogLevel() { let parsed = ParsedValues(positional: [], options: ["logLevel": ["nope"]], flags: []) #expect(throws: CommanderBindingError.invalidArgument( label: "logLevel", value: "nope", reason: "Unable to parse LogLevel" )) { _ = try CommanderCLIBinder.makeRuntimeOptions(from: parsed) } } }

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/steipete/Peekaboo'

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