testutils

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2026 License: Apache-2.0 Imports: 16 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]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

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 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 (m MockSourceConfig) Initialize(ctx context.Context, tracer trace.Tracer) (sources.Source, error)

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 (t MockTool) Authorized(verifiedAuthServices []string) bool

func (MockTool) GetAnnotations added in v1.3.0

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

func (MockTool) GetSourceName added in v1.8.0

func (t MockTool) GetSourceName() string

func (MockTool) Invoke added in v1.2.0

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(sources.Source) (bool, error)

func (MockTool) ToConfig added in v1.2.0

func (t MockTool) ToConfig() tools.ToolConfig

func (MockTool) ValidateSource added in v1.8.0

func (t MockTool) ValidateSource(src sources.Source) error

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 (m MockToolConfig) Initialize(context.Context) (tools.Tool, error)

func (MockToolConfig) ToolConfigType added in v1.8.0

func (m MockToolConfig) ToolConfigType() string

Jump to

Keyboard shortcuts

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