Versions in this module Expand all Collapse all v0 v0.3.0 Apr 10, 2026 Changes in this version + func CaptureOutput(fn func()) string + func WaitForCondition(t testing.TB, timeout time.Duration, cond func() bool, description string) + func WaitForEvent(t testing.TB, ch <-chan *clientpb.Event, description string) *clientpb.Event + type ClientHarness struct + Conn io.Closer + Console *clientcore.Console + Server *clientcore.Server + func NewClientHarness(t testing.TB, h *ControlPlaneHarness) *ClientHarness + type ControlPlaneHarness struct + Address string + Admin *mtls.ClientConfig + Listener net.Listener + Server *grpc.Server + func NewControlPlaneHarness(t testing.TB) *ControlPlaneHarness + func (h *ControlPlaneHarness) Connect(ctx context.Context) (*grpc.ClientConn, error) + func (h *ControlPlaneHarness) ConnectWithConfig(ctx context.Context, config *mtls.ClientConfig) (*grpc.ClientConn, error) + func (h *ControlPlaneHarness) ControlHistory() []*clientpb.JobCtrl + func (h *ControlPlaneHarness) FailNextCtrl(ctrl, name string, err error) + func (h *ControlPlaneHarness) GetContext(id string) (*clientpb.Context, error) + func (h *ControlPlaneHarness) GetPipeline(name, listenerID string) (*clientpb.Pipeline, error) + func (h *ControlPlaneHarness) GetRuntimeSession(sessionID string) (*clientpb.Session, error) + func (h *ControlPlaneHarness) GetRuntimeTask(sessionID string, taskID uint32) (*clientpb.Task, error) + func (h *ControlPlaneHarness) GetSession(sessionID string) (*clientpb.Session, error) + func (h *ControlPlaneHarness) GetWebContent(id string) (*clientpb.WebContent, error) + func (h *ControlPlaneHarness) GetWebContents(name string) ([]*clientpb.WebContent, error) + func (h *ControlPlaneHarness) GetWebsite(name string) (*clientpb.Pipeline, error) + func (h *ControlPlaneHarness) JobExists(name, listenerID string) bool + func (h *ControlPlaneHarness) ListenerID() string + func (h *ControlPlaneHarness) NewBindPipeline(t testing.TB, name string) *clientpb.Pipeline + func (h *ControlPlaneHarness) NewHTTPPipeline(t testing.TB, name string) *clientpb.Pipeline + func (h *ControlPlaneHarness) NewListenerClientConfig(t testing.TB, name string) *mtls.ClientConfig + func (h *ControlPlaneHarness) NewREMPipeline(name, console string) *clientpb.Pipeline + func (h *ControlPlaneHarness) NewTCPPipeline(t testing.TB, name string) *clientpb.Pipeline + func (h *ControlPlaneHarness) NewWebsitePipeline(name string, port uint32, root string) *clientpb.Pipeline + func (h *ControlPlaneHarness) ReadWebsiteContent(websiteName, contentID string) ([]byte, error) + func (h *ControlPlaneHarness) RuntimeKeepaliveEnabled(sessionID string) (bool, error) + func (h *ControlPlaneHarness) SeedCredentialContext(t testing.TB, task *core.Task, target string, params map[string]string) *clientpb.Context + func (h *ControlPlaneHarness) SeedDownloadContext(t testing.TB, task *core.Task, fileName string, content []byte) *clientpb.Context + func (h *ControlPlaneHarness) SeedPipeline(t testing.TB, pipeline *clientpb.Pipeline, started bool) *clientpb.Pipeline + func (h *ControlPlaneHarness) SeedSession(t testing.TB, sessionID, pipelineName string, active bool) *core.Session + func (h *ControlPlaneHarness) SeedTask(t testing.TB, sess *core.Session, typ string) *core.Task + func (h *ControlPlaneHarness) SeedWebsite(t testing.TB, pipeline *clientpb.Pipeline, started bool) *clientpb.Pipeline + func (h *ControlPlaneHarness) StartRealWebsite(t testing.TB, name string) string + func (h *ControlPlaneHarness) WriteTempFile(name string, content []byte) (string, error)