mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-30 01:46:23 +00:00
Increase sort determinism.
This commit is contained in:
@@ -58,16 +58,35 @@ func NewResIdKindOnly(k string, n string) ResId {
|
||||
return ResId{gvKind: gvk.FromKind(k), name: n}
|
||||
}
|
||||
|
||||
const (
|
||||
noNamespace = "noNamespace"
|
||||
noPrefix = "noPrefix"
|
||||
noName = "noName"
|
||||
separator = "|"
|
||||
)
|
||||
|
||||
// String of ResId based on GVK, name and prefix
|
||||
func (n ResId) String() string {
|
||||
fields := []string{n.gvKind.Group, n.gvKind.Version, n.gvKind.Kind,
|
||||
n.namespace, n.prefix, n.name}
|
||||
return strings.Join(fields, "_") + ".yaml"
|
||||
ns := n.namespace
|
||||
if ns == "" {
|
||||
ns = noNamespace
|
||||
}
|
||||
p := n.prefix
|
||||
if p == "" {
|
||||
p = noPrefix
|
||||
}
|
||||
nm := n.name
|
||||
if nm == "" {
|
||||
nm = noName
|
||||
}
|
||||
|
||||
return strings.Join(
|
||||
[]string{n.gvKind.String(), ns, p, nm}, separator)
|
||||
}
|
||||
|
||||
// GvknString of ResId based on GVK and name
|
||||
func (n ResId) GvknString() string {
|
||||
return n.gvKind.String() + "_" + n.name + ".yaml"
|
||||
return n.gvKind.String() + separator + n.name
|
||||
}
|
||||
|
||||
// GvknEquals return if two ResId have the same Group/Version/Kind and name
|
||||
|
||||
@@ -11,19 +11,27 @@ var stringTests = []struct {
|
||||
s string
|
||||
}{
|
||||
{ResId{gvKind: gvk.Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "g_v_k_ns_p_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"g_v_k|ns|p|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{Version: "v", Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "_v_k_ns_p_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_v_k|ns|p|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "__k_ns_p_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_noVersion_k|ns|p|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "___ns_p_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_noVersion_noKind|ns|p|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm", prefix: "p"}, "____p_nm.yaml"},
|
||||
name: "nm", prefix: "p"},
|
||||
"noGroup_noVersion_noKind|noNamespace|p|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm"}, "_____nm.yaml"},
|
||||
{ResId{gvKind: gvk.Gvk{}}, "_____.yaml"},
|
||||
{ResId{}, "_____.yaml"},
|
||||
name: "nm"},
|
||||
"noGroup_noVersion_noKind|noNamespace|noPrefix|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{}},
|
||||
"noGroup_noVersion_noKind|noNamespace|noPrefix|noName"},
|
||||
{ResId{},
|
||||
"noGroup_noVersion_noKind|noNamespace|noPrefix|noName"},
|
||||
}
|
||||
|
||||
func TestString(t *testing.T) {
|
||||
@@ -39,19 +47,27 @@ var gvknStringTests = []struct {
|
||||
s string
|
||||
}{
|
||||
{ResId{gvKind: gvk.Gvk{Group: "g", Version: "v", Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "g_v_k_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"g_v_k|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{Version: "v", Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "v_k_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_v_k|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{Kind: "k"},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "_k_nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_noVersion_k|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm", prefix: "p", namespace: "ns"}, "__nm.yaml"},
|
||||
name: "nm", prefix: "p", namespace: "ns"},
|
||||
"noGroup_noVersion_noKind|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm", prefix: "p"}, "__nm.yaml"},
|
||||
name: "nm", prefix: "p"},
|
||||
"noGroup_noVersion_noKind|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{},
|
||||
name: "nm"}, "__nm.yaml"},
|
||||
{ResId{gvKind: gvk.Gvk{}}, "__.yaml"},
|
||||
{ResId{}, "__.yaml"},
|
||||
name: "nm"},
|
||||
"noGroup_noVersion_noKind|nm"},
|
||||
{ResId{gvKind: gvk.Gvk{}},
|
||||
"noGroup_noVersion_noKind|"},
|
||||
{ResId{},
|
||||
"noGroup_noVersion_noKind|"},
|
||||
}
|
||||
|
||||
func TestGvknString(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user