Documentation
¶
Index ¶
- Constants
- Variables
- func ContextWithNewLogger() (context.Context, error)
- func ContextWithUserAgent(ctx context.Context, userAgent string) context.Context
- func FormatYaml(in string) []byte
- func SetUpResources(t *testing.T, mockTools []MockTool, mockPrompts []MockPrompt) (map[string]tools.Tool, map[string]prompts.Prompt, map[string]group.Group)
- 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 MockSource
- type MockSourceConfig
- type MockTool
- func (t MockTool) Authorized(verifiedAuthServices []string) bool
- func (t MockTool) GetAnnotations() *tools.ToolAnnotations
- func (t MockTool) GetSourceName() string
- 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 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 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 SetUpResources ¶ added in v1.5.0
func SetUpResources(t *testing.T, mockTools []MockTool, mockPrompts []MockPrompt) (map[string]tools.Tool, map[string]prompts.Prompt, map[string]group.Group)
SetUpResources 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 MockSource ¶ added in v1.8.0
type MockSource struct {
MockSourceConfig
}
MockSource is used to mock source in tests
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"`
}
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 (MockTool) Authorized ¶ added in v1.2.0
func (MockTool) GetAnnotations ¶ added in v1.3.0
func (t MockTool) GetAnnotations() *tools.ToolAnnotations
func (MockTool) GetSourceName ¶ added in v1.8.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"`
}
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