Documentation ¶
Overview ¶
Package tester contains utilities for executing Rego tests.
Index ¶
- Constants
- func Load(args []string, filter loader.Filter) (map[string]*ast.Module, storage.Store, error)
- type JSONCoverageReporter
- type JSONReporter
- type PrettyReporter
- type Reporter
- type Result
- type Runner
- func (r *Runner) EnableFailureLine(yes bool) *Runner
- func (r *Runner) EnableTracing(yes bool) *Runner
- func (r *Runner) Run(ctx context.Context, modules map[string]*ast.Module) (ch chan *Result, err error)
- func (r *Runner) SetCompiler(compiler *ast.Compiler) *Runner
- func (r *Runner) SetCoverageTracer(tracer topdown.Tracer) *Runner
- func (r *Runner) SetRuntime(term *ast.Term) *Runner
- func (r *Runner) SetStore(store storage.Store) *Runner
Constants ¶
const TestPrefix = "test_"
TestPrefix declares the prefix for all rules.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type JSONCoverageReporter ¶ added in v0.8.0
type JSONCoverageReporter struct { Cover *cover.Cover Modules map[string]*ast.Module Output io.Writer Threshold float64 }
JSONCoverageReporter reports coverage as a JSON structure.
func (JSONCoverageReporter) Report ¶ added in v0.8.0
func (r JSONCoverageReporter) Report(ch chan *Result) error
Report prints the test report to the reporter's output. If any tests fail or encounter errors, this function returns an error.
type JSONReporter ¶ added in v0.8.0
JSONReporter reports test results as array of JSON objects.
func (JSONReporter) Report ¶ added in v0.8.0
func (r JSONReporter) Report(ch chan *Result) error
Report prints the test report to the reporter's output.
type PrettyReporter ¶
PrettyReporter reports test results in a simple human readable format.
func (PrettyReporter) Report ¶
func (r PrettyReporter) Report(ch chan *Result) error
Report prints the test report to the reporter's output.
type Reporter ¶ added in v0.8.0
type Reporter interface { // Report is called with a channel that will contain test results. Report(ch chan *Result) error }
Reporter defines the interface for reporting test results.
type Result ¶
type Result struct { Location *ast.Location `json:"location"` Package string `json:"package"` Name string `json:"name"` Fail bool `json:"fail,omitempty"` Error error `json:"error,omitempty"` Duration time.Duration `json:"duration"` Trace []*topdown.Event `json:"trace,omitempty"` FailedAt *ast.Expr `json:"failed_at,omitempty"` }
Result represents a single test case result.
func RunWithFilter ¶ added in v0.8.2
RunWithFilter executes all test cases found under files in path. The filter will be applied to exclude files that should not be included.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner implements simple test discovery and execution.
func (*Runner) EnableFailureLine ¶ added in v0.10.3
EnableFailureLine if set will provide the exact failure line
func (*Runner) EnableTracing ¶ added in v0.10.0
EnableTracing enables tracing of evaluation and includes traces in results. Tracing is currently mutually exclusive with coverage.
func (*Runner) Run ¶ added in v0.5.9
func (r *Runner) Run(ctx context.Context, modules map[string]*ast.Module) (ch chan *Result, err error)
Run executes all tests contained in supplied modules.
func (*Runner) SetCompiler ¶
SetCompiler sets the compiler used by the runner.
func (*Runner) SetCoverageTracer ¶ added in v0.10.0
SetCoverageTracer sets the tracer to use to compute coverage.
func (*Runner) SetRuntime ¶ added in v0.10.0
SetRuntime sets runtime information to expose to the evaluation engine.