plugin

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppConfig

type AppConfig struct {
	BinaryName  string
	BinaryPath  string
	DockerImage string
	Port        int
	Environment map[string]string
	WorkDir     string
}

type AppLauncher

type AppLauncher interface {
	Technology() string
	Launch(ctx context.Context, config *AppConfig) error
	IsReady(ctx context.Context) (bool, error)
	Stop(ctx context.Context) error
	Restart(ctx context.Context) error
	GetPID() (int, error)
}

type ConnectionInfo

type ConnectionInfo struct {
	Host     string
	Port     int
	Protocol string
	Metadata map[string]string
}

type LogOptions

type LogOptions struct {
	Since  time.Time
	Until  time.Time
	Tail   int
	Follow bool
}

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry() *Registry

func (*Registry) GetExecutor

func (r *Registry) GetExecutor(framework string) (TestExecutor, error)

func (*Registry) GetLauncher

func (r *Registry) GetLauncher(technology string) (AppLauncher, error)

func (*Registry) GetService

func (r *Registry) GetService(name string) (ServicePlugin, error)

func (*Registry) ListServices

func (r *Registry) ListServices() []string

func (*Registry) RegisterExecutor

func (r *Registry) RegisterExecutor(plugin TestExecutor) error

func (*Registry) RegisterLauncher

func (r *Registry) RegisterLauncher(plugin AppLauncher) error

func (*Registry) RegisterService

func (r *Registry) RegisterService(plugin ServicePlugin) error

type ServicePlugin

type ServicePlugin interface {
	Name() string
	Launch(ctx context.Context, config map[string]interface{}) error
	IsReady(ctx context.Context) (bool, error)
	Stop(ctx context.Context) error
	GetConnectionInfo() (*ConnectionInfo, error)
	GetLogs(ctx context.Context, opts *LogOptions) ([]string, error)
}

type TestConfig

type TestConfig struct {
	Tags         []string
	FeaturesPath string
	ReportsPath  string
	Parallel     bool
	Environment  map[string]string
}

type TestExecutor

type TestExecutor interface {
	Framework() string
	Execute(ctx context.Context, config *TestConfig) (*TestResult, error)
	Cancel(ctx context.Context) error
	GetProgress(ctx context.Context) (*TestProgress, error)
}

type TestFailure

type TestFailure struct {
	Name    string
	Feature string
	Message string
	Stack   string
}

type TestProgress

type TestProgress struct {
	Current int
	Total   int
	Running string
}

type TestResult

type TestResult struct {
	Total     int
	Passed    int
	Failed    int
	Skipped   int
	Duration  time.Duration
	ReportURL string
	Failures  []TestFailure
}

Directories

Path Synopsis
gcs

Jump to

Keyboard shortcuts

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