package tests

import "github.com/googleapis/cloud-bigtable-clients-test/tests"

This file is copied from https://github.com/googleapis/google-cloud-go/blob/main/bigtable/internal/mockserver/inmem.go with minor modification.

This file defines data types that allow the test cases to customize the behavior of mock server: "<operation>Action" types tell the server to either perform the operation or return an error. You can build a sequence of actions to make the server return streaming responses and (or) respond to ordered retry attempts, where the server will perform each action only once. "<operation>ReqRecord" types let the server log the request from client with timestamp.

Index

Types

type RowStatus

type RowStatus int

RowStatus is a Enum type to hold value for read row's status ranging from None to Drop below.

const (
	None   RowStatus = iota // Indicates the row hasn't been returned completely
	Commit                  // Indicates that all the chunks of a row have been returned
	Reset                   // Indicates that the row will be re-read
	Drop                    // Indicates a row is filtered out from ReadRows response
)

type Server

type Server struct {
	Addr string

	// Any unimplemented methods will cause a panic when called.
	btpb.BigtableServer

	// ReadRowsFn mocks ReadRows.
	ReadRowsFn func(*btpb.ReadRowsRequest, btpb.Bigtable_ReadRowsServer) error
	// SampleRowKeysFn mocks SampleRowKeys.
	SampleRowKeysFn func(*btpb.SampleRowKeysRequest, btpb.Bigtable_SampleRowKeysServer) error
	// MutateRowFn mocks MutateRow.
	MutateRowFn func(context.Context, *btpb.MutateRowRequest) (*btpb.MutateRowResponse, error)
	// MutateRowsFn mocks MutateRows.
	MutateRowsFn func(*btpb.MutateRowsRequest, btpb.Bigtable_MutateRowsServer) error
	// CheckAndMutateRowFn mocks CheckAndMutateRow.
	CheckAndMutateRowFn func(context.Context, *btpb.CheckAndMutateRowRequest) (*btpb.CheckAndMutateRowResponse, error)
	// ReadModifyWriteRowFn mocks ReadModifyWriteRow.
	ReadModifyWriteRowFn func(context.Context, *btpb.ReadModifyWriteRowRequest) (*btpb.ReadModifyWriteRowResponse, error)
	// contains filtered or unexported fields
}

Server is an in-memory Cloud Bigtable fake. It is unauthenticated, and only a rough approximation.

func NewServer

func NewServer(laddr string, opt ...grpc.ServerOption) (*Server, error)

NewServer creates a new Server. The Server will be listening for gRPC connections, without TLS, on the provided address. The resolved address is named by the Addr field.

func (*Server) CheckAndMutateRow

CheckAndMutateRow implements CheckAndMutateRow of the BigtableServer interface.

func (*Server) Close

func (s *Server) Close() error

Close closes the server.

func (*Server) MutateRow

func (s *Server) MutateRow(ctx context.Context, req *btpb.MutateRowRequest) (*btpb.MutateRowResponse, error)

MutateRow implements MutateRow of the BigtableServer interface.

func (*Server) MutateRows

MutateRows implements MutateRows of the BigtableServer interface.

func (*Server) ReadModifyWriteRow

ReadModifyWriteRow implements ReadModifyWriteRow of the BigtableServer interface.

func (*Server) ReadRows

ReadRows implements ReadRows of the BigtableServer interface.

func (*Server) SampleRowKeys

SampleRowKeys implements SampleRowKeys of the BigtableServer interface.

func (*Server) Start

func (s *Server) Start()

Start starts the server

Source Files

mock_helper.go mockserver.go test_datatype.go test_workflow.go

Version
v0.0.3 (latest)
Published
Dec 19, 2024
Platform
linux/amd64
Imports
23 packages
Last checked
4 days ago

Tools for package owners.