setup

package
v0.40.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2019 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Record = flag.Bool("record", false, "whether to run tests against cloud resources and record the interactions")

Record is true iff the tests are being run in "record" mode.

Functions

func FakeGCPCredentials

func FakeGCPCredentials(ctx context.Context) (*google.Credentials, error)

FakeGCPCredentials gets fake GCP credentials.

func FakeGCPDefaultCredentials

func FakeGCPDefaultCredentials(t *testing.T) func()

FakeGCPDefaultCredentials sets up the environment with fake GCP credentials. It returns a cleanup function.

func NewAWSSession

func NewAWSSession(ctx context.Context, t *testing.T, region string) (sess *session.Session,
	rt http.RoundTripper, cleanup func(), initState int64)

NewAWSSession creates a new session for testing against AWS. If the test is in --record mode, the test will call out to AWS, and the results are recorded in a replay file. Otherwise, the session reads a replay file and runs the test as a replay, which never makes an outgoing HTTP call and uses fake credentials. An initState is returned for tests that need a state to have deterministic results, for example, a seed to generate random sequences.

func NewAzureKeyVaultTestClient

func NewAzureKeyVaultTestClient(ctx context.Context, t *testing.T) (*http.Client, func())

NewAzureKeyVaultTestClient creates a *http.Client for Azure KeyVault test recordings.

func NewAzureTestPipeline

func NewAzureTestPipeline(ctx context.Context, t *testing.T, api string, credential azblob.Credential, accountName string) (pipeline.Pipeline, func(), *http.Client)

NewAzureTestPipeline creates a new connection for testing against Azure Blob.

func NewGCPClient

func NewGCPClient(ctx context.Context, t *testing.T) (client *gcp.HTTPClient, rt http.RoundTripper, done func())

NewGCPClient creates a new HTTPClient for testing against GCP. If the test is in --record mode, the client will call out to GCP, and the results are recorded in a replay file. Otherwise, the session reads a replay file and runs the test as a replay, which never makes an outgoing HTTP call and uses fake credentials.

func NewGCPDialOptions

func NewGCPDialOptions(t *testing.T, recording bool, filename string) (opts []grpc.DialOption, done func())

NewGCPDialOptions return grpc.DialOptions that are to be appended to a GRPC dial request. These options allow a recorder/replayer to intercept RPCs and save RPCs to the file at filename, or read the RPCs from the file and return them. When recording is set to true, we're in recording mode; otherwise we're in replaying mode.

func NewGCPgRPCConn

func NewGCPgRPCConn(ctx context.Context, t *testing.T, endPoint, api string) (*grpc.ClientConn, func())

NewGCPgRPCConn creates a new connection for testing against GCP via gRPC. If the test is in --record mode, the client will call out to GCP, and the results are recorded in a replay file. Otherwise, the session reads a replay file and runs the test as a replay, which never makes an outgoing RPC and uses fake credentials.

func NewRecordReplayClient

func NewRecordReplayClient(ctx context.Context, t *testing.T, rf func(r *httpreplay.Recorder),
	opts ...option.ClientOption) (c *http.Client, cleanup func(), initState int64)

NewRecordReplayClient creates a new http.Client for tests. This client's activity is being either recorded to files (when *Record is set) or replayed from files. rf is a modifier function that will be invoked with the address of the httpreplay.Recorder object used to obtain the client; this function can mutate the recorder to add provider-specific header filters, for example. An initState is returned for tests that need a state to have deterministic results, for example, a seed to generate random sequences.

Types

This section is empty.

Jump to

Keyboard shortcuts

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