testing

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package testing provides test utilities for the registry service.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FakeRegistry

type FakeRegistry struct {

	// Data fields for simple data-driven tests
	Servers      []*apiv0.ServerResponse
	Agents       []*models.AgentResponse
	Skills       []*models.SkillResponse
	Deployments  []*models.Deployment
	Providers    []*models.Provider
	ServerReadme *database.ServerReadme

	// Embedding metadata maps (keyed by "name@version")
	ServerEmbeddingMeta map[string]*database.SemanticEmbeddingMetadata
	AgentEmbeddingMeta  map[string]*database.SemanticEmbeddingMetadata

	// Call counters for verification
	UpsertServerEmbeddingCalls int
	UpsertAgentEmbeddingCalls  int

	// Function hooks for custom behavior (take precedence over data fields when set)
	ListServersFn                func(ctx context.Context, filter *database.ServerFilter, cursor string, limit int) ([]*apiv0.ServerResponse, string, error)
	GetServerByNameFn            func(ctx context.Context, serverName string) (*apiv0.ServerResponse, error)
	GetServerByNameAndVersionFn  func(ctx context.Context, serverName, version string) (*apiv0.ServerResponse, error)
	GetAllVersionsByServerNameFn func(ctx context.Context, serverName string) ([]*apiv0.ServerResponse, error)
	CreateServerFn               func(ctx context.Context, req *apiv0.ServerJSON) (*apiv0.ServerResponse, error)
	UpdateServerFn               func(ctx context.Context, serverName, version string, req *apiv0.ServerJSON, newStatus *string) (*apiv0.ServerResponse, error)
	StoreServerReadmeFn          func(ctx context.Context, serverName, version string, content []byte, contentType string) error
	GetServerReadmeLatestFn      func(ctx context.Context, serverName string) (*database.ServerReadme, error)
	GetServerReadmeByVersionFn   func(ctx context.Context, serverName, version string) (*database.ServerReadme, error)
	DeleteServerFn               func(ctx context.Context, serverName, version string) error
	UpsertServerEmbeddingFn      func(ctx context.Context, serverName, version string, embedding *database.SemanticEmbedding) error
	GetServerEmbeddingMetadataFn func(ctx context.Context, serverName, version string) (*database.SemanticEmbeddingMetadata, error)
	ListAgentsFn                 func(ctx context.Context, filter *database.AgentFilter, cursor string, limit int) ([]*models.AgentResponse, string, error)
	GetAgentByNameFn             func(ctx context.Context, agentName string) (*models.AgentResponse, error)
	GetAgentByNameAndVersionFn   func(ctx context.Context, agentName, version string) (*models.AgentResponse, error)
	GetAllVersionsByAgentNameFn  func(ctx context.Context, agentName string) ([]*models.AgentResponse, error)
	CreateAgentFn                func(ctx context.Context, req *models.AgentJSON) (*models.AgentResponse, error)
	ResolveAgentManifestSkillsFn func(ctx context.Context, manifest *models.AgentManifest) ([]platformtypes.AgentSkillRef, error)
	DeleteAgentFn                func(ctx context.Context, agentName, version string) error
	UpsertAgentEmbeddingFn       func(ctx context.Context, agentName, version string, embedding *database.SemanticEmbedding) error
	GetAgentEmbeddingMetadataFn  func(ctx context.Context, agentName, version string) (*database.SemanticEmbeddingMetadata, error)
	ListSkillsFn                 func(ctx context.Context, filter *database.SkillFilter, cursor string, limit int) ([]*models.SkillResponse, string, error)
	GetSkillByNameFn             func(ctx context.Context, skillName string) (*models.SkillResponse, error)
	GetSkillByNameAndVersionFn   func(ctx context.Context, skillName, version string) (*models.SkillResponse, error)
	GetAllVersionsBySkillNameFn  func(ctx context.Context, skillName string) ([]*models.SkillResponse, error)
	CreateSkillFn                func(ctx context.Context, req *models.SkillJSON) (*models.SkillResponse, error)
	GetDeploymentsFn             func(ctx context.Context, filter *models.DeploymentFilter) ([]*models.Deployment, error)
	ListProvidersFn              func(ctx context.Context, platform *string) ([]*models.Provider, error)
	GetProviderByIDFn            func(ctx context.Context, providerID string) (*models.Provider, error)
	CreateProviderFn             func(ctx context.Context, in *models.CreateProviderInput) (*models.Provider, error)
	UpdateProviderFn             func(ctx context.Context, providerID string, in *models.UpdateProviderInput) (*models.Provider, error)
	DeleteProviderFn             func(ctx context.Context, providerID string) error
	GetDeploymentByIDFn          func(ctx context.Context, id string) (*models.Deployment, error)
	DeployServerFn               func(ctx context.Context, serverName, version string, config map[string]string, preferRemote bool, providerID string) (*models.Deployment, error)
	DeployAgentFn                func(ctx context.Context, agentName, version string, config map[string]string, preferRemote bool, providerID string) (*models.Deployment, error)
	RemoveDeploymentByIDFn       func(ctx context.Context, id string) error
	CreateDeploymentFn           func(ctx context.Context, req *models.Deployment) (*models.Deployment, error)
	UndeployDeploymentFn         func(ctx context.Context, deployment *models.Deployment) error
	GetDeploymentLogsFn          func(ctx context.Context, deployment *models.Deployment) ([]string, error)
	CancelDeploymentFn           func(ctx context.Context, deployment *models.Deployment) error
	ReconcileAllFn               func(ctx context.Context) error

	// Prompt fields and hooks
	Prompts                      []*models.PromptResponse
	ListPromptsFn                func(ctx context.Context, filter *database.PromptFilter, cursor string, limit int) ([]*models.PromptResponse, string, error)
	GetPromptByNameFn            func(ctx context.Context, promptName string) (*models.PromptResponse, error)
	GetPromptByNameAndVersionFn  func(ctx context.Context, promptName, version string) (*models.PromptResponse, error)
	GetAllVersionsByPromptNameFn func(ctx context.Context, promptName string) ([]*models.PromptResponse, error)
	CreatePromptFn               func(ctx context.Context, req *models.PromptJSON) (*models.PromptResponse, error)
	DeletePromptFn               func(ctx context.Context, promptName, version string) error
	// contains filtered or unexported fields
}

