kubelatte-ce
Форк от sbertech/kubelatte-ce
40 строк · 952.0 Байт
1package opa
2
3import (
4"github.com/open-policy-agent/opa/rego"
5"reflect"
6"testing"
7)
8
9func TestPrecompile(t *testing.T) {
10type args struct {
11module string
12}
13tests := []struct {
14name string
15args args
16want rego.PreparedEvalQuery
17wantErr bool
18}{
19{
20name: "success",
21args: args{
22module: "import future.keywords.contains\n import future.keywords.if\n \n violation contains {\"msg\": msg} if {\n objName := \"hello\"\n msg := sprintf(\"There is no HTTP. Just '%v'!\", [objName])\n }",
23},
24want: rego.PreparedEvalQuery{},
25wantErr: false,
26},
27}
28for _, tt := range tests {
29t.Run(tt.name, func(t *testing.T) {
30got, err := Precompile(tt.args.module)
31if (err != nil) != tt.wantErr {
32t.Errorf("Precompile() error = %v, wantErr %v", err, tt.wantErr)
33return
34}
35if reflect.DeepEqual(got, tt.want) {
36t.Errorf("Precompile() got = %v, want %v", got, tt.want)
37}
38})
39}
40}
41