interop

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package interop contains functions used by interop client/server.

See interop test case descriptions here.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClientNewPayload

func ClientNewPayload(t testpb.PayloadType, size int) *testpb.Payload

ClientNewPayload returns a payload of the given type and size.

func DoCancelAfterBegin

func DoCancelAfterBegin(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoCancelAfterBegin cancels the RPC after metadata has been sent but before payloads are sent.

func DoCancelAfterFirstResponse

func DoCancelAfterFirstResponse(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoCancelAfterFirstResponse cancels the RPC after receiving the first message from the server.

func DoClientStreaming

func DoClientStreaming(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoClientStreaming performs a client streaming RPC.

func DoComputeEngineChannelCredentials

func DoComputeEngineChannelCredentials(ctx context.Context, tc testgrpc.TestServiceClient, defaultServiceAccount string)

DoComputeEngineChannelCredentials performs an unary RPC with compute engine channel credentials

func DoComputeEngineCreds

func DoComputeEngineCreds(ctx context.Context, tc testgrpc.TestServiceClient, serviceAccount, oauthScope string)

DoComputeEngineCreds performs a unary RPC with compute engine auth.

func DoCustomMetadata

func DoCustomMetadata(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoCustomMetadata checks that metadata is echoed back to the client.

func DoEmptyStream

func DoEmptyStream(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoEmptyStream sets up a bi-directional streaming with zero message.

func DoEmptyUnaryCall

func DoEmptyUnaryCall(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoEmptyUnaryCall performs a unary RPC with empty request and response messages.

func DoGoogleDefaultCredentials

func DoGoogleDefaultCredentials(ctx context.Context, tc testgrpc.TestServiceClient, defaultServiceAccount string)

DoGoogleDefaultCredentials performs an unary RPC with google default credentials

func DoJWTTokenCreds

func DoJWTTokenCreds(ctx context.Context, tc testgrpc.TestServiceClient, serviceAccountKeyFile string)

DoJWTTokenCreds performs a unary RPC with JWT token auth.

func DoLargeUnaryCall

func DoLargeUnaryCall(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoLargeUnaryCall performs a unary RPC with large payload in the request and response.

func DoORCAOOBTest

func DoORCAOOBTest(ctx context.Context, tc testgrpc.TestServiceClient)

DoORCAOOBTest performs a streaming RPC that enables ORCA OOB reporting and verifies the load report sent to the LB policy's OOB listener.

func DoORCAPerRPCTest

func DoORCAPerRPCTest(ctx context.Context, tc testgrpc.TestServiceClient)

DoORCAPerRPCTest performs a unary RPC that enables ORCA per-call reporting and verifies the load report sent back to the LB policy's Done callback.

func DoOauth2TokenCreds

func DoOauth2TokenCreds(ctx context.Context, tc testgrpc.TestServiceClient, serviceAccountKeyFile, oauthScope string)

DoOauth2TokenCreds performs a unary RPC with OAUTH2 token auth.

func DoPerRPCCreds

func DoPerRPCCreds(ctx context.Context, tc testgrpc.TestServiceClient, serviceAccountKeyFile, oauthScope string)

DoPerRPCCreds performs a unary RPC with per RPC OAUTH2 token.

func DoPickFirstUnary

func DoPickFirstUnary(ctx context.Context, tc testgrpc.TestServiceClient)

DoPickFirstUnary runs multiple RPCs (rpcCount) and checks that all requests are sent to the same backend.

func DoPingPong

func DoPingPong(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoPingPong performs ping-pong style bi-directional streaming RPC.

func DoServerStreaming

func DoServerStreaming(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoServerStreaming performs a server streaming RPC.

func DoServiceAccountCreds

func DoServiceAccountCreds(ctx context.Context, tc testgrpc.TestServiceClient, serviceAccountKeyFile, oauthScope string)

DoServiceAccountCreds performs a unary RPC with service account auth.

func DoSoakTest

func DoSoakTest(ctx context.Context, tc testgrpc.TestServiceClient, serverAddr string, dopts []grpc.DialOption, resetChannel bool, soakIterations int, maxFailures int, soakRequestSize int, soakResponseSize int, perIterationMaxAcceptableLatency time.Duration, minTimeBetweenRPCs time.Duration)

DoSoakTest runs large unary RPCs in a loop for a configurable number of times, with configurable failure thresholds. If resetChannel is false, then each RPC will be performed on tc. Otherwise, each RPC will be performed on a new stub that is created with the provided server address and dial options. TODO(mohanli-ml): Create SoakTestOptions as a parameter for this method.

func DoSpecialStatusMessage

func DoSpecialStatusMessage(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoSpecialStatusMessage verifies Unicode and whitespace is correctly processed in status message.

func DoStatusCodeAndMessage

func DoStatusCodeAndMessage(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoStatusCodeAndMessage checks that the status code is propagated back to the client.

func DoTimeoutOnSleepingServer

func DoTimeoutOnSleepingServer(ctx context.Context, tc testgrpc.TestServiceClient, args ...grpc.CallOption)

DoTimeoutOnSleepingServer performs an RPC on a sleep server which causes RPC timeout.

func DoUnimplementedMethod

func DoUnimplementedMethod(ctx context.Context, cc *grpc.ClientConn)

DoUnimplementedMethod attempts to call an unimplemented method.

func DoUnimplementedService

func DoUnimplementedService(ctx context.Context, tc testgrpc.UnimplementedServiceClient)

DoUnimplementedService attempts to call a method from an unimplemented service.

func GetToken

func GetToken(ctx context.Context, serviceAccountKeyFile string, oauthScope string) *oauth2.Token

GetToken obtains an OAUTH token from the input.

func NewTestServer

func NewTestServer(opts ...NewTestServerOptions) testgrpc.TestServiceServer

NewTestServer creates a test server for test service. opts carries optional settings and does not need to be provided. If multiple opts are provided, only the first one is used.

Types

type NewTestServerOptions

type NewTestServerOptions struct {
	MetricsRecorder orca.ServerMetricsRecorder
}

NewTestServerOptions contains options that control the behavior of the test server returned by NewTestServer.

Directories

Path Synopsis
alts
client
This binary can only run on Google Cloud Platform (GCP).
This binary can only run on Google Cloud Platform (GCP).
server
This binary can only run on Google Cloud Platform (GCP).
This binary can only run on Google Cloud Platform (GCP).
Binary client is an interop client.
Binary client is an interop client.
This file is for testing only.
This file is for testing only.
Binary grpclb_fallback is an interop test client for grpclb fallback.
Binary grpclb_fallback is an interop test client for grpclb fallback.
Binary http2 is used to test http2 error edge cases like GOAWAYs and RST_STREAMs
Binary http2 is used to test http2 error edge cases like GOAWAYs and RST_STREAMs
Binary server is an interop server.
Binary server is an interop server.
stress
client
client starts an interop client to do stress test and a metrics server to report qps.
client starts an interop client to do stress test and a metrics server to report qps.
metrics_client
Binary metrics_client is a client to retrieve metrics from the server.
Binary metrics_client is a client to retrieve metrics from the server.
Binary client is an interop client.
Binary client is an interop client.

Jump to

Keyboard shortcuts

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