Files
kustomize/pkg/commands/misc/config_test.go
2019-09-24 16:40:32 -07:00

75 lines
1.4 KiB
Go

// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package misc
import (
"fmt"
"reflect"
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/pkg/fs"
)
func TestValidate(t *testing.T) {
o := saveOptions{
saveDirectory: "",
}
err := o.Validate()
if !strings.Contains(err.Error(), "must specify one local directory") {
t.Fatalf("Incorrect error %v", err)
}
o.saveDirectory = "/some/dir"
err = o.Validate()
if err != nil {
t.Fatalf("Unexpected error %v", err)
}
}
func TestComplete(t *testing.T) {
fsys := fs.MakeFakeFS()
fsys.Mkdir("/some/dir")
fsys.WriteFile("/some/file", []byte(`some file`))
type testcase struct {
dir string
expect error
}
testcases := []testcase{
{
dir: "/some/dir",
expect: nil,
},
{
dir: "/some/dir/not/existing",
expect: nil,
},
{
dir: "/some/file",
expect: fmt.Errorf("%s is not a directory", "/some/file"),
},
}
for _, tcase := range testcases {
o := saveOptions{saveDirectory: tcase.dir}
actual := o.Complete(fsys)
if !reflect.DeepEqual(actual, tcase.expect) {
t.Fatalf("Expected %v\n but bot %v\n", tcase.expect, actual)
}
}
}
func TestRunSave(t *testing.T) {
fsys := fs.MakeFakeFS()
o := saveOptions{saveDirectory: "/some/dir"}
err := o.RunSave(fsys)
if err != nil {
t.Fatalf("Unexpected error %v", err)
}
if !fsys.Exists("/some/dir/nameprefix.yaml") {
t.Fatal("default configurations are not successfully save.")
}
}