Merge pull request #3067 from Shell32-Natsu/file-name

make file name more readable when no group
This commit is contained in:
Jeff Regan
2020-10-07 13:50:28 -07:00
committed by GitHub
3 changed files with 34 additions and 9 deletions

View File

@@ -79,6 +79,22 @@ func (x Gvk) String() string {
return strings.Join([]string{g, v, k}, fieldSep) return strings.Join([]string{g, v, k}, fieldSep)
} }
// StringWoEmptyField returns a string representation of the GVK. Non-exist
// fields will be omitted.
func (x Gvk) StringWoEmptyField() string {
var s []string
if x.Group != "" {
s = append(s, x.Group)
}
if x.Version != "" {
s = append(s, x.Version)
}
if x.Kind != "" {
s = append(s, x.Kind)
}
return strings.Join(s, fieldSep)
}
// Equals returns true if the Gvk's have equal fields. // Equals returns true if the Gvk's have equal fields.
func (x Gvk) Equals(o Gvk) bool { func (x Gvk) Equals(o Gvk) bool {
return x.Group == o.Group && x.Version == o.Version && x.Kind == o.Kind return x.Group == o.Group && x.Version == o.Version && x.Kind == o.Kind

View File

@@ -96,15 +96,16 @@ func TestIsLessThan1(t *testing.T) {
var stringTests = []struct { var stringTests = []struct {
x Gvk x Gvk
s string s string
r string
}{ }{
{Gvk{}, "~G_~V_~K"}, {Gvk{}, "~G_~V_~K", ""},
{Gvk{Kind: "k"}, "~G_~V_k"}, {Gvk{Kind: "k"}, "~G_~V_k", "k"},
{Gvk{Version: "v"}, "~G_v_~K"}, {Gvk{Version: "v"}, "~G_v_~K", "v"},
{Gvk{Version: "v", Kind: "k"}, "~G_v_k"}, {Gvk{Version: "v", Kind: "k"}, "~G_v_k", "v_k"},
{Gvk{Group: "g"}, "g_~V_~K"}, {Gvk{Group: "g"}, "g_~V_~K", "g"},
{Gvk{Group: "g", Kind: "k"}, "g_~V_k"}, {Gvk{Group: "g", Kind: "k"}, "g_~V_k", "g_k"},
{Gvk{Group: "g", Version: "v"}, "g_v_~K"}, {Gvk{Group: "g", Version: "v"}, "g_v_~K", "g_v"},
{Gvk{Group: "g", Version: "v", Kind: "k"}, "g_v_k"}, {Gvk{Group: "g", Version: "v", Kind: "k"}, "g_v_k", "g_v_k"},
} }
func TestString(t *testing.T) { func TestString(t *testing.T) {
@@ -115,6 +116,14 @@ func TestString(t *testing.T) {
} }
} }
func TestStringWoEmptyField(t *testing.T) {
for _, hey := range stringTests {
if hey.x.StringWoEmptyField() != hey.r {
t.Fatalf("bad string %s for %v '%s'", hey.x.StringWoEmptyField(), hey.x, hey.r)
}
}
}
func TestParseGroupVersion(t *testing.T) { func TestParseGroupVersion(t *testing.T) {
tests := []struct { tests := []struct {
input string input string

View File

@@ -191,7 +191,7 @@ func writeIndividualFiles(
} }
func fileName(res *resource.Resource) string { func fileName(res *resource.Resource) string {
return strings.ToLower(res.GetGvk().String()) + return strings.ToLower(res.GetGvk().StringWoEmptyField()) +
"_" + strings.ToLower(res.GetName()) + ".yaml" "_" + strings.ToLower(res.GetName()) + ".yaml"
} }