testsuite

package
v0.4.8 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TestSpecFromFilePath

func TestSpecFromFilePath(filePath string) (*api.TestSpec, error)

func TestSpecsFromFilePaths

func TestSpecsFromFilePaths(filePaths []string) ([]*api.TestSpec, error)

func TestSpecsFromPattern

func TestSpecsFromPattern(pattern string) ([]*api.TestSpec, error)

func UnmarshalTestCase

func UnmarshalTestCase(yamlBytes []byte, testSpec *api.TestSpec) error

UnmarshalTestCase unmarshalls bytes into a TestSpec.

Types

type App

type App struct {
	// Parameters passed to the CLI by the user.
	Params *Params
	// Out is used to write the output. Defaults to standard out,
	// but can be overridden in tests to make assertions on the applications's output.
	Out io.Writer
	// Source of randomness. Tests can use a mocked random source in order to provide
	// deterministic testing behaviour.
	Random io.Reader
}

func New

func New() *App

New instantiates an App with default parameters, including standard output and cryptographically secure random source.

func (*App) RunTests

func (a *App) RunTests(ctx context.Context, testSpecs []*api.TestSpec) (*TestSuiteReport, error)

func (*App) TestPattern

func (a *App) TestPattern(ctx context.Context, pattern string) (*TestSuiteReport, error)

func (*App) Version

func (a *App) Version() error

Version prints build information (e.g., current git commit) to the app output.

type Params

type Params struct {
	// Armada connection details.
	ApiConnectionDetails *client.ApiConnectionDetails
	// If non-empty, push metrics containing test results to a Prometheus push gateway with this url.
	PrometheusPushGatewayUrl string
	// Exported metrics are annotated with job=PrometheusPushGatewayJobName.
	// Must be non-empty.
	PrometheusPushGatewayJobName string
}

Params struct holds all user-customizable parameters. Using a single struct for all CLI commands ensures that all flags are distinct and that they can be provided either dynamically on a command line, or statically in a config file that's reused between command runs.

type TestCaseReport

type TestCaseReport struct {
	Out             *bytes.Buffer
	Start           time.Time
	Finish          time.Time
	FailureReason   string
	BenchmarkReport *eventbenchmark.TestCaseBenchmarkReport
	TestSpec        *api.TestSpec
	// contains filtered or unexported fields
}

func NewTestCaseReport added in v0.3.93

func NewTestCaseReport(testSpec *api.TestSpec) *TestCaseReport

func (*TestCaseReport) Collect added in v0.3.93

func (r *TestCaseReport) Collect(c chan<- prometheus.Metric)

func (*TestCaseReport) Describe added in v0.3.93

func (r *TestCaseReport) Describe(c chan<- *prometheus.Desc)

func (*TestCaseReport) JunitTestCase

func (report *TestCaseReport) JunitTestCase() junit.Testcase

Convert to Junit TestCase according to spec: https://llg.cubic.org/docs/junit/

type TestRunner

type TestRunner struct {
	Out io.Writer

	TestCaseReport *TestCaseReport
	// contains filtered or unexported fields
}

func (*TestRunner) Run

func (srv *TestRunner) Run(ctx context.Context) (err error)

type TestSuiteReport

type TestSuiteReport struct {
	Start           time.Time
	Finish          time.Time
	TestCaseReports []*TestCaseReport
}

func (*TestSuiteReport) Collect added in v0.3.93

func (tsr *TestSuiteReport) Collect(c chan<- prometheus.Metric)

func (*TestSuiteReport) Describe added in v0.3.93

func (tsr *TestSuiteReport) Describe(c chan<- *prometheus.Desc)

func (*TestSuiteReport) NumFailures

func (report *TestSuiteReport) NumFailures() int

func (*TestSuiteReport) NumSuccesses

func (report *TestSuiteReport) NumSuccesses() int

Directories

Path Synopsis
Package build info
Package build info
Utility for watching events.
Utility for watching events.

Jump to

Keyboard shortcuts

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