brokertest

package
v0.89.0 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2021 License: MIT Imports: 17 Imported by: 1

Documentation

Overview

Package brokertest provides utilities for testing components requiring a live Gazette broker.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateJournals

func CreateJournals(t require.TestingT, bk *Broker, specs ...*pb.JournalSpec)

CreateJournals using the Broker Apply API, and wait for them to be allocated.

func Journal

func Journal(spec pb.JournalSpec) *pb.JournalSpec

Journal returns |spec| after applying reasonable test defaults for fields which are not already set.

Types

type Broker

type Broker struct {
	ID     pb.ProcessSpec_ID
	Tasks  *task.Group
	Server *server.Server
	// contains filtered or unexported fields
}

Broker is a lightweight, embedded Gazette broker suitable for testing client functionality which depends on the availability of the Gazette service.

func NewBroker

func NewBroker(t require.TestingT, etcd *clientv3.Client, zone, suffix string) *Broker

NewBroker builds and returns an in-process Broker identified by |zone| and |suffix|.

func (*Broker) Client

func (b *Broker) Client() pb.RoutedJournalClient

Client returns a RoutedJournalClient wrapping the GRPCLoopback.

func (*Broker) Endpoint

func (b *Broker) Endpoint() pb.Endpoint

Endpoint of the test Broker.

func (*Broker) Signal

func (b *Broker) Signal()

Signal the Broker to exit. Wait on its |Tasks| to confirm it exited. Note other Broker(s) must be available to take over assignments.

func (*Broker) WaitForConsistency

func (b *Broker) WaitForConsistency(ctx context.Context, journal pb.Journal, routeOut *pb.Route) error

WaitForConsistency of the named journal until the Context is cancelled. If |routeOut| is non-nil, it's populated with the current journal Route.

Jump to

Keyboard shortcuts

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