Documentation
¶
Index ¶
- Constants
- Variables
- func BoolPtr(b bool) *bool
- func ContextWithNewLogger() (context.Context, error)
- func ContextWithUserAgent(ctx context.Context, userAgent string) context.Context
- func FormatYaml(in string) []byte
- func RegisterMockResource()
- func SetUpPrimitives(t *testing.T, mockTools []MockTool, mockPrompts []MockPrompt, ...) (map[string]tools.Tool, map[string]prompts.Prompt, ...)
- func WaitForString(ctx context.Context, re *regexp.Regexp, pr io.ReadCloser) (string, error)
- type MockPrompt
- func (p MockPrompt) GetArguments() prompts.Arguments
- func (p MockPrompt) GetDesc() string
- func (p MockPrompt) Manifest() prompts.Manifest
- func (p MockPrompt) ParseArgs(data map[string]any, claimsMap map[string]map[string]any) (parameters.ParamValues, error)
- func (p MockPrompt) SubstituteParams(vals parameters.ParamValues) (any, error)
- func (p MockPrompt) ToConfig() prompts.PromptConfig
- type MockResource
- func (m MockResource) GetAnnotations() *resources.ResourceAnnotations
- func (m MockResource) GetDescription() string
- func (m MockResource) GetMimeType() string
- func (m MockResource) GetName() string
- func (m MockResource) GetResourceUIMetadata() any
- func (m MockResource) GetSize() *int64
- func (m MockResource) GetTitle() string
- func (m MockResource) GetURI() string
- func (m MockResource) IsUI() bool
- func (m MockResource) Read(ctx context.Context, params map[string]any) (any, error)
- func (m MockResource) ToConfig() resources.ResourceConfig
- type MockResourceConfig
- type MockResourceTemplate
- func (m MockResourceTemplate) GetAnnotations() *resources.ResourceAnnotations
- func (m MockResourceTemplate) GetDescription() string
- func (m MockResourceTemplate) GetMimeType() string
- func (m MockResourceTemplate) GetName() string
- func (m MockResourceTemplate) GetResourceUIMetadata() any
- func (m MockResourceTemplate) GetTitle() string
- func (m MockResourceTemplate) GetURITemplate() string
- func (m MockResourceTemplate) IsUI() bool
- func (m MockResourceTemplate) Read(ctx context.Context, params map[string]any) (any, error)
- func (m MockResourceTemplate) ToConfig() resources.ResourceTemplateConfig
- type MockResourceTemplateConfig
- type MockSource
- type MockSourceConfig
- type MockTool
- func (t MockTool) Authorized(verifiedAuthServices []string) bool
- func (t MockTool) GetAuthTokenHeaderName(sources.Source) (string, error)
- func (t MockTool) GetScopesRequired() []string
- func (t MockTool) GetSourceName() string
- func (t MockTool) HasSecureParams() bool
- func (t MockTool) Invoke(ctx context.Context, s sources.Source, params parameters.ParamValues, ...) (any, util.ToolboxError)
- func (t MockTool) ParseParams(data map[string]any, claimsMap map[string]map[string]any) (parameters.ParamValues, error)
- func (t MockTool) RequiresClientAuthorization(sources.Source) (bool, error)
- func (t MockTool) ToConfig() tools.ToolConfig
- func (t MockTool) ValidateSource(src sources.Source) error
- type MockToolConfig
Constants ¶
const MockVersionString = "0.0.0"
MockVersionString is used as a temporary version string in tests
Variables ¶
var MockPrompt1 = NewMockPrompt("prompt1", "", prompts.Arguments{})
var MockPrompt2 = NewMockPrompt("prompt2", "", prompts.Arguments{ {Parameter: parameters.NewStringParameter("arg1", "This is the first argument.")}, })
var MockResource1 = NewMockResource("mock_resource_1", "file:///mock/resource/1", "", "", "", nil, nil)
var MockResource2 = NewMockResource("mock_resource_2", "text:///mock/resource/2", "", "", "", nil, nil)
var MockTemplate1 = NewMockResourceTemplate("mock_template_1", "file://{path}", "", "", "", nil)
var MockTemplate2 = NewMockResourceTemplate("mock_template_2", "file:///logs/{path}", "", "", "", nil)
var MockTool1 = NewMockTool("no_params", "", "", []parameters.Parameter{}, false, false)
var MockTool2 = NewMockTool( "some_params", "", "", parameters.Parameters{ parameters.NewIntParameter("param1", "This is the first parameter."), parameters.NewIntParameter("param2", "This is the second parameter."), }, false, false)
var MockTool3 = NewMockTool( "array_param", "some description", "", parameters.Parameters{ parameters.NewArrayParameter("my_array", "this param is an array of strings", parameters.NewStringParameter("my_string", "string item")), }, false, false)
var MockTool4 = NewMockTool("unauthorized_tool", "", "", []parameters.Parameter{}, true, false)
var MockTool5 = NewMockTool("require_client_auth_tool", "", "", []parameters.Parameter{}, false, true)
var MockToolUrlBinding = func() MockTool { t := NewMockTool( "url_binding_tool", "A tool for testing URL param binding", "", parameters.Parameters{ parameters.NewStringParameter("param1", "A bound string param"), parameters.NewIntParameter("param2", "A bound int param"), parameters.NewBooleanParameter("param3", "A bound bool param"), parameters.NewFloatParameter("param4", "A bound float param"), parameters.NewStringParameter("param5", "An unbound string param"), parameters.NewArrayParameter("param6", "A bound array param", parameters.NewStringParameter("item", "item")), parameters.NewMapParameter("param7", "A bound map param", parameters.TypeString), }, false, false) t.ReturnParamsInInvoke = true return t }()
Functions ¶
func BoolPtr ¶ added in v1.11.0
BoolPtr returns a pointer to the given bool, for constructing optional boolean config fields in tests.
func ContextWithNewLogger ¶
ContextWithNewLogger create a new context with new logger
func ContextWithUserAgent ¶
ContextWithUserAgent creates a new context with a specified user agent string.
func FormatYaml ¶
formatYaml is a utility function for stripping out tabs in multiline strings
func RegisterMockResource ¶ added in v1.11.0
func RegisterMockResource()
RegisterMockResource registers the mock resource type with the resources package.
func SetUpPrimitives ¶ added in v1.11.0
func SetUpPrimitives(t *testing.T, mockTools []MockTool, mockPrompts []MockPrompt, mockResources []MockResource, mockResourceTemplates []MockResourceTemplate) (map[string]tools.Tool, map[string]prompts.Prompt, map[string]resources.Resource, map[string]resources.ResourceTemplate, map[string]group.Group)
SetUpPrimitives setups resources to test against. The returned groups map is the source of truth used by PrimitiveManager; assert group membership via groups[name].ContainsTool / ContainsPrompt.
func WaitForString ¶
WaitForString waits until the server logs a single line that matches the provided regex. returns the output of whatever the server sent so far.
Types ¶
type MockPrompt ¶ added in v1.2.0
type MockPrompt struct {
Name string
Description string
Args prompts.Arguments
// contains filtered or unexported fields
}
MockPrompt is used to mock prompts in tests
func NewMockPrompt ¶ added in v1.2.0
func NewMockPrompt(name, desc string, args prompts.Arguments) MockPrompt
NewMockPrompt creates a new mock prompt for testing.
func (MockPrompt) GetArguments ¶ added in v1.3.0
func (p MockPrompt) GetArguments() prompts.Arguments
func (MockPrompt) GetDesc ¶ added in v1.3.0
func (p MockPrompt) GetDesc() string
func (MockPrompt) Manifest ¶ added in v1.2.0
func (p MockPrompt) Manifest() prompts.Manifest
func (MockPrompt) ParseArgs ¶ added in v1.2.0
func (p MockPrompt) ParseArgs(data map[string]any, claimsMap map[string]map[string]any) (parameters.ParamValues, error)
func (MockPrompt) SubstituteParams ¶ added in v1.2.0
func (p MockPrompt) SubstituteParams(vals parameters.ParamValues) (any, error)
func (MockPrompt) ToConfig ¶ added in v1.2.0
func (p MockPrompt) ToConfig() prompts.PromptConfig
type MockResource ¶ added in v1.11.0
type MockResource struct {
// contains filtered or unexported fields
}
MockResource is a mock implementation of resources.Resource
func NewMockResource ¶ added in v1.11.0
func NewMockResource(name, uri, title, description, mimeType string, size *int64, annotations *resources.ResourceAnnotations) MockResource
func NewMockUIResource ¶ added in v1.11.0
func NewMockUIResource(name, uri, title, description, mimeType string, size *int64, annotations *resources.ResourceAnnotations, csp *resources.CSPConfig, permissions *resources.PermissionsConfig, domain string, prefersBorder *bool) MockResource
NewMockUIResource creates a mock UI resource for testing.
func (MockResource) GetAnnotations ¶ added in v1.11.0
func (m MockResource) GetAnnotations() *resources.ResourceAnnotations
func (MockResource) GetDescription ¶ added in v1.11.0
func (m MockResource) GetDescription() string
func (MockResource) GetMimeType ¶ added in v1.11.0
func (m MockResource) GetMimeType() string
func (MockResource) GetName ¶ added in v1.11.0
func (m MockResource) GetName() string
func (MockResource) GetResourceUIMetadata ¶ added in v1.11.0
func (m MockResource) GetResourceUIMetadata() any
func (MockResource) GetSize ¶ added in v1.11.0
func (m MockResource) GetSize() *int64
func (MockResource) GetTitle ¶ added in v1.11.0
func (m MockResource) GetTitle() string
func (MockResource) GetURI ¶ added in v1.11.0
func (m MockResource) GetURI() string
func (MockResource) IsUI ¶ added in v1.11.0
func (m MockResource) IsUI() bool
func (MockResource) ToConfig ¶ added in v1.11.0
func (m MockResource) ToConfig() resources.ResourceConfig
type MockResourceConfig ¶ added in v1.11.0
type MockResourceConfig struct {
resources.ResourceConfigBase `yaml:",inline"`
Size *int64 `yaml:"-"`
}
MockResourceConfig is a mock implementation of resources.ResourceConfig
func (*MockResourceConfig) Initialize ¶ added in v1.11.0
func (*MockResourceConfig) ResourceConfigType ¶ added in v1.11.0
func (m *MockResourceConfig) ResourceConfigType() string
type MockResourceTemplate ¶ added in v1.11.0
type MockResourceTemplate struct {
// contains filtered or unexported fields
}
MockResourceTemplate is a mock implementation of resources.ResourceTemplate
func NewMockResourceTemplate ¶ added in v1.11.0
func NewMockResourceTemplate(name, uriTemplate, title, description, mimeType string, annotations *resources.ResourceAnnotations) MockResourceTemplate
func NewMockUIResourceTemplate ¶ added in v1.11.0
func NewMockUIResourceTemplate(name, uriTemplate, title, description, mimeType string, annotations *resources.ResourceAnnotations, csp *resources.CSPConfig, permissions *resources.PermissionsConfig, domain string, prefersBorder *bool) MockResourceTemplate
NewMockUIResourceTemplate creates a mock UI resource template for testing.
func (MockResourceTemplate) GetAnnotations ¶ added in v1.11.0
func (m MockResourceTemplate) GetAnnotations() *resources.ResourceAnnotations
func (MockResourceTemplate) GetDescription ¶ added in v1.11.0
func (m MockResourceTemplate) GetDescription() string
func (MockResourceTemplate) GetMimeType ¶ added in v1.11.0
func (m MockResourceTemplate) GetMimeType() string
func (MockResourceTemplate) GetName ¶ added in v1.11.0
func (m MockResourceTemplate) GetName() string
func (MockResourceTemplate) GetResourceUIMetadata ¶ added in v1.11.0
func (m MockResourceTemplate) GetResourceUIMetadata() any
func (MockResourceTemplate) GetTitle ¶ added in v1.11.0
func (m MockResourceTemplate) GetTitle() string
func (MockResourceTemplate) GetURITemplate ¶ added in v1.11.0
func (m MockResourceTemplate) GetURITemplate() string
func (MockResourceTemplate) IsUI ¶ added in v1.11.0
func (m MockResourceTemplate) IsUI() bool
func (MockResourceTemplate) ToConfig ¶ added in v1.11.0
func (m MockResourceTemplate) ToConfig() resources.ResourceTemplateConfig
type MockResourceTemplateConfig ¶ added in v1.11.0
type MockResourceTemplateConfig struct {
resources.ResourceTemplateConfigBase `yaml:",inline"`
}
MockResourceTemplateConfig is a mock implementation of resources.ResourceTemplateConfig
func (*MockResourceTemplateConfig) Initialize ¶ added in v1.11.0
func (m *MockResourceTemplateConfig) Initialize(ctx context.Context) (resources.ResourceTemplate, error)
func (*MockResourceTemplateConfig) ResourceTemplateConfigType ¶ added in v1.11.0
func (m *MockResourceTemplateConfig) ResourceTemplateConfigType() string
type MockSource ¶ added in v1.8.0
type MockSource struct {
MockSourceConfig
}
MockSource is used to mock source in tests
func (MockSource) IsReadOnly ¶ added in v1.10.0
func (s MockSource) IsReadOnly() bool
func (MockSource) SourceType ¶ added in v1.8.0
func (s MockSource) SourceType() string
func (MockSource) ToConfig ¶ added in v1.8.0
func (s MockSource) ToConfig() sources.SourceConfig
type MockSourceConfig ¶ added in v1.8.0
type MockSourceConfig struct {
Name string `yaml:"name"`
Type string `yaml:"type"`
Foo string `yaml:"foo"`
ReadOnly bool `yaml:"readOnly"`
}
MockSourceConfig is used to mock source config in tests
func (MockSourceConfig) Initialize ¶ added in v1.8.0
func (MockSourceConfig) SourceConfigType ¶ added in v1.8.0
func (m MockSourceConfig) SourceConfigType() string
type MockTool ¶ added in v1.2.0
type MockTool struct {
tools.BaseTool[MockToolConfig]
ReturnParamsInInvoke bool
// contains filtered or unexported fields
}
MockTool is used to mock tools in tests
func NewMockTool ¶ added in v1.2.0
func NewMockTool(name, desc, source string, params []parameters.Parameter, unauthorized, reqClientAutho bool) MockTool
NewMockTool creates a new mock prompt for testing.
func NewMockToolWithUI ¶ added in v1.11.0
func NewMockToolWithUI(name, desc, source string, params []parameters.Parameter, unauthorized, reqClientAutho bool, uiResource string) MockTool
NewMockToolWithUI creates a new mock tool with UI metadata for testing.
func (MockTool) Authorized ¶ added in v1.2.0
func (MockTool) GetAuthTokenHeaderName ¶ added in v1.2.0
func (MockTool) GetScopesRequired ¶ added in v1.3.0
func (MockTool) GetSourceName ¶ added in v1.8.0
func (MockTool) HasSecureParams ¶ added in v1.10.0
func (MockTool) Invoke ¶ added in v1.2.0
func (t MockTool) Invoke(ctx context.Context, s sources.Source, params parameters.ParamValues, token tools.AccessToken) (any, util.ToolboxError)
func (MockTool) ParseParams ¶ added in v1.2.0
func (t MockTool) ParseParams(data map[string]any, claimsMap map[string]map[string]any) (parameters.ParamValues, error)
claims is a map of user info decoded from an auth token
func (MockTool) RequiresClientAuthorization ¶ added in v1.2.0
func (MockTool) ToConfig ¶ added in v1.2.0
func (t MockTool) ToConfig() tools.ToolConfig
type MockToolConfig ¶ added in v1.8.0
type MockToolConfig struct {
tools.ConfigBase `yaml:",inline"`
Source string `yaml:"source"`
Parameters parameters.Parameters `yaml:"parameters"`
Type string `yaml:"type"`
Annotations *tools.ToolAnnotations `yaml:"annotations,omitempty"`
}
MockToolConfig is used to mock tool config in tests
func (MockToolConfig) Initialize ¶ added in v1.8.0
func (MockToolConfig) ToolConfigType ¶ added in v1.8.0
func (m MockToolConfig) ToolConfigType() string