FakeRegistry is a configurable fake implementation of service.RegistryService for testing. It supports both data-driven setup via struct fields and function hooks for custom behavior.

func NewFakeRegistry

func NewFakeRegistry() *FakeRegistry

NewFakeRegistry creates a new FakeRegistry with initialized maps.

func (*FakeRegistry) CancelDeployment added in v0.2.0

func (f *FakeRegistry) CancelDeployment(ctx context.Context, deployment *models.Deployment) error

func (*FakeRegistry) CreateAgent

func (f *FakeRegistry) CreateAgent(ctx context.Context, req *models.AgentJSON) (*models.AgentResponse, error)

func (*FakeRegistry) CreateDeployment added in v0.2.0

func (f *FakeRegistry) CreateDeployment(ctx context.Context, req *models.Deployment) (*models.Deployment, error)

func (*FakeRegistry) CreatePrompt added in v0.2.0

func (f *FakeRegistry) CreatePrompt(ctx context.Context, req *models.PromptJSON) (*models.PromptResponse, error)

func (*FakeRegistry) CreateProvider added in v0.2.0

func (f *FakeRegistry) CreateProvider(ctx context.Context, in *models.CreateProviderInput) (*models.Provider, error)

func (*FakeRegistry) CreateServer

func (f *FakeRegistry) CreateServer(ctx context.Context, req *apiv0.ServerJSON) (*apiv0.ServerResponse, error)

func (*FakeRegistry) CreateSkill

