mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 01:50:55 +00:00
WIP residPackage
This commit is contained in:
@@ -18,6 +18,7 @@ package resmap
|
||||
|
||||
import (
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
)
|
||||
@@ -37,7 +38,7 @@ func NewResMapFromConfigMapArgs(
|
||||
return nil, err
|
||||
}
|
||||
res, err := resource.NewResourceWithBehavior(
|
||||
cm, resource.NewGenerationBehavior(cmArgs.Behavior))
|
||||
cm, ifc.NewGenerationBehavior(cmArgs.Behavior))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -23,7 +23,9 @@ import (
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/fs"
|
||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/internal/loadertest"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
)
|
||||
@@ -55,7 +57,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
filepath: "/home/seans/project/app.env",
|
||||
content: "DB_USERNAME=admin\nDB_PASSWORD=somepw",
|
||||
expected: ResMap{
|
||||
resource.NewResId(cmap, "envConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "envConfigMap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -66,7 +68,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
"DB_USERNAME": "admin",
|
||||
"DB_PASSWORD": "somepw",
|
||||
},
|
||||
}).SetBehavior(resource.BehaviorCreate),
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -81,7 +83,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
filepath: "/home/seans/project/app-init.ini",
|
||||
content: "FOO=bar\nBAR=baz\n",
|
||||
expected: ResMap{
|
||||
resource.NewResId(cmap, "fileConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "fileConfigMap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -93,7 +95,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
BAR=baz
|
||||
`,
|
||||
},
|
||||
}).SetBehavior(resource.BehaviorCreate),
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -107,7 +109,7 @@ BAR=baz
|
||||
},
|
||||
},
|
||||
expected: ResMap{
|
||||
resource.NewResId(cmap, "literalConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "literalConfigMap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -120,7 +122,7 @@ BAR=baz
|
||||
"c": "Good Morning",
|
||||
"d": "false",
|
||||
},
|
||||
}).SetBehavior(resource.BehaviorCreate),
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
},
|
||||
},
|
||||
// TODO: add testcase for data coming from multiple sources like
|
||||
|
||||
@@ -19,11 +19,11 @@ package resmap
|
||||
import (
|
||||
"sort"
|
||||
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
)
|
||||
|
||||
// IdSlice implements the sort interface.
|
||||
type IdSlice []resource.ResId
|
||||
type IdSlice []resid.ResId
|
||||
|
||||
var _ sort.Interface = IdSlice{}
|
||||
|
||||
|
||||
@@ -21,29 +21,29 @@ import (
|
||||
"sort"
|
||||
"testing"
|
||||
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
)
|
||||
|
||||
func TestLess(t *testing.T) {
|
||||
ids := IdSlice{
|
||||
resource.NewResIdKindOnly("ConfigMap", "cm"),
|
||||
resource.NewResIdKindOnly("Pod", "pod"),
|
||||
resource.NewResIdKindOnly("Namespace", "ns1"),
|
||||
resource.NewResIdKindOnly("Namespace", "ns2"),
|
||||
resource.NewResIdKindOnly("Role", "ro"),
|
||||
resource.NewResIdKindOnly("RoleBinding", "rb"),
|
||||
resource.NewResIdKindOnly("CustomResourceDefinition", "crd"),
|
||||
resource.NewResIdKindOnly("ServiceAccount", "sa"),
|
||||
resid.NewResIdKindOnly("ConfigMap", "cm"),
|
||||
resid.NewResIdKindOnly("Pod", "pod"),
|
||||
resid.NewResIdKindOnly("Namespace", "ns1"),
|
||||
resid.NewResIdKindOnly("Namespace", "ns2"),
|
||||
resid.NewResIdKindOnly("Role", "ro"),
|
||||
resid.NewResIdKindOnly("RoleBinding", "rb"),
|
||||
resid.NewResIdKindOnly("CustomResourceDefinition", "crd"),
|
||||
resid.NewResIdKindOnly("ServiceAccount", "sa"),
|
||||
}
|
||||
expected := IdSlice{
|
||||
resource.NewResIdKindOnly("Namespace", "ns1"),
|
||||
resource.NewResIdKindOnly("Namespace", "ns2"),
|
||||
resource.NewResIdKindOnly("CustomResourceDefinition", "crd"),
|
||||
resource.NewResIdKindOnly("ServiceAccount", "sa"),
|
||||
resource.NewResIdKindOnly("Role", "ro"),
|
||||
resource.NewResIdKindOnly("RoleBinding", "rb"),
|
||||
resource.NewResIdKindOnly("ConfigMap", "cm"),
|
||||
resource.NewResIdKindOnly("Pod", "pod"),
|
||||
resid.NewResIdKindOnly("Namespace", "ns1"),
|
||||
resid.NewResIdKindOnly("Namespace", "ns2"),
|
||||
resid.NewResIdKindOnly("CustomResourceDefinition", "crd"),
|
||||
resid.NewResIdKindOnly("ServiceAccount", "sa"),
|
||||
resid.NewResIdKindOnly("Role", "ro"),
|
||||
resid.NewResIdKindOnly("RoleBinding", "rb"),
|
||||
resid.NewResIdKindOnly("ConfigMap", "cm"),
|
||||
resid.NewResIdKindOnly("Pod", "pod"),
|
||||
}
|
||||
sort.Sort(ids)
|
||||
if !reflect.DeepEqual(ids, expected) {
|
||||
|
||||
@@ -21,7 +21,6 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sort"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
@@ -29,17 +28,18 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
internal "sigs.k8s.io/kustomize/pkg/internal/error"
|
||||
"sigs.k8s.io/kustomize/pkg/loader"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
)
|
||||
|
||||
// ResMap is a map from ResId to Resource.
|
||||
type ResMap map[resource.ResId]*resource.Resource
|
||||
type ResMap map[resid.ResId]*resource.Resource
|
||||
|
||||
// FindByGVKN find the matched ResIds by Group/Version/Kind and Name
|
||||
func (m ResMap) FindByGVKN(inputId resource.ResId) []resource.ResId {
|
||||
var result []resource.ResId
|
||||
func (m ResMap) FindByGVKN(inputId resid.ResId) []resid.ResId {
|
||||
var result []resid.ResId
|
||||
for id := range m {
|
||||
if id.GvknEquals(inputId) {
|
||||
result = append(result, id)
|
||||
@@ -49,7 +49,7 @@ func (m ResMap) FindByGVKN(inputId resource.ResId) []resource.ResId {
|
||||
}
|
||||
|
||||
// DemandOneMatchForId find the matched resource by Group/Version/Kind and Name
|
||||
func (m ResMap) DemandOneMatchForId(inputId resource.ResId) (*resource.Resource, bool) {
|
||||
func (m ResMap) DemandOneMatchForId(inputId resid.ResId) (*resource.Resource, bool) {
|
||||
result := m.FindByGVKN(inputId)
|
||||
if len(result) == 1 {
|
||||
return m[result[0]], true
|
||||
@@ -59,7 +59,7 @@ func (m ResMap) DemandOneMatchForId(inputId resource.ResId) (*resource.Resource,
|
||||
|
||||
// EncodeAsYaml encodes a ResMap to YAML; encoded objects separated by `---`.
|
||||
func (m ResMap) EncodeAsYaml() ([]byte, error) {
|
||||
var ids []resource.ResId
|
||||
var ids []resid.ResId
|
||||
for id := range m {
|
||||
ids = append(ids, id)
|
||||
}
|
||||
@@ -93,8 +93,8 @@ func (m ResMap) EncodeAsYaml() ([]byte, error) {
|
||||
// ErrorIfNotEqual returns error if maps are not equal.
|
||||
func (m ResMap) ErrorIfNotEqual(m2 ResMap) error {
|
||||
if len(m) != len(m2) {
|
||||
var keySet1 []resource.ResId
|
||||
var keySet2 []resource.ResId
|
||||
var keySet1 []resid.ResId
|
||||
var keySet2 []resid.ResId
|
||||
for id := range m {
|
||||
keySet1 = append(keySet1, id)
|
||||
}
|
||||
@@ -128,7 +128,7 @@ func (m ResMap) DeepCopy() ResMap {
|
||||
func (m ResMap) insert(newName string, obj *unstructured.Unstructured) error {
|
||||
oldName := obj.GetName()
|
||||
gvKind := gvk.FromSchemaGvk(obj.GroupVersionKind())
|
||||
id := resource.NewResId(gvKind, oldName)
|
||||
id := resid.NewResId(gvKind, oldName)
|
||||
|
||||
if _, found := m[id]; found {
|
||||
return fmt.Errorf(
|
||||
@@ -141,7 +141,7 @@ func (m ResMap) insert(newName string, obj *unstructured.Unstructured) error {
|
||||
|
||||
// FilterBy returns a ResMap containing ResIds with the same namespace and nameprefix
|
||||
// with the inputId
|
||||
func (m ResMap) FilterBy(inputId resource.ResId) ResMap {
|
||||
func (m ResMap) FilterBy(inputId resid.ResId) ResMap {
|
||||
result := ResMap{}
|
||||
for id, res := range m {
|
||||
if id.Namespace() == inputId.Namespace() && id.HasSameLeftmostPrefix(inputId) {
|
||||
@@ -153,7 +153,7 @@ func (m ResMap) FilterBy(inputId resource.ResId) ResMap {
|
||||
|
||||
// NewResMapFromFiles returns a ResMap given a resource path slice.
|
||||
func NewResMapFromFiles(
|
||||
loader loader.Loader, paths []string,
|
||||
loader ifc.Loader, paths []string,
|
||||
d ifc.Decoder) (ResMap, error) {
|
||||
var result []ResMap
|
||||
for _, path := range paths {
|
||||
@@ -242,23 +242,23 @@ func MergeWithOverride(maps ...ResMap) (ResMap, error) {
|
||||
if len(matchedId) == 1 {
|
||||
id = matchedId[0]
|
||||
switch r.Behavior() {
|
||||
case resource.BehaviorReplace:
|
||||
case ifc.BehaviorReplace:
|
||||
glog.V(4).Infof("Replace %v with %v", result[id].Object, r.Object)
|
||||
r.Replace(result[id])
|
||||
result[id] = r
|
||||
result[id].SetBehavior(resource.BehaviorCreate)
|
||||
case resource.BehaviorMerge:
|
||||
result[id].SetBehavior(ifc.BehaviorCreate)
|
||||
case ifc.BehaviorMerge:
|
||||
glog.V(4).Infof("Merging %v with %v", result[id].Object, r.Object)
|
||||
r.Merge(result[id])
|
||||
result[id] = r
|
||||
glog.V(4).Infof("Merged object is %v", result[id].Object)
|
||||
result[id].SetBehavior(resource.BehaviorCreate)
|
||||
result[id].SetBehavior(ifc.BehaviorCreate)
|
||||
default:
|
||||
return nil, fmt.Errorf("id %#v exists; must merge or replace", id)
|
||||
}
|
||||
} else if len(matchedId) == 0 {
|
||||
switch r.Behavior() {
|
||||
case resource.BehaviorMerge, resource.BehaviorReplace:
|
||||
case ifc.BehaviorMerge, ifc.BehaviorReplace:
|
||||
return nil, fmt.Errorf("id %#v does not exist; cannot merge or replace", id)
|
||||
default:
|
||||
result[id] = r
|
||||
|
||||
@@ -19,11 +19,13 @@ package resmap
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sigs.k8s.io/kustomize/internal/k8sdeps"
|
||||
"testing"
|
||||
|
||||
"sigs.k8s.io/kustomize/internal/k8sdeps"
|
||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/internal/loadertest"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
)
|
||||
|
||||
@@ -42,7 +44,7 @@ metadata:
|
||||
name: cm2
|
||||
`)
|
||||
input := ResMap{
|
||||
resource.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -50,7 +52,7 @@ metadata:
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resource.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -89,7 +91,7 @@ metadata:
|
||||
if ferr := l.AddFile("/home/seans/project/deployment.yaml", []byte(resourceStr)); ferr != nil {
|
||||
t.Fatalf("Error adding fake file: %v\n", ferr)
|
||||
}
|
||||
expected := ResMap{resource.NewResId(deploy, "dply1"): resource.NewResourceFromMap(
|
||||
expected := ResMap{resid.NewResId(deploy, "dply1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -97,7 +99,7 @@ metadata:
|
||||
"name": "dply1",
|
||||
},
|
||||
}),
|
||||
resource.NewResId(deploy, "dply2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "dply2"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -131,7 +133,7 @@ metadata:
|
||||
name: cm2
|
||||
`)
|
||||
expected := ResMap{
|
||||
resource.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -139,7 +141,7 @@ metadata:
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resource.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -160,7 +162,7 @@ metadata:
|
||||
|
||||
func TestMergeWithoutOverride(t *testing.T) {
|
||||
input1 := ResMap{
|
||||
resource.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -170,7 +172,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
}),
|
||||
}
|
||||
input2 := ResMap{
|
||||
resource.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet",
|
||||
@@ -181,7 +183,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
}
|
||||
input := []ResMap{input1, input2}
|
||||
expected := ResMap{
|
||||
resource.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -189,7 +191,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
"name": "foo-deploy1",
|
||||
},
|
||||
}),
|
||||
resource.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet",
|
||||
@@ -225,7 +227,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
|
||||
func TestMergeWithOverride(t *testing.T) {
|
||||
input1 := ResMap{
|
||||
resource.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -239,7 +241,7 @@ func TestMergeWithOverride(t *testing.T) {
|
||||
}),
|
||||
}
|
||||
input2 := ResMap{
|
||||
resource.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -253,11 +255,11 @@ func TestMergeWithOverride(t *testing.T) {
|
||||
},
|
||||
}),
|
||||
}
|
||||
input1[resource.NewResId(cmap, "cmap")].SetBehavior(resource.BehaviorCreate)
|
||||
input2[resource.NewResId(cmap, "cmap")].SetBehavior(resource.BehaviorMerge)
|
||||
input1[resid.NewResId(cmap, "cmap")].SetBehavior(ifc.BehaviorCreate)
|
||||
input2[resid.NewResId(cmap, "cmap")].SetBehavior(ifc.BehaviorMerge)
|
||||
input := []ResMap{input1, input2}
|
||||
expected := ResMap{
|
||||
resource.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -273,7 +275,7 @@ func TestMergeWithOverride(t *testing.T) {
|
||||
},
|
||||
}),
|
||||
}
|
||||
expected[resource.NewResId(cmap, "cmap")].SetBehavior(resource.BehaviorCreate)
|
||||
expected[resid.NewResId(cmap, "cmap")].SetBehavior(ifc.BehaviorCreate)
|
||||
merged, err := MergeWithOverride(input...)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
|
||||
@@ -19,6 +19,7 @@ package resmap
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
)
|
||||
@@ -38,7 +39,7 @@ func NewResMapFromSecretArgs(
|
||||
args.Behavior = "create"
|
||||
}
|
||||
res, err := resource.NewResourceWithBehavior(
|
||||
s, resource.NewGenerationBehavior(args.Behavior))
|
||||
s, ifc.NewGenerationBehavior(args.Behavior))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "NewResourceWithBehavior")
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import (
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/fs"
|
||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
)
|
||||
@@ -61,7 +63,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
}
|
||||
|
||||
expected := ResMap{
|
||||
resource.NewResId(secret, "apple"): resource.NewResourceFromMap(
|
||||
resid.NewResId(secret, "apple"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Secret",
|
||||
@@ -73,8 +75,8 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
|
||||
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
|
||||
},
|
||||
}).SetBehavior(resource.BehaviorCreate),
|
||||
resource.NewResId(secret, "peanuts"): resource.NewResourceFromMap(
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
resid.NewResId(secret, "peanuts"): resource.NewResourceFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Secret",
|
||||
@@ -86,7 +88,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
|
||||
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
|
||||
},
|
||||
}).SetBehavior(resource.BehaviorCreate),
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
}
|
||||
if !reflect.DeepEqual(actual, expected) {
|
||||
t.Fatalf("%#v\ndoesn't match expected:\n%#v", actual, expected)
|
||||
|
||||
Reference in New Issue
Block a user