mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-13 03:42:35 -06:00
96800d747b
Signed-off-by: Colin Lacy <colinjlacy@gmail.com>
58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package exec
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewParams(t *testing.T) {
|
|
testString := "test"
|
|
w := bytes.NewBuffer([]byte{})
|
|
p := NewParams(w)
|
|
if _, err := p.Output.Write([]byte(testString)); err != nil {
|
|
t.Fatalf("unexpected error writing to params.Output: %q", err)
|
|
}
|
|
if w.String() != testString {
|
|
t.Fatalf("expected params.Output bytes to be %q, got %q", testString, w.String())
|
|
}
|
|
}
|
|
|
|
func TestParams_validateParams(t *testing.T) {
|
|
tcs := []struct {
|
|
Name string
|
|
Params Params
|
|
ShouldError bool
|
|
}{
|
|
{
|
|
Name: "should return error if p.Fail and p.FailDefined are true",
|
|
Params: Params{Fail: true, FailDefined: true},
|
|
ShouldError: true,
|
|
},
|
|
{
|
|
Name: "should return error if p.FailNonEmpty and p.Fail are true",
|
|
Params: Params{Fail: true, FailNonEmpty: true},
|
|
ShouldError: true,
|
|
},
|
|
{
|
|
Name: "should return error if .FailNonEmpty and p.FailDefined are true",
|
|
Params: Params{FailNonEmpty: true, FailDefined: true},
|
|
ShouldError: true,
|
|
},
|
|
{
|
|
Name: "should not return an error",
|
|
Params: Params{Fail: true, FailDefined: false, FailNonEmpty: false},
|
|
ShouldError: false,
|
|
},
|
|
}
|
|
for _, tc := range tcs {
|
|
t.Run(tc.Name, func(t *testing.T) {
|
|
err := tc.Params.validateParams()
|
|
if tc.ShouldError && err == nil {
|
|
t.Fatalf("expected error, saw none")
|
|
} else if !tc.ShouldError && err != nil {
|
|
t.Fatalf("unexpected error: %q", err.Error())
|
|
}
|
|
})
|
|
}
|
|
}
|