package test
import "github.com/open-policy-agent/opa/util/test"
Package test contains utilities used in the policy engine's test suite.
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended. For newer features and behaviours, such as defaulting to the Rego v1 syntax, use the corresponding components in the github.com/open-policy-agent/opa/v1 package instead. See https://www.openpolicyagent.org/docs/latest/v0-compatibility/ for more information.
Index ¶
- func ArrayIterationBenchmarkModule(n int) string
- func Eventually(t *testing.T, timeout time.Duration, f func() bool) bool
- func EventuallyOrFatal(t *testing.T, timeout time.Duration, f func() bool)
- func GenerateConcurrencyBenchmarkData() (string, map[string]interface{})
- func GenerateJSONBenchmarkData(k, v int) map[string]interface{}
- func GenerateLargeJSONBenchmarkData() map[string]interface{}
- func GenerateVirtualDocsBenchmarkData(numTotalRules, numHitRules int) (string, map[string]interface{})
- func MakeTempFS(root, prefix string, files map[string]string) (rootDir string, cleanup func(), err error)
- func ObjectIterationBenchmarkModule(n int) string
- func PartialObjectBenchmarkCrossModule(n int) []string
- func SetIterationBenchmarkModule(n int) string
- func Skip(*testing.T)
- func WithTempFS(files map[string]string, f func(string))
- func WithTestFS(files map[string]string, inMemoryFS bool, f func(string, fs.FS))
- type BlockingWriter
Functions ¶
func ArrayIterationBenchmarkModule ¶
ArrayIterationBenchmarkModule returns a module that iterates an array with `n` elements
func Eventually ¶
func EventuallyOrFatal ¶
func GenerateConcurrencyBenchmarkData ¶
GenerateConcurrencyBenchmarkData returns a module and data; the module checks some input parameters against that data in a simple API authz scheme.
func GenerateJSONBenchmarkData ¶
GenerateJSONBenchmarkData returns a map of `k` keys and `v` key/value pairs.
func GenerateLargeJSONBenchmarkData ¶
func GenerateLargeJSONBenchmarkData() map[string]interface{}
GenerateLargeJSONBenchmarkData returns a map of 100 keys and 100.000 key/value pairs.
func GenerateVirtualDocsBenchmarkData ¶
func GenerateVirtualDocsBenchmarkData(numTotalRules, numHitRules int) (string, map[string]interface{})
GenerateVirtualDocsBenchmarkData generates a module and input; the numTotalRules and numHitRules create as many rules in the module to match/miss the returned input.
func MakeTempFS ¶
func MakeTempFS(root, prefix string, files map[string]string) (rootDir string, cleanup func(), err error)
MakeTempFS creates a temporary directory structure for test purposes rooted at root. If root is empty, the dir is created in the default system temp location. If the creation fails, cleanup is nil and the caller does not have to invoke it. If creation succeeds, the caller should invoke cleanup when they are done.
func ObjectIterationBenchmarkModule ¶
ObjectIterationBenchmarkModule returns a module that iterates an object with `n` key/val pairs
func PartialObjectBenchmarkCrossModule ¶
PartialObjectBenchmarkCrossModule returns a module with n "bench_test_" prefixed rules that each refer to another "cond_bench_" prefixed rule
func SetIterationBenchmarkModule ¶
SetIterationBenchmarkModule returns a module that iterates a set with `n` elements
func Skip ¶
Skip will skip this test on pull request CI runs. Used for slow test runners on GHA's darwin machines.
func WithTempFS ¶
WithTempFS creates a temporary directory structure and invokes f with the root directory path.
func WithTestFS ¶
WithTestFS creates a temporary file system of `files` in memory if `inMemoryFS` is true and invokes `f“ with that filesystem
Types ¶
type BlockingWriter ¶
type BlockingWriter = v1.BlockingWriter
Source Files ¶
benchmark.go ci_skip.go doc.go tempfs.go tempus.go
- Version
- v1.4.2 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 4 hours ago –
Tools for package owners.