|
|
|
|
@ -83,18 +83,41 @@ func TestParseKubeVersion(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestParseKubeVersionSuffix(t *testing.T) {
|
|
|
|
|
kv, err := ParseKubeVersion("v1.28+")
|
|
|
|
|
func TestParseKubeVersionWithVendorSuffixes(t *testing.T) {
|
|
|
|
|
tests := []struct {
|
|
|
|
|
name string
|
|
|
|
|
input string
|
|
|
|
|
wantVer string
|
|
|
|
|
wantString string
|
|
|
|
|
wantMajor string
|
|
|
|
|
wantMinor string
|
|
|
|
|
}{
|
|
|
|
|
{"GKE vendor suffix", "v1.33.4-gke.1245000", "v1.33.4-gke.1245000", "v1.33.4", "1", "33"},
|
|
|
|
|
{"GKE without v", "1.30.2-gke.1587003", "v1.30.2-gke.1587003", "v1.30.2", "1", "30"},
|
|
|
|
|
{"EKS trailing +", "v1.28+", "v1.28+", "v1.28", "1", "28"},
|
|
|
|
|
{"EKS + without v", "1.28+", "v1.28+", "v1.28", "1", "28"},
|
|
|
|
|
{"Standard version", "v1.31.0", "v1.31.0", "v1.31.0", "1", "31"},
|
|
|
|
|
{"Standard without v", "1.29.0", "v1.29.0", "v1.29.0", "1", "29"},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
|
kv, err := ParseKubeVersion(tt.input)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Errorf("Expected v1.28+ to parse successfully")
|
|
|
|
|
t.Fatalf("ParseKubeVersion() error = %v", err)
|
|
|
|
|
}
|
|
|
|
|
if kv.Version != "v1.28" {
|
|
|
|
|
t.Errorf("Expected parsed KubeVersion.Version to be v1.28, got %q", kv.String())
|
|
|
|
|
if kv.Version != tt.wantVer {
|
|
|
|
|
t.Errorf("Version = %q, want %q", kv.Version, tt.wantVer)
|
|
|
|
|
}
|
|
|
|
|
if kv.Major != "1" {
|
|
|
|
|
t.Errorf("Expected parsed KubeVersion.Major to be 1, got %q", kv.Major)
|
|
|
|
|
if kv.String() != tt.wantString {
|
|
|
|
|
t.Errorf("String() = %q, want %q", kv.String(), tt.wantString)
|
|
|
|
|
}
|
|
|
|
|
if kv.Major != tt.wantMajor {
|
|
|
|
|
t.Errorf("Major = %q, want %q", kv.Major, tt.wantMajor)
|
|
|
|
|
}
|
|
|
|
|
if kv.Minor != tt.wantMinor {
|
|
|
|
|
t.Errorf("Minor = %q, want %q", kv.Minor, tt.wantMinor)
|
|
|
|
|
}
|
|
|
|
|
if kv.Minor != "28" {
|
|
|
|
|
t.Errorf("Expected parsed KubeVersion.Minor to be 28, got %q", kv.Minor)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|