Documentation ΒΆ
Index ΒΆ
- Constants
- Variables
- func RemoveNotPrintableChar(in string) string
- func ShouldContainSubstring(actual interface{}, expected ...interface{}) string
- type Aliases
- type CommonTestCaseContext
- type Executor
- type ExecutorResult
- type ExecutorWrap
- type Failure
- type InnerResult
- type Logger
- type Property
- type Skipped
- type StepAssertions
- type StepExtracts
- type Templater
- type TestCase
- type TestCaseContext
- type TestStep
- type TestSuite
- type Tests
- type Venom
- func (v *Venom) AddVariables(variables map[string]string)
- func (v *Venom) ContextWrap(tc *TestCase) (TestCaseContext, error)
- func (v *Venom) OutputResult(tests Tests, elapsed time.Duration) error
- func (v *Venom) Parse(path []string, exclude []string) error
- func (v *Venom) Process(path []string, exclude []string) (*Tests, error)
- func (v *Venom) RegisterExecutor(name string, e Executor)
- func (v *Venom) RegisterTestCaseContext(name string, tcc TestCaseContext)
- func (v *Venom) RunTestStep(tcc TestCaseContext, e *ExecutorWrap, ts *TestSuite, tc *TestCase, ...) ExecutorResult
- func (v *Venom) WrapExecutor(t map[string]interface{}, tcc TestCaseContext) (*ExecutorWrap, error)
Constants ΒΆ
const ( // DetailsLow prints only summary results DetailsLow = "low" // DetailsMedium summary with lines in failure DetailsMedium = "medium" // DetailsHigh all DetailsHigh = "high" )
Variables ΒΆ
var (
//Version is set with -ldflags "-X github.com/ovh/venom/venom.Version=$(VERSION)"
Version = "snapshot"
)
Functions ΒΆ
func RemoveNotPrintableChar ΒΆ added in v0.16.0
RemoveNotPrintableChar removes not printable chararacter from a string
func ShouldContainSubstring ΒΆ added in v0.0.4
func ShouldContainSubstring(actual interface{}, expected ...interface{}) string
ShouldContainSubstring receives exactly more than 2 string parameters and ensures that the first contains the second as a substring.
Types ΒΆ
type CommonTestCaseContext ΒΆ
type CommonTestCaseContext struct { TestCaseContext TestCase TestCase Name string }
CommonTestCaseContext represents a Default TestCase Context
func (*CommonTestCaseContext) GetName ΒΆ
func (tcc *CommonTestCaseContext) GetName() string
GetName Get the context name
func (*CommonTestCaseContext) SetTestCase ΒΆ
func (tcc *CommonTestCaseContext) SetTestCase(tc TestCase)
SetTestCase set testcase in context
type Executor ΒΆ
type Executor interface { // Run run a Test Step Run(TestCaseContext, Logger, TestStep, string) (ExecutorResult, error) }
Executor execute a testStep.
type ExecutorResult ΒΆ
type ExecutorResult map[string]interface{}
ExecutorResult represents an executor result on a test step
type ExecutorWrap ΒΆ added in v0.0.7
type ExecutorWrap struct {
// contains filtered or unexported fields
}
ExecutorWrap contains an executor implementation and some attributes
type Failure ΒΆ
type Failure struct { Value string `xml:",cdata" json:"value" yaml:"value,omitempty"` Result ExecutorResult `xml:"-" json:"-" yaml:"-"` Type string `xml:"type,attr,omitempty" json:"type" yaml:"type,omitempty"` Message string `xml:"message,attr,omitempty" json:"message" yaml:"message,omitempty"` }
Failure contains data related to a failed test.
type InnerResult ΒΆ
type InnerResult struct {
Value string `xml:",cdata" json:"value" yaml:"value"`
}
InnerResult is used by TestCase
type Logger ΒΆ added in v0.0.7
type Logger interface { Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) Warnf(format string, args ...interface{}) Warningf(format string, args ...interface{}) Errorf(format string, args ...interface{}) Fatalf(format string, args ...interface{}) }
Logger is basically an interface for logrus.Entry
type Property ΒΆ
type Property struct { XMLName xml.Name `xml:"property" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"-"` Value string `xml:"value,attr" json:"value" yaml:"-"` }
Property represents a key/value pair used to define properties.
type Skipped ΒΆ added in v0.16.0
type Skipped struct {
Value string `xml:",cdata" json:"value" yaml:"value,omitempty"`
}
Skipped contains data related to a skipped test.
type StepAssertions ΒΆ
type StepAssertions struct {
Assertions []string `json:"assertions,omitempty" yaml:"assertions,omitempty"`
}
StepAssertions contains step assertions
type StepExtracts ΒΆ
type StepExtracts struct {
Extracts map[string]string `json:"extracts,omitempty" yaml:"extracts,omitempty"`
}
StepExtracts contains "step extracts"
type Templater ΒΆ
Templater contains templating values on a testsuite
type TestCase ΒΆ
type TestCase struct { XMLName xml.Name `xml:"testcase" json:"-" yaml:"-"` Classname string `xml:"classname,attr,omitempty" json:"classname" yaml:"-"` Errors []Failure `xml:"error,omitempty" json:"errors" yaml:"errors,omitempty"` Failures []Failure `xml:"failure,omitempty" json:"failures" yaml:"failures,omitempty"` Name string `xml:"name,attr" json:"name" yaml:"name"` Skipped []Skipped `xml:"skipped,omitempty" json:"skipped" yaml:"skipped,omitempty"` Status string `xml:"status,attr,omitempty" json:"status" yaml:"status,omitempty"` Systemout InnerResult `xml:"system-out,omitempty" json:"systemout" yaml:"systemout,omitempty"` Systemerr InnerResult `xml:"system-err,omitempty" json:"systemerr" yaml:"systemerr,omitempty"` Time string `xml:"time,attr,omitempty" json:"time" yaml:"time,omitempty"` TestSteps []TestStep `xml:"-" hcl:"step" json:"steps" yaml:"steps"` Context map[string]interface{} `xml:"-" json:"-" yaml:"context,omitempty"` }
TestCase is a single test case with its result.
type TestCaseContext ΒΆ
type TestCaseContext interface { Init() error Close() error SetTestCase(tc TestCase) GetName() string }
TestCaseContext represents the context of a testcase
type TestSuite ΒΆ
type TestSuite struct { XMLName xml.Name `xml:"testsuite" json:"-" yaml:"-"` Disabled int `xml:"disabled,attr,omitempty" json:"disabled" yaml:"-"` Errors int `xml:"errors,attr,omitempty" json:"errors" yaml:"-"` Failures int `xml:"failures,attr,omitempty" json:"failures" yaml:"-"` Hostname string `xml:"hostname,attr,omitempty" json:"hostname" yaml:"-"` ID string `xml:"id,attr,omitempty" json:"id" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` Filename string `xml:"-" json:"-" yaml:"-"` ShortName string `xml:"-" json:"-" yaml:"-"` Package string `xml:"package,attr,omitempty" json:"package" yaml:"-"` Properties []Property `xml:"-" json:"properties" yaml:"-"` Skipped int `xml:"skipped,attr,omitempty" json:"skipped" yaml:"skipped,omitempty"` Total int `xml:"tests,attr" json:"total" yaml:"total,omitempty"` TestCases []TestCase `xml:"testcase" hcl:"testcase" json:"tests" yaml:"testcases"` Version string `xml:"version,omitempty" hcl:"version" json:"version" yaml:"version,omitempty"` Time string `xml:"time,attr,omitempty" json:"time" yaml:"-"` Timestamp string `xml:"timestamp,attr,omitempty" json:"timestamp" yaml:"-"` Vars map[string]interface{} `xml:"-" json:"-" yaml:"vars"` Templater *Templater `xml:"-" json:"-" yaml:"-"` WorkDir string `xml:"-" json:"-" yaml:"-"` }
TestSuite is a single JUnit test suite which may contain many testcases.
type Tests ΒΆ
type Tests struct { XMLName xml.Name `xml:"testsuites" json:"-" yaml:"-"` Total int `xml:"-" json:"total"` TotalOK int `xml:"-" json:"ok"` TotalKO int `xml:"-" json:"ko"` TotalSkipped int `xml:"-" json:"skipped"` TestSuites []TestSuite `xml:"testsuite" json:"test_suites"` }
Tests contains all informations about tests in a pipeline build
type Venom ΒΆ added in v0.17.0
type Venom struct { LogLevel string LogOutput io.Writer PrintFunc func(format string, a ...interface{}) (n int, err error) IgnoreVariables []string Parallel int EnableProfiling bool OutputFormat string OutputDir string StopOnFailure bool // contains filtered or unexported fields }
func (*Venom) AddVariables ΒΆ added in v0.17.0
func (*Venom) ContextWrap ΒΆ added in v0.17.0
func (v *Venom) ContextWrap(tc *TestCase) (TestCaseContext, error)
ContextWrap initializes a context for a testcase no type -> parent context
func (*Venom) OutputResult ΒΆ added in v0.17.0
OutputResult output result to sdtout, files...
func (*Venom) RegisterExecutor ΒΆ added in v0.17.0
RegisterExecutor register Test Executors
func (*Venom) RegisterTestCaseContext ΒΆ added in v0.17.0
func (v *Venom) RegisterTestCaseContext(name string, tcc TestCaseContext)
RegisterTestCaseContext new register TestCaseContext
func (*Venom) RunTestStep ΒΆ added in v0.17.0
func (v *Venom) RunTestStep(tcc TestCaseContext, e *ExecutorWrap, ts *TestSuite, tc *TestCase, stepNumber int, step TestStep, l Logger) ExecutorResult
RunTestStep executes a venom testcase is a venom context
func (*Venom) WrapExecutor ΒΆ added in v0.17.0
func (v *Venom) WrapExecutor(t map[string]interface{}, tcc TestCaseContext) (*ExecutorWrap, error)
WrapExecutor initializes a test by name no type -> exec is default