package integration

import "github.com/google/trillian/testonly/integration"

Package integration provides test-only code for performing integrated tests of Trillian functionality.

Index

Variables

var (

	// SequencerInterval is the time between runs of the sequencer.
	SequencerInterval = 500 * time.Millisecond
)

Functions

func NewRegistryForTests

func NewRegistryForTests(ctx context.Context, driver testdb.DriverName) (extension.Registry, func(context.Context), error)

NewRegistryForTests returns an extension.Registry for integration tests. Callers should call the returned cleanup function when they're finished with the registry and its contents.

Types

type LogEnv

type LogEnv struct {
	LogOperation log.Operation
	Sequencer    *log.OperationManager

	ClientConn *grpc.ClientConn // TODO(gbelvin): Deprecate.

	Address string
	Log     trillian.TrillianLogClient
	Admin   trillian.TrillianAdminClient
	DB      *sql.DB
	// contains filtered or unexported fields
}

LogEnv is a test environment that contains both a log server and a connection to it.

func NewLogEnv

func NewLogEnv(ctx context.Context, numSequencers int, _ string) (*LogEnv, error)

NewLogEnv creates a fresh DB, log server, and client. The numSequencers parameter indicates how many sequencers to run in parallel; if numSequencers is zero a manually-controlled test sequencer is used.

Deprecated: Use NewLogEnvWithGRPCOptions instead

TODO(Martin2112): Remove this constructor, it is only used by tests and can be replaced by one of the others.

func NewLogEnvWithGRPCOptions

func NewLogEnvWithGRPCOptions(ctx context.Context, numSequencers int, serverOpts []grpc.ServerOption, clientOpts []grpc.DialOption) (*LogEnv, error)

NewLogEnvWithGRPCOptions creates a fresh DB, log server, and client. The numSequencers parameter indicates how many sequencers to run in parallel; if numSequencers is zero a manually-controlled test sequencer is used. Additional grpc.ServerOption and grpc.DialOption values can be provided.

func NewLogEnvWithRegistry

func NewLogEnvWithRegistry(ctx context.Context, numSequencers int, registry extension.Registry) (*LogEnv, error)

NewLogEnvWithRegistry uses the passed in Registry to create a log server, and client. The numSequencers parameter indicates how many sequencers to run in parallel; if numSequencers is zero a manually-controlled test sequencer is used.

func NewLogEnvWithRegistryAndGRPCOptions

func NewLogEnvWithRegistryAndGRPCOptions(ctx context.Context, numSequencers int, registry extension.Registry, serverOpts []grpc.ServerOption, clientOpts []grpc.DialOption) (*LogEnv, error)

NewLogEnvWithRegistryAndGRPCOptions works the same way as NewLogEnv, but allows callers to also set additional grpc.ServerOption and grpc.DialOption values.

func (*LogEnv) Close

func (env *LogEnv) Close()

Close shuts down the server.

Source Files

logenv.go port.go registry.go

Directories

PathSynopsis
testonly/integration/etcdPackage etcd contains a helper to start an embedded etcd server.
Version
v1.7.1 (latest)
Published
Jan 9, 2025
Platform
linux/amd64
Imports
21 packages
Last checked
5 days ago

Tools for package owners.