Documentation
¶
Overview ¶
Package testutil provides shared testing utilities for MCP server tests.
Package testutil provides schema validation helpers for testing MCP tools
Index ¶
- func CheckMessage(t *testing.T, result mcp.Result)
- func DeskClientMock(status int, response []byte) (*deskclient.Client, *httptest.Server)
- func DeskMCPServerMock(t *testing.T, status int, response []byte) (*mcp.Server, func())
- func ExecuteToolRequest(t *testing.T, mcpServer *mcp.Server, toolName string, args map[string]any, ...)
- func GetInvalidTestData() map[string]map[string]map[string]any
- func GetValidTestData() map[string]map[string]map[string]any
- func ProjectsEngineMock(status int, response []byte) *twapi.Engine
- func ProjectsMCPServerMock(t *testing.T, status int, response []byte) *mcp.Server
- type ExecuteToolRequestOption
- type ExecuteToolRequestOptions
- type ProjectsSessionMock
- type SchemaValidationTestSuite
- type ToolRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckMessage ¶
CheckMessage validates that a message represents a successful tool execution
func DeskClientMock ¶
DeskClientMock creates a mock desk client with a test server
func DeskMCPServerMock ¶
DeskMCPServerMock creates a mock MCP server for twdesk testing
func ExecuteToolRequest ¶
func ExecuteToolRequest( t *testing.T, mcpServer *mcp.Server, toolName string, args map[string]any, optFuncs ...ExecuteToolRequestOption, )
ExecuteToolRequest executes a tool request and validates the response
func GetInvalidTestData ¶ added in v1.5.8
GetInvalidTestData returns invalid test data for all tools
func GetValidTestData ¶ added in v1.5.8
GetValidTestData returns valid test data for all tools
func ProjectsEngineMock ¶
ProjectsEngineMock creates a mock twapi.Engine with the given HTTP response
Types ¶
type ExecuteToolRequestOption ¶ added in v1.6.3
type ExecuteToolRequestOption func(*ExecuteToolRequestOptions)
ExecuteToolRequestOption is a function that modifies ExecuteToolRequestOptions.
func ExecuteToolRequestWithCheckMessage ¶ added in v1.6.3
func ExecuteToolRequestWithCheckMessage(f func(t *testing.T, result mcp.Result)) ExecuteToolRequestOption
ExecuteToolRequestWithCheckMessage executes a tool request and validates the response with a custom check function. Any nil function will be ignored.
type ExecuteToolRequestOptions ¶ added in v1.6.3
type ExecuteToolRequestOptions struct {
// contains filtered or unexported fields
}
ExecuteToolRequestOptions represents options for ExecuteToolRequest.
type ProjectsSessionMock ¶
type ProjectsSessionMock struct{}
ProjectsSessionMock implements a mock session for twprojects testing
func (ProjectsSessionMock) Authenticate ¶
Authenticate implements the Authenticate method for ProjectsSessionMock
func (ProjectsSessionMock) Server ¶
func (s ProjectsSessionMock) Server() string
Server implements the Server method for ProjectsSessionMock
type SchemaValidationTestSuite ¶ added in v1.5.8
type SchemaValidationTestSuite struct {
// contains filtered or unexported fields
}
SchemaValidationTestSuite provides a comprehensive test suite for validating MCP tool JSON schemas
func NewSchemaValidationTestSuite ¶ added in v1.5.8
func NewSchemaValidationTestSuite() *SchemaValidationTestSuite
NewSchemaValidationTestSuite creates a new test suite with all twdesk tools
func (*SchemaValidationTestSuite) GetTool ¶ added in v1.5.8
func (s *SchemaValidationTestSuite) GetTool(toolName string) (toolsets.ToolWrapper, bool)
GetTool returns a tool by name if it exists
func (*SchemaValidationTestSuite) RunAllSchemaValidationTests ¶ added in v1.5.8
func (s *SchemaValidationTestSuite) RunAllSchemaValidationTests(t *testing.T)
RunAllSchemaValidationTests runs comprehensive schema validation tests for all tools
func (*SchemaValidationTestSuite) RunToolSchemaValidation ¶ added in v1.5.8
func (s *SchemaValidationTestSuite) RunToolSchemaValidation(t *testing.T, toolName string, tool toolsets.ToolWrapper)
RunToolSchemaValidation runs schema validation tests for a single tool (exported version)
type ToolRequest ¶
type ToolRequest struct { mcp.CallToolRequest JSONRPC string `json:"jsonrpc"` ID int64 `json:"id"` }
ToolRequest represents a tool request for testing