testutils

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const MockVersionString = "0.0.0"

MockVersionString is used as a temporary version string in tests

Variables

View Source
var MockPrompt1 = NewMockPrompt("prompt1", "", prompts.Arguments{})
View Source
var MockPrompt2 = NewMockPrompt("prompt2", "", prompts.Arguments{
	{Parameter: parameters.NewStringParameter("arg1", "This is the first argument.")},
})
View Source
var MockTool1 = NewMockTool("no_params", "", []parameters.Parameter{}, false, false)
View Source
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)
View Source
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)
View Source
var MockTool4 = NewMockTool("unauthorized_tool", "", []parameters.Parameter{}, true, false)
View Source
var MockTool5 = NewMockTool("require_client_auth_tool", "", []parameters.Parameter{}, false, true)
View Source
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

func ContextWithNewLogger() (context.Context, error)

ContextWithNewLogger create a new context with new logger

func ContextWithUserAgent

func ContextWithUserAgent(ctx context.Context, userAgent string) context.Context

ContextWithUserAgent creates a new context with a specified user agent string.

func FormatYaml

func FormatYaml(in string) []byte

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]tools.Toolset, map[string]prompts.Prompt, map[string]prompts.Promptset)

SetUpResources setups resources to test against

func WaitForString

func WaitForString(ctx context.Context, re *regexp.Regexp, pr io.ReadCloser) (string, error)

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 MockTool added in v1.2.0

type MockTool struct {
	Name        string
	Description string
	Params      []parameters.Parameter

	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 string, params []parameters.Parameter, unauthorized, requireClientAuthorization bool) MockTool

NewMockTool creates a new mock prompt for testing.

func (MockTool) Authorized added in v1.2.0

func (t MockTool) Authorized(verifiedAuthServices []string) bool

func (MockTool) EmbedParams added in v1.2.0

func (t MockTool) EmbedParams(ctx context.Context, paramValues parameters.ParamValues, embeddingModelsMap map[string]embeddingmodels.EmbeddingModel) (parameters.ParamValues, error)

func (MockTool) GetAnnotations added in v1.3.0

func (t MockTool) GetAnnotations() *tools.ToolAnnotations

func (MockTool) GetAuthRequired added in v1.3.0

func (t MockTool) GetAuthRequired() []string

func (MockTool) GetAuthTokenHeaderName added in v1.2.0

func (t MockTool) GetAuthTokenHeaderName(tools.SourceProvider) (string, error)

func (MockTool) GetDescription added in v1.3.0

func (t MockTool) GetDescription() string

func (MockTool) GetName added in v1.3.0

func (t MockTool) GetName() string

func (MockTool) GetParameters added in v1.2.0

func (t MockTool) GetParameters(map[string]sources.Source) (parameters.Parameters, error)

func (MockTool) GetScopesRequired added in v1.3.0

func (t MockTool) GetScopesRequired() []string

func (MockTool) Invoke added in v1.2.0

func (MockTool) Manifest added in v1.2.0

func (t MockTool) Manifest(map[string]sources.Source) (tools.Manifest, error)

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 (t MockTool) RequiresClientAuthorization(tools.SourceProvider) (bool, error)

func (MockTool) StaticManifest added in v1.5.0

func (t MockTool) StaticManifest() tools.Manifest

func (MockTool) ToConfig added in v1.2.0

func (t MockTool) ToConfig() tools.ToolConfig

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL