mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-07-07 04:43:12 +00:00
Use resid.ResId in replacements.
This commit is contained in:
@@ -90,6 +90,13 @@ func (id ResId) GvknEquals(o ResId) bool {
|
||||
return id.Name == o.Name && id.Gvk.Equals(o.Gvk)
|
||||
}
|
||||
|
||||
// IsSelectedBy returns true if self is selected by the argument.
|
||||
func (id ResId) IsSelectedBy(selector ResId) bool {
|
||||
return (selector.Name == "" || selector.Name == id.Name) &&
|
||||
(selector.Namespace == "" || selector.IsNsEquals(id)) &&
|
||||
id.Gvk.IsSelected(&selector.Gvk)
|
||||
}
|
||||
|
||||
// Equals returns true if the other id matches
|
||||
// namespace/Group/Version/Kind/name.
|
||||
func (id ResId) Equals(o ResId) bool {
|
||||
|
||||
@@ -360,6 +360,100 @@ var ids = []ResId{
|
||||
},
|
||||
}
|
||||
|
||||
func TestResIdIsSelected(t *testing.T) {
|
||||
type selectable struct {
|
||||
id ResId
|
||||
expectSelected bool
|
||||
}
|
||||
var testCases = []struct {
|
||||
selector ResId
|
||||
selectables []selectable
|
||||
}{
|
||||
{
|
||||
selector: ResId{
|
||||
Namespace: "X",
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
selectables: []selectable{
|
||||
{
|
||||
id: ResId{
|
||||
Namespace: "X",
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
expectSelected: true,
|
||||
},
|
||||
{
|
||||
id: ResId{
|
||||
Namespace: "x",
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
expectSelected: false,
|
||||
},
|
||||
{
|
||||
id: ResId{
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
expectSelected: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
selector: ResId{
|
||||
/* Namespace wildcard */
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g" /* Version wildcard */, Kind: "k"},
|
||||
},
|
||||
selectables: []selectable{
|
||||
{
|
||||
id: ResId{
|
||||
Namespace: "X",
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
expectSelected: true,
|
||||
},
|
||||
{
|
||||
id: ResId{
|
||||
Namespace: "x",
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
},
|
||||
expectSelected: true,
|
||||
},
|
||||
{
|
||||
id: ResId{
|
||||
Name: "nm",
|
||||
Gvk: Gvk{Group: "g", Version: "VVV", Kind: "k"},
|
||||
},
|
||||
expectSelected: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tst := range testCases {
|
||||
for _, pair := range tst.selectables {
|
||||
if pair.id.IsSelectedBy(tst.selector) {
|
||||
if !pair.expectSelected {
|
||||
t.Fatalf(
|
||||
"expected id %s to NOT be selected by %s",
|
||||
pair.id, tst.selector)
|
||||
}
|
||||
} else {
|
||||
if pair.expectSelected {
|
||||
t.Fatalf(
|
||||
"expected id %s to be selected by %s",
|
||||
pair.id, tst.selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestFromString(t *testing.T) {
|
||||
for _, id := range ids {
|
||||
newId := FromString(id.String())
|
||||
|
||||
Reference in New Issue
Block a user