Documentation
¶
Overview ¶
Package mock provides a deterministic mock source for testing agentwatch monitors. It implements source.Source with scripted results, error injection, and call recording.
Index ¶
- type DiscoverCall
- type Option
- func WithDefaultParse(update source.SourceUpdate, cursor source.Cursor, err error) Option
- func WithDiscoverError(err error) Option
- func WithHandles(handles ...source.SessionHandle) Option
- func WithName(name string) Option
- func WithParseResult(sessionID string, update source.SourceUpdate, cursor source.Cursor, err error) Option
- type ParseCall
- type Source
- func (s *Source) AddUpdate(sessionID string, update source.SourceUpdate, cursor source.Cursor)
- func (s *Source) Discover(ctx context.Context) ([]source.SessionHandle, error)
- func (s *Source) DiscoverCallCount() int
- func (s *Source) Name() string
- func (s *Source) Parse(ctx context.Context, h source.SessionHandle, c source.Cursor) (source.SourceUpdate, source.Cursor, error)
- func (s *Source) ParseCallCount() int
- func (s *Source) ParseCalls() []ParseCall
- func (s *Source) QueueDiscoverError(err error)
- func (s *Source) QueueHandles(handles ...source.SessionHandle)
- func (s *Source) QueueParseResult(sessionID string, update source.SourceUpdate, cursor source.Cursor, err error)
- func (s *Source) SetHandles(handles []source.SessionHandle)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiscoverCall ¶
type DiscoverCall struct{}
DiscoverCall records a single invocation of Discover.
type Option ¶
type Option func(*Source)
Option configures a Source.
func WithDefaultParse ¶
WithDefaultParse sets a fallback Parse result used for any session whose scripted queue is empty. The default is not consumed — it repeats on every call.
func WithDiscoverError ¶
WithDiscoverError queues a Discover result that returns err.
func WithHandles ¶
func WithHandles(handles ...source.SessionHandle) Option
WithHandles queues a Discover result that returns the given handles (no error). Multiple calls append results in order.
func WithParseResult ¶
func WithParseResult(sessionID string, update source.SourceUpdate, cursor source.Cursor, err error) Option
WithParseResult queues a Parse result for the given sessionID. Multiple calls for the same sessionID append results in order.
type ParseCall ¶
type ParseCall struct {
Handle source.SessionHandle
Cursor source.Cursor
}
ParseCall records a single invocation of Parse, including the arguments.
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
Source is a deterministic mock that implements source.Source. Construct it with New and configure it with Option functions or the Queue* methods for runtime mutations.
func (*Source) AddUpdate ¶
AddUpdate queues a Parse result for the given sessionID with no error. Convenience method for tests.
func (*Source) Discover ¶
Discover implements source.Source. It dequeues and returns the next scripted result. When the queue is exhausted it returns permanentHandles (set via SetHandles), or nil if none are configured.
func (*Source) DiscoverCallCount ¶
DiscoverCallCount returns the number of times Discover has been called.
func (*Source) Parse ¶
func (s *Source) Parse(ctx context.Context, h source.SessionHandle, c source.Cursor) (source.SourceUpdate, source.Cursor, error)
Parse implements source.Source. It dequeues the next scripted result for h.ID. If none remains it falls back to the default result, or returns a zero SourceUpdate with the incoming cursor unchanged.
func (*Source) ParseCallCount ¶
ParseCallCount returns the number of times Parse has been called.
func (*Source) ParseCalls ¶
ParseCalls returns a snapshot of all recorded Parse invocations.
func (*Source) QueueDiscoverError ¶
QueueDiscoverError enqueues a Discover result that returns err. Safe to call after construction (runtime mutation).
func (*Source) QueueHandles ¶
func (s *Source) QueueHandles(handles ...source.SessionHandle)
QueueHandles enqueues a Discover result returning the given handles. Safe to call after construction (runtime mutation).
func (*Source) QueueParseResult ¶
func (s *Source) QueueParseResult(sessionID string, update source.SourceUpdate, cursor source.Cursor, err error)
QueueParseResult enqueues a Parse result for sessionID. Safe to call after construction (runtime mutation).
func (*Source) SetHandles ¶
func (s *Source) SetHandles(handles []source.SessionHandle)
SetHandles sets permanent handles returned by Discover when the queue is empty. Unlike WithHandles (which queues a one-shot result), SetHandles persists across all subsequent Discover calls. Convenience method for tests.