testing

package
v0.1.21 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2026 License: Apache-2.0 Imports: 5 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
	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, publishedOnly bool) (*apiv0.ServerResponse, error)
	GetAllVersionsByServerNameFn    func(ctx context.Context, serverName string, publishedOnly bool) ([]*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)
	PublishServerFn                 func(ctx context.Context, serverName, version string) error
	UnpublishServerFn               func(ctx context.Context, serverName, version string) 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)
	PublishAgentFn                  func(ctx context.Context, agentName, version string) error
	UnpublishAgentFn                func(ctx context.Context, agentName, version string) 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)
	PublishSkillFn                  func(ctx context.Context, skillName, version string) error
	UnpublishSkillFn                func(ctx context.Context, skillName, version string) error
	GetDeploymentsFn                func(ctx context.Context, filter *models.DeploymentFilter) ([]*models.Deployment, error)
	GetDeploymentByNameAndVersionFn func(ctx context.Context, resourceName, version, artifactType string) (*models.Deployment, error)
	DeployServerFn                  func(ctx context.Context, serverName, version string, config map[string]string, preferRemote bool, runtime string) (*models.Deployment, error)
	DeployAgentFn                   func(ctx context.Context, agentName, version string, config map[string]string, preferRemote bool, runtime string) (*models.Deployment, error)
	UpdateDeploymentConfigFn        func(ctx context.Context, resourceName, version, artifactType string, config map[string]string) (*models.Deployment, error)
	RemoveDeploymentFn              func(ctx context.Context, resourceName, version, artifactType string) error
	ReconcileAllFn                  func(ctx context.Context) 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) CreateAgent

func (f *FakeRegistry) CreateAgent(ctx context.Context, req *models.AgentJSON) (*models.AgentResponse, 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) 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, runtime string) (*models.Deployment, error)

func (*FakeRegistry) DeployServer

func (f *FakeRegistry) DeployServer(ctx context.Context, serverName, version string, config map[string]string, preferRemote bool, runtime 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) GetAllVersionsByServerName

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

func (*FakeRegistry) GetAllVersionsBySkillName

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

func (*FakeRegistry) GetDeploymentByNameAndVersion

func (f *FakeRegistry) GetDeploymentByNameAndVersion(ctx context.Context, resourceName, version, artifactType string) (*models.Deployment, error)

func (*FakeRegistry) GetDeployments

func (f *FakeRegistry) GetDeployments(ctx context.Context, filter *models.DeploymentFilter) ([]*models.Deployment, 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, publishedOnly bool) (*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) 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) PublishAgent

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

func (*FakeRegistry) PublishServer

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

func (*FakeRegistry) PublishSkill

func (f *FakeRegistry) PublishSkill(ctx context.Context, skillName, version string) error

func (*FakeRegistry) ReconcileAll

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

func (*FakeRegistry) RemoveDeployment

func (f *FakeRegistry) RemoveDeployment(ctx context.Context, resourceName, version, artifactType string) error

func (*FakeRegistry) StoreServerReadme

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

func (*FakeRegistry) UnpublishAgent

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

func (*FakeRegistry) UnpublishServer

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

func (*FakeRegistry) UnpublishSkill

func (f *FakeRegistry) UnpublishSkill(ctx context.Context, skillName, version string) error

func (*FakeRegistry) UpdateDeploymentConfig

func (f *FakeRegistry) UpdateDeploymentConfig(ctx context.Context, resourceName, version, artifactType string, config map[string]string) (*models.Deployment, 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