test(tools): add unit tests for error handling functions
* Implement tests for error functions like errRequiredField, errInvalidField, and errEntityNotFound. * Ensure proper metadata is returned for various error scenarios. * Validate error handling in CRM, Files, and other tools. * Introduce tests for parsing stored file IDs and UUIDs. * Enhance coverage for helper functions related to project resolution and session management.
This commit is contained in:
45
internal/tools/version.go
Normal file
45
internal/tools/version.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package tools
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
|
||||
"git.warky.dev/wdevs/amcs/internal/buildinfo"
|
||||
)
|
||||
|
||||
type VersionTool struct {
|
||||
serverName string
|
||||
info buildinfo.Info
|
||||
}
|
||||
|
||||
type GetVersionInfoInput struct{}
|
||||
|
||||
type GetVersionInfoOutput struct {
|
||||
ServerName string `json:"server_name"`
|
||||
Version string `json:"version"`
|
||||
TagName string `json:"tag_name"`
|
||||
Commit string `json:"commit"`
|
||||
BuildDate string `json:"build_date"`
|
||||
}
|
||||
|
||||
func NewVersionTool(serverName string, info buildinfo.Info) *VersionTool {
|
||||
return &VersionTool{
|
||||
serverName: serverName,
|
||||
info: info,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *VersionTool) GetInfo(_ context.Context, _ *mcp.CallToolRequest, _ GetVersionInfoInput) (*mcp.CallToolResult, GetVersionInfoOutput, error) {
|
||||
if t == nil {
|
||||
return nil, GetVersionInfoOutput{}, nil
|
||||
}
|
||||
|
||||
return nil, GetVersionInfoOutput{
|
||||
ServerName: t.serverName,
|
||||
Version: t.info.Version,
|
||||
TagName: t.info.TagName,
|
||||
Commit: t.info.Commit,
|
||||
BuildDate: t.info.BuildDate,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user