func (f *FakeRegistry) CreateSkill(ctx context.Context, req *models.SkillJSON) (*models.SkillResponse, error)

func (*FakeRegistry) DeleteAgent

func (f *FakeRegistry) DeleteAgent(ctx context.Context, agentName, version string) error

func (*FakeRegistry) DeletePrompt added in v0.2.0

func (f *FakeRegistry) DeletePrompt(ctx context.Context, promptName, version string) error

func (*FakeRegistry) DeleteProvider added in v0.2.0

func (f *FakeRegistry) DeleteProvider(ctx context.Context, providerID string) error

func (*FakeRegistry) DeleteServer

func (f *FakeRegistry) DeleteServer(ctx context.Context, serverName, version string) error

func (*FakeRegistry) DeployAgent

func (f *FakeRegistry) DeployAgent(ctx context.Context, agentName, version string, config map[string]string, preferRemote bool, providerID string) (*models.Deployment, error)

func (*FakeRegistry) DeployServer

func (f *FakeRegistry) DeployServer(ctx context.Context, serverName, version string, config map[string]string, preferRemote bool, providerID string) (*models.Deployment, error)

func (*FakeRegistry) GetAgentByName

func (f *FakeRegistry) GetAgentByName(ctx context.Context, agentName string) (*models.AgentResponse, error)

func (*FakeRegistry) GetAgentByNameAndVersion

func (f *FakeRegistry) GetAgentByNameAndVersion(ctx context.Context, agentName, version string) (*models.AgentResponse, error)

func (*FakeRegistry) GetAgentEmbeddingMetadata

func (f *FakeRegistry) GetAgentEmbeddingMetadata(ctx context.Context, agentName, version string) (*database.SemanticEmbeddingMetadata, error)

func (*FakeRegistry) GetAllVersionsByAgentName

func (f *FakeRegistry) GetAllVersionsByAgentName(ctx context.Context, agentName string) ([]*models.AgentResponse, error)

func (*FakeRegistry) GetAllVersionsByPromptName added in v0.2.0

func (f *FakeRegistry) GetAllVersionsByPromptName(ctx context.Context, promptName string) ([]*models.PromptResponse, error)

func (*FakeRegistry) GetAllVersionsByServerName

func (f *FakeRegistry) GetAllVersionsByServerName(ctx context.Context, serverName string) ([]*apiv0.ServerResponse, error)

func (*FakeRegistry) GetAllVersionsBySkillName

func (f *FakeRegistry) GetAllVersionsBySkillName(ctx context.Context, skillName string) ([]*models.SkillResponse, error)

func (*FakeRegistry) GetDeploymentByID added in v0.2.0

func (f *FakeRegistry) GetDeploymentByID(ctx context.Context, id string) (*models.Deployment, error)

func (*FakeRegistry) GetDeploymentLogs added in v0.2.0

func (f *FakeRegistry) GetDeploymentLogs(ctx context.Context, deployment *models.Deployment) ([]string, error)

func (*FakeRegistry) GetDeployments

func (f *FakeRegistry) GetDeployments(ctx context.Context, filter *models.DeploymentFilter) ([]*models.Deployment, error)

func (*FakeRegistry) GetPromptByName added in v0.2.0

func (f *FakeRegistry) GetPromptByName(ctx context.Context, promptName string) (*models.PromptResponse, error)

func (*FakeRegistry) GetPromptByNameAndVersion added in v0.2.0

func (f *FakeRegistry) GetPromptByNameAndVersion(ctx context.Context, promptName, version string) (*models.PromptResponse, error)

func (*FakeRegistry) GetProviderByID added in v0.2.0

func (f *FakeRegistry) GetProviderByID(ctx context.Context, providerID string) (*models.Provider, error)

func (*FakeRegistry) GetServerByName

func (f *FakeRegistry) GetServerByName(ctx context.Context, serverName string) (*apiv0.ServerResponse, error)

func (*FakeRegistry) GetServerByNameAndVersion

