Movatterモバイル変換


[0]ホーム

URL:


testutil

package
v0.123.0Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2025 License:Apache-2.0Imports:32Imported by:0

Details

Repository

github.com/googleapis/google-cloud-go

Links

Documentation

Overview

Package testutil contains helper functions for writing tests.

Index

Constants

This section is empty.

Variables

View Source
var XGoogClientHeaderChecker = &HeaderChecker{Key: "x-goog-api-client",ValuesValidator: func(values ...string)error {iflen(values) == 0 {returnerrors.New("expecting values")}for _, value := range values {switch {casestrings.Contains(value, "gl-go/"):returnnildefault:}}returnerrors.New("unmatched values")},}

XGoogClientHeaderChecker is a HeaderChecker that ensures that the "x-goog-api-client"header is present on outgoing metadata.

Functions

funcCanReplayadded inv0.25.0

func CanReplay(replayFilenamestring)bool

CanReplay reports whether an integration test can be run in replay mode.The replay file must exist, and the GCLOUD_TESTS_GOLANG_ENABLE_REPLAYenvironment variable must be non-empty.

funcCredentialsadded inv0.37.0

func Credentials(ctxcontext.Context, scopes ...string) *google.Credentials

Credentials returns the credentials to use in integration tests, or nil ifnone is configured. It uses the standard environment variable for tests inthis repo.

funcCredentialsEnvadded inv0.37.0

func CredentialsEnv(ctxcontext.Context, envVarstring, scopes ...string) *google.Credentials

CredentialsEnv returns the credentials to use in integration tests, or nilif none is configured. If the environment variable is unset, CredentialsEnvwill try to find 'Application Default Credentials'. Else, CredentialsEnvwill return nil. CredentialsEnv will log.Fatal if the token source isspecified but missing or invalid.

funcDiffadded inv0.11.0

func Diff(x, y interface{}, opts ...cmp.Option)string

Diff reports the differences between two values.Diff(x, y) == "" iff Equal(x, y).

funcEqualadded inv0.11.0

func Equal(x, y interface{}, opts ...cmp.Option)bool

Equal tests two values for equality.

funcJWTConfigadded inv0.17.0

func JWTConfig() (*jwt.Config,error)

JWTConfig reads the JSON private key file whose name is in the defaultenvironment variable, and returns the jwt.Config it contains. It ignoresscopes.If the environment variable is empty, it returns (nil, nil).

funcNewRandadded inv0.25.0

func NewRand(ttime.Time) *rand.Rand

NewRand creates a new *rand.Rand seeded with t. The return value is safe for usewith multiple goroutines.

funcPageBoundsadded inv0.18.0

func PageBounds(pageSizeint, pageTokenstring, lengthint) (from, toint, nextPageTokenstring, errerror)

PageBounds converts an incoming page size and token from an RPC request intoslice bounds and the outgoing next-page token.

PageBounds assumes that the complete, unpaginated list of items exists as asingle slice. In addition to the page size and token, PageBounds needs thelength of that slice.

PageBounds's first two return values should be used to construct a sub-slice ofthe complete, unpaginated slice. E.g. if the complete slice is s, thens[from:to] is the desired page. Its third return value should be set as theNextPageToken field of the RPC response.

funcProjID

func ProjID()string

ProjID returns the project ID to use in integration tests, or the emptystring if none is configured.

funcRetryadded inv0.97.0

func Retry(t *testing.T, maxAttemptsint, sleeptime.Duration, f func(r *R))bool

Retry runs function f for up to maxAttempts times until f returns successfully, and reports whether f was run successfully.It will sleep for the given period between invocations of f.Use the provided *testutil.R instead of a *testing.T from the function.

funcRetryWithoutTestadded inv0.97.0

func RetryWithoutTest(maxAttemptsint, sleeptime.Duration, f func(r *R))bool

RetryWithoutTest is a variant of Retry that does not use a testing parameter.It is meant for testing utilities that do not pass around the testing context, such as cloudrunci.

