gaussdbxtest

package
v1.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package gaussdbxtest provides utilities for testing gaussdbgo and packages that integrate with gaussdbgo.

Index

Constants

This section is empty.

Variables

View Source
var AllQueryExecModes = []gaussdbgo.QueryExecMode{
	gaussdbgo.QueryExecModeCacheStatement,
	gaussdbgo.QueryExecModeCacheDescribe,
	gaussdbgo.QueryExecModeDescribeExec,
	gaussdbgo.QueryExecModeExec,
	gaussdbgo.QueryExecModeSimpleProtocol,
}
View Source
var KnownOIDQueryExecModes = []gaussdbgo.QueryExecMode{
	gaussdbgo.QueryExecModeCacheStatement,
	gaussdbgo.QueryExecModeCacheDescribe,
	gaussdbgo.QueryExecModeDescribeExec,
}

KnownOIDQueryExecModes is a slice of all query exec modes where the param and result OIDs are known before sending the query.

Functions

func RunValueRoundTripTests

func RunValueRoundTripTests(
	ctx context.Context,
	t testing.TB,
	ctr ConnTestRunner,
	modes []gaussdbgo.QueryExecMode,
	gaussdbTypeName string,
	tests []ValueRoundTripTest,
)

func RunWithQueryExecModes

func RunWithQueryExecModes(ctx context.Context, t *testing.T, ctr ConnTestRunner, modes []gaussdbgo.QueryExecMode, f func(ctx context.Context, t testing.TB, conn *gaussdbgo.Conn))

RunWithQueryExecModes runs a f in a new test for each element of modes with a new connection created using connector. If modes is nil all gaussdbgo.QueryExecModes are tested.

Types

type ConnTestRunner

type ConnTestRunner struct {
	// CreateConfig returns a *gaussdbgo.ConnConfig suitable for use with gaussdbgo.ConnectConfig.
	CreateConfig func(ctx context.Context, t testing.TB) *gaussdbgo.ConnConfig

	// AfterConnect is called after conn is established. It allows for arbitrary connection setup before a test begins.
	AfterConnect func(ctx context.Context, t testing.TB, conn *gaussdbgo.Conn)

	// AfterTest is called after the test is run. It allows for validating the state of the connection before it is closed.
	AfterTest func(ctx context.Context, t testing.TB, conn *gaussdbgo.Conn)

	// CloseConn closes conn.
	CloseConn func(ctx context.Context, t testing.TB, conn *gaussdbgo.Conn)
}

ConnTestRunner controls how a *gaussdbgo.Conn is created and closed by tests. All fields are required. Use DefaultConnTestRunner to get a ConnTestRunner with reasonable default values.

func DefaultConnTestRunner

func DefaultConnTestRunner() ConnTestRunner

DefaultConnTestRunner returns a new ConnTestRunner with all fields set to reasonable default values.

func (*ConnTestRunner) RunTest

func (ctr *ConnTestRunner) RunTest(ctx context.Context, t testing.TB, f func(ctx context.Context, t testing.TB, conn *gaussdbgo.Conn))

type ValueRoundTripTest

type ValueRoundTripTest struct {
	Param  any
	Result any
	Test   func(any) bool
}

Jump to

Keyboard shortcuts

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