func (f *FakeRegistry) GetServerByNameAndVersion(ctx context.Context, serverName, version string) (*apiv0.ServerResponse, error)

func (*FakeRegistry) GetServerEmbeddingMetadata

func (f *FakeRegistry) GetServerEmbeddingMetadata(ctx context.Context, serverName, version string) (*database.SemanticEmbeddingMetadata, error)

func (*FakeRegistry) GetServerReadmeByVersion

func (f *FakeRegistry) GetServerReadmeByVersion(ctx context.Context, serverName, version string) (*database.ServerReadme, error)

func (*FakeRegistry) GetServerReadmeLatest

func (f *FakeRegistry) GetServerReadmeLatest(ctx context.Context, serverName string) (*database.ServerReadme, error)

func (*FakeRegistry) GetSkillByName

func (f *FakeRegistry) GetSkillByName(ctx context.Context, skillName string) (*models.SkillResponse, error)

func (*FakeRegistry) GetSkillByNameAndVersion

func (f *FakeRegistry) GetSkillByNameAndVersion(ctx context.Context, skillName, version string) (*models.SkillResponse, error)

func (*FakeRegistry) ListAgents

func (f *FakeRegistry) ListAgents(ctx context.Context, filter *database.AgentFilter, cursor string, limit int) ([]*models.AgentResponse, string, error)

func (*FakeRegistry) ListPrompts added in v0.2.0

func (f *FakeRegistry) ListPrompts(ctx context.Context, filter *database.PromptFilter, cursor string, limit int) ([]*models.PromptResponse, string, error)

func (*FakeRegistry) ListProviders added in v0.2.0

func (f *FakeRegistry) ListProviders(ctx context.Context, platform *string) ([]*models.Provider, error)

func (*FakeRegistry) ListServers

func (f *FakeRegistry) ListServers(ctx context.Context, filter *database.ServerFilter, cursor string, limit int) ([]*apiv0.ServerResponse, string, error)

func (*FakeRegistry) ListSkills

func (f *FakeRegistry) ListSkills(ctx context.Context, filter *database.SkillFilter, cursor string, limit int) ([]*models.SkillResponse, string, error)

func (*FakeRegistry) ReconcileAll

func (f *FakeRegistry) ReconcileAll(ctx context.Context) error

func (*FakeRegistry) RemoveDeploymentByID added in v0.2.0

func (f *FakeRegistry) RemoveDeploymentByID(ctx context.Context, id string) error

func (*FakeRegistry) ResolveAgentManifestSkills added in v0.3.0

func (f *FakeRegistry) ResolveAgentManifestSkills(ctx context.Context, manifest *models.AgentManifest) ([]platformtypes.AgentSkillRef, error)

func (*FakeRegistry) StoreServerReadme

func (f *FakeRegistry) StoreServerReadme(ctx context.Context, serverName, version string, content []byte, contentType string) error

func (*FakeRegistry) UndeployDeployment added in v0.2.0

func (f *FakeRegistry) UndeployDeployment(ctx context.Context, deployment *models.Deployment) error

func (*FakeRegistry) UpdateProvider added in v0.2.0

func (f *FakeRegistry) UpdateProvider(ctx context.Context, providerID string, in *models.UpdateProviderInput) (*models.Provider, error)

func (*FakeRegistry) UpdateServer

func (f *FakeRegistry) UpdateServer(ctx context.Context, serverName, version string, req *apiv0.ServerJSON, newStatus *string) (*apiv0.ServerResponse, error)

func (*FakeRegistry) UpsertAgentEmbedding

func (f *FakeRegistry) UpsertAgentEmbedding(ctx context.Context, agentName, version string, embedding *database.SemanticEmbedding) error

func (*FakeRegistry) UpsertServerEmbedding

func (f *FakeRegistry) UpsertServerEmbedding(ctx context.Context, serverName, version string, embedding *database.SemanticEmbedding) error

Jump to

Keyboard shortcuts

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