funcTokenSource

func TokenSource(ctxcontext.Context, scopes ...string)oauth2.TokenSource

TokenSource returns the OAuth2 token source to use in integration tests,or nil if none is configured. It uses the standard environment variablefor tests in this repo.

funcTokenSourceEnvadded inv0.15.0

func TokenSourceEnv(ctxcontext.Context, envVarstring, scopes ...string)oauth2.TokenSource

TokenSourceEnv returns the OAuth2 token source to use in integration tests. or nilif none is configured. It tries to get credentials from the filename in theenvironment variable envVar. If the environment variable is unset, TokenSourceEnvwill try to find 'Application Default Credentials'. Else, TokenSourceEnv willreturn nil. TokenSourceEnv will log.Fatal if the token source is specified butmissing or invalid.

Types

typeErroringTokenSourceadded inv0.37.3

type ErroringTokenSource struct{}

ErroringTokenSource is a token source for testing purposes,to always return a non-nil error to its caller. It is usefulwhen testing error responses with bad oauth2 credentials.

func (ErroringTokenSource)Tokenadded inv0.37.3

func (ftsErroringTokenSource) Token() (*oauth2.Token,error)

Token implements oauth2.TokenSource, returning a nil oauth2.Token and a non-nil error.

typeHeaderCheckeradded inv0.46.0

