1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-25 17:13:48 +00:00
kyverno/cmd/cli/kubectl-kyverno/context/load_test.go
Charles-Edouard Brétéché 1c3bddf8ca
feat: support mock in CLI for VPs ()
* feat: support mock in CLI for VPs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* implement get cm mock

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* move into cel package

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-10 13:28:44 +00:00

149 lines
3.7 KiB
Go

package context
// import (
// "os"
// "reflect"
// "testing"
// "github.com/go-git/go-billy/v5"
// "github.com/go-git/go-billy/v5/memfs"
// "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apis/v1alpha1"
// )
// func Test_readFile(t *testing.T) {
// mustReadFile := func(path string) []byte {
// t.Helper()
// data, err := os.ReadFile(path)
// if err != nil {
// t.Fatal(err)
// }
// return data
// }
// tests := []struct {
// name string
// f billy.Filesystem
// filepath string
// want []byte
// wantErr bool
// }{{
// name: "empty",
// filepath: "",
// want: nil,
// wantErr: true,
// }, {
// name: "does not exist",
// filepath: "../_testdata/values/doesnotexist",
// want: nil,
// wantErr: true,
// }, {
// name: "bad format",
// filepath: "../_testdata/values/bad-format.yaml",
// want: mustReadFile("../_testdata/values/bad-format.yaml"),
// wantErr: false,
// }, {
// name: "valid",
// filepath: "../_testdata/values/limit-configmap-for-sa.yaml",
// want: mustReadFile("../_testdata/values/limit-configmap-for-sa.yaml"),
// wantErr: false,
// }, {
// name: "empty (billy)",
// f: memfs.New(),
// filepath: "",
// want: nil,
// wantErr: true,
// }, {
// name: "valid (billy)",
// f: func() billy.Filesystem {
// f := memfs.New()
// file, err := f.Create("valid.yaml")
// if err != nil {
// t.Fatal(err)
// }
// defer file.Close()
// if _, err := file.Write([]byte("foo: bar")); err != nil {
// t.Fatal(err)
// }
// return f
// }(),
// filepath: "valid.yaml",
// want: []byte("foo: bar"),
// wantErr: false,
// }}
// for _, tt := range tests {
// t.Run(tt.name, func(t *testing.T) {
// got, err := readFile(tt.f, tt.filepath)
// if (err != nil) != tt.wantErr {
// t.Errorf("readFile() error = %v, wantErr %v", err, tt.wantErr)
// return
// }
// if !reflect.DeepEqual(got, tt.want) {
// t.Errorf("readFile() = %v, want %v", got, tt.want)
// }
// })
// }
// }
// func TestLoad(t *testing.T) {
// tests := []struct {
// name string
// f billy.Filesystem
// filepath string
// want *v1alpha1.Values
// wantErr bool
// }{{
// name: "empty",
// filepath: "",
// want: nil,
// wantErr: true,
// }, {
// name: "does not exist",
// filepath: "../_testdata/values/doesnotexist",
// want: nil,
// wantErr: true,
// }, {
// name: "bad format",
// filepath: "../_testdata/values/bad-format.yaml",
// want: nil,
// wantErr: true,
// }, {
// name: "valid",
// filepath: "../_testdata/values/limit-configmap-for-sa.yaml",
// want: &v1alpha1.Values{
// ValuesSpec: v1alpha1.ValuesSpec{
// NamespaceSelectors: []v1alpha1.NamespaceSelector{{
// Name: "test1",
// Labels: map[string]string{
// "foo.com/managed-state": "managed",
// },
// }},
// Policies: []v1alpha1.Policy{{
// Name: "limit-configmap-for-sa",
// Resources: []v1alpha1.Resource{{
// Name: "any-configmap-name-good",
// Values: map[string]interface{}{
// "request.operation": "UPDATE",
// },
// }, {
// Name: "any-configmap-name-bad",
// Values: map[string]interface{}{
// "request.operation": "UPDATE",
// },
// }},
// }},
// },
// },
// wantErr: false,
// }}
// for _, tt := range tests {
// t.Run(tt.name, func(t *testing.T) {
// got, err := Load(tt.f, tt.filepath)
// if (err != nil) != tt.wantErr {
// t.Errorf("Load() error = %v, wantErr %v", err, tt.wantErr)
// return
// }
// if !reflect.DeepEqual(got, tt.want) {
// t.Errorf("Load() = %v, want %v", got, tt.want)
// }
// })
// }
// }