package harness
import "github.com/datastax/astra-db-go/v2/integration/legacy/harness"
Package harness defines a test harness for running integration tests.
Index
Functions
func Register
func Register(args ...IntegrationTest)
Register adds a test(s) to our test runner. The approach is similar to how database/sql allows you to `Register` SQL drivers.
Types
type IntegrationTest
type IntegrationTest struct { Name string Run func(e *TestEnv) error }
An integration test
func Tests
func Tests() []IntegrationTest
Tests returns all registered tests.
type TestEnv
type TestEnv struct { // Our application API endpoint. Can be left blank if using non-astra backend. APIEndpoint string `env:"API_ENDPOINT,optional"` // The token to use for authentication. E.g. "AstraCS:myToken" ApplicationToken string `env:"APPLICATION_TOKEN,optional"` // If set, will only run tests with names that start with prefix. TestPrefix string `env:"TEST_PREFIX,optional"` // The backend we are running this against. "astra", "hcd", etc. Defaults to "astra". // See: https://pkg.go.dev/github.com/datastax/astra-db-go/v2/astra/options#DataAPIBackend Backend string `env:"BACKEND" default:"astra"` }
TestEnv represents our test environment.
func Environment
func Environment() TestEnv
Environment() retrieves a test environment with config based on environment variables.
func (*TestEnv) DefaultClient
func (e *TestEnv) DefaultClient() *astra.DataAPIClient
func (*TestEnv) DefaultDb
func (e *TestEnv) DefaultDb() *astra.Db
DefaultDb returns a Db handle configured with the test environment settings.