type HeaderChecker struct {// Key is the header name to be checked against e.g. "x-goog-api-client".Keystring// ValuesValidator validates the header values retrieved from mapping against// Key in the Headers.ValuesValidator func(values ...string)error}

HeaderChecker defines header checking and validation rules for any outgoing metadata.

typeHeadersEnforceradded inv0.46.0

type HeadersEnforcer struct {// Checkers maps header keys that are expected to be sent in the metadata// of outgoing gRPC requests, against the values passed into the custom// validation functions.//// If Checkers is nil or empty, only the default header "x-goog-api-client"// will be checked for.// Otherwise, if you supply Matchers, those keys and their respective// validation functions will be checked.Checkers []*HeaderChecker// OnFailure is the function that will be invoked after all validation// failures have been composed. If OnFailure is nil, log.Fatal will be// invoked instead.OnFailure func(fmt_string, args ...interface{})}

HeadersEnforcer asserts that outgoing RPC headersare present and match expectations. If the expected headersare not present or don't match expectations, it'll invoke OnFailurewith the validation error, or instead log.Fatal if OnFailure is nil.

It expects that every declared key will be present in the outgoingRPC header and each value will be validated by the validation function.

funcDefaultHeadersEnforceradded inv0.46.0

func DefaultHeadersEnforcer() *HeadersEnforcer

DefaultHeadersEnforcer returns a HeadersEnforcer that at bare minimum checks thatthe "x-goog-api-client" key is present in the outgoing metadata headers. On anyvalidation failure, it will invoke log.Fatalf with the error message.

func (*HeadersEnforcer)CallOptionsadded inv0.46.0

func (h *HeadersEnforcer) CallOptions() (copts []option.ClientOption)

CallOptions returns ClientOptions consisting of unary and stream interceptorsto enforce the presence and validity of expected headers.

func (*HeadersEnforcer)DialOptionsadded inv0.46.0

func (h *HeadersEnforcer) DialOptions() []grpc.DialOption

DialOptions returns gRPC DialOptions consisting of unary and stream interceptorsto enforce the presence and validity of expected headers.

func (*HeadersEnforcer)StreamInterceptorsadded inv0.48.0

func (h *HeadersEnforcer) StreamInterceptors() []grpc.StreamClientInterceptor

StreamInterceptors returns a list of StreamClientInterceptor functions whichenforce the presence and validity of expected headers during streaming RPCs.

For client implementations which provide their own StreamClientInterceptor(s)these interceptors should be specified as the final elements toWithChainStreamInterceptor.

Alternatively, users may apply gPRC options produced from DialOptions toapply all applicable gRPC interceptors.

func (*HeadersEnforcer)UnaryInterceptorsadded inv0.48.0

func (h *HeadersEnforcer) UnaryInterceptors() []grpc.UnaryClientInterceptor

UnaryInterceptors returns a list of UnaryClientInterceptor functions whichenforce the presence and validity of expected headers during unary RPCs.

For client implementations which provide their own UnaryClientInterceptor(s)these interceptors should be specified as the final elements toWithChainUnaryInterceptor.

Alternatively, users may apply gPRC options produced from DialOptions toapply all applicable gRPC interceptors.

typeOpenTelemetryTestExporteradded inv0.111.0

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

OpenTelemetryTestExporter is a test utility exporter. It should be createdwith NewOpenTelemetryTestExporter.

funcNewOpenTelemetryTestExporteradded inv0.111.0

func NewOpenTelemetryTestExporter() *OpenTelemetryTestExporter

NewOpenTelemetryTestExporter creates a OpenTelemetryTestExporter withunderlying InMemoryExporter and TracerProvider from OpenTelemetry.

func (*OpenTelemetryTestExporter)Spansadded inv0.111.0

Spans returns the current in-memory stored spans.

func (*OpenTelemetryTestExporter)Unregisteradded inv0.111.0

func (te *OpenTelemetryTestExporter) Unregister(ctxcontext.Context)

Unregister shuts down the underlying OpenTelemetry TracerProvider.

typeRadded inv0.97.0

type R struct {// The number of current attempt.Attemptint// contains filtered or unexported fields}

R is passed to each run of a flaky test run, manages state and accumulates log statements.

func (*R)Errorfadded inv0.97.0

func (r *R) Errorf(sstring, v ...interface{})

Errorf is equivalent to Logf followed by Fail.

func (*R)Failadded inv0.97.0

func (r *R) Fail()

Fail marks the run as failed, and will retry once the function returns.

func (*R)Fatalfadded inv0.117.0

func (r *R) Fatalf(sstring, v ...interface{})

Fatalf is equivalent to Errorf but will not retry.

func (*R)Logfadded inv0.97.0

func (r *R) Logf(sstring, v ...interface{})

Logf formats its arguments and records it in the error log.The text is only printed for the final unsuccessful run or the first successful run.

typeServer

type Server struct {AddrstringPortintGsrv *grpc.Server// contains filtered or unexported fields}

A Server is an in-process gRPC server, listening on a system-chosen port onthe local loopback interface. Servers are for testing only and are notintended to be used in production code.

To create a server, make a new Server, register your handlers, then callStart:

srv, err := NewServer()...mypb.RegisterMyServiceServer(srv.Gsrv, &myHandler)....srv.Start()

Clients should connect to the server with no security:

conn, err := grpc.Dial(srv.Addr, grpc.WithInsecure())...

funcNewServer

func NewServer(opts ...grpc.ServerOption) (*Server,error)

NewServer creates a new Server on localhost. The Server will be listening forgRPC connections at the address named by the Addr field, without TLS.

funcNewServerWithAddressadded inv0.119.0

func NewServerWithAddress(addrstring, opts ...grpc.ServerOption) (*Server,error)

NewServerWithAddress creates a new Server with a specific address (host andport). The Server will be listening for gRPC connections at the address namedby the Addr field, without TLS.

funcNewServerWithPortadded inv0.29.0

func NewServerWithPort(portint, opts ...grpc.ServerOption) (*Server,error)

NewServerWithPort creates a new Server on localhost at a specific port. TheServer will be listening for gRPC connections at the address named by theAddr field, without TLS.

func (*Server)Close

func (s *Server) Close()

Close shuts down the server.

func (*Server)Start

func (s *Server) Start()

Start causes the server to start accepting incoming connections.Call Start after registering handlers.

Source Files

View all Source files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp