Commit 65080ea1 authored by zhangxiaoyu-zidif's avatar zhangxiaoyu-zidif

ParsePodFullName():code robustness

parent 3fbfafdd
...@@ -608,7 +608,7 @@ func BuildPodFullName(name, namespace string) string { ...@@ -608,7 +608,7 @@ func BuildPodFullName(name, namespace string) string {
// Parse the pod full name. // Parse the pod full name.
func ParsePodFullName(podFullName string) (string, string, error) { func ParsePodFullName(podFullName string) (string, string, error) {
parts := strings.Split(podFullName, "_") parts := strings.Split(podFullName, "_")
if len(parts) != 2 { if len(parts) != 2 || parts[0] == "" || parts[1] == "" {
return "", "", fmt.Errorf("failed to parse the pod full name %q", podFullName) return "", "", fmt.Errorf("failed to parse the pod full name %q", podFullName)
} }
return parts[0], parts[1], nil return parts[0], parts[1], nil
......
...@@ -32,7 +32,7 @@ func TestParsePodFullName(t *testing.T) { ...@@ -32,7 +32,7 @@ func TestParsePodFullName(t *testing.T) {
"bar.org_foo.com": {Name: "bar.org", Namespace: "foo.com"}, "bar.org_foo.com": {Name: "bar.org", Namespace: "foo.com"},
"bar-bar_foo": {Name: "bar-bar", Namespace: "foo"}, "bar-bar_foo": {Name: "bar-bar", Namespace: "foo"},
} }
failedCases := []string{"barfoo", "bar_foo_foo", ""} failedCases := []string{"barfoo", "bar_foo_foo", "", "bar_", "_foo"}
for podFullName, expected := range successfulCases { for podFullName, expected := range successfulCases {
name, namespace, err := kubecontainer.ParsePodFullName(podFullName) name, namespace, err := kubecontainer.ParsePodFullName(podFullName)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment