testkit

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GRPCFixture

type GRPCFixture struct {
	Listener *bufconn.Listener
	Server   *grpc.Server
	Conn     *grpc.ClientConn
}

GRPCFixture wraps a bufconn-backed gRPC server and client connection.

func NewGRPCFixture

func NewGRPCFixture(tb testing.TB, serverOpts []grpc.ServerOption, dialOpts []grpc.DialOption, register func(*grpc.Server)) *GRPCFixture

NewGRPCFixture creates a bufconn-backed gRPC server and client connection.

type HTTPFixture

type HTTPFixture struct {
	Mux    loomhttp.ResolverMuxer
	Server *httptest.Server
}

HTTPFixture wraps a Loom mux in an httptest server.

func NewHTTPFixture

func NewHTTPFixture(tb testing.TB) *HTTPFixture

NewHTTPFixture creates a Loom mux plus httptest server.

func (*HTTPFixture) Request

func (f *HTTPFixture) Request(ctx context.Context, method string, path string, body io.Reader) (*http.Response, error)

Request performs one HTTP request against the test server.

type HTTPMetricsRecorder

type HTTPMetricsRecorder struct {
	Records []HTTPRequestRecord
	// contains filtered or unexported fields
}

HTTPMetricsRecorder records completed requests for tests.

func NewHTTPMetricsRecorder

func NewHTTPMetricsRecorder() *HTTPMetricsRecorder

NewHTTPMetricsRecorder creates a custom HTTP metrics recorder for tests.

func (*HTTPMetricsRecorder) Record

func (r *HTTPMetricsRecorder) Record(_ context.Context, method string, route string, statusCode int, duration time.Duration)

Record saves one completed HTTP request record.

func (*HTTPMetricsRecorder) Snapshot

func (r *HTTPMetricsRecorder) Snapshot() []HTTPRequestRecord

Snapshot returns a copy of the recorded requests.

type HTTPRequestRecord

type HTTPRequestRecord struct {
	Method     string
	Route      string
	StatusCode int
	Duration   time.Duration
}

HTTPRequestRecord stores one completed custom HTTP metric observation.

type LogExporter

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

LogExporter captures exported log records.

func (*LogExporter) Export

func (e *LogExporter) Export(_ context.Context, records []sdklog.Record) error

Export captures exported records.

func (*LogExporter) ForceFlush

func (e *LogExporter) ForceFlush(context.Context) error

ForceFlush satisfies the SDK exporter contract.

func (*LogExporter) Records

func (e *LogExporter) Records() []sdklog.Record

Records returns a copy of the captured records.

func (*LogExporter) Shutdown

func (e *LogExporter) Shutdown(context.Context) error

Shutdown satisfies the SDK exporter contract.

type LogHarness

type LogHarness struct {
	Provider *sdklog.LoggerProvider
	Exporter *LogExporter
}

LogHarness captures exported SDK log records for tests.

func NewLogHarness

func NewLogHarness(tb testing.TB) *LogHarness

NewLogHarness creates a logger provider backed by a synchronous test exporter.

func (*LogHarness) LoggerProvider

func (h *LogHarness) LoggerProvider() log.LoggerProvider

LoggerProvider returns the configured logger provider.

type MetricHarness

type MetricHarness struct {
	Provider *metric.MeterProvider
	Reader   *metric.ManualReader
}

MetricHarness captures metrics using a manual reader.

func NewMetricHarness

func NewMetricHarness(tb testing.TB) *MetricHarness

NewMetricHarness creates a meter provider backed by a manual reader.

func (*MetricHarness) Collect

Collect reads the current metric set.

type TraceHarness

type TraceHarness struct {
	Provider *sdktrace.TracerProvider
	Recorder *tracetest.SpanRecorder
}

TraceHarness captures ended spans for tests.

func NewTraceHarness

func NewTraceHarness(tb testing.TB) *TraceHarness

NewTraceHarness creates a trace provider backed by a span recorder.

func (*TraceHarness) TracerProvider

func (h *TraceHarness) TracerProvider() trace.TracerProvider

TracerProvider returns the configured trace provider.

Jump to

Keyboard shortcuts

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