mirror of
https://github.com/kubernetes/client-go.git
synced 2025-09-06 01:20:40 +00:00
Creating function for preflight check.
Migrated code that checks for common programmer errors to a separated function and added test coverage for it. Wrong comment stating that a typed error is returned was also removed. Kubernetes-commit: ad5fafd6ade2838098890a4e7727c8e347686867
This commit is contained in:
committed by
Kubernetes Publisher
parent
e318746e79
commit
e6a1dc4b13
@@ -1994,3 +1994,66 @@ func defaultResourcePathWithPrefix(prefix, resource, namespace, name string) str
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
func TestRequestPreflightCheck(t *testing.T) {
|
||||
for _, tt := range []struct {
|
||||
name string
|
||||
verbs []string
|
||||
namespace string
|
||||
resourceName string
|
||||
namespaceSet bool
|
||||
expectsErr bool
|
||||
}{
|
||||
{
|
||||
name: "no namespace set",
|
||||
verbs: []string{"GET", "PUT", "DELETE", "POST"},
|
||||
namespaceSet: false,
|
||||
expectsErr: false,
|
||||
},
|
||||
{
|
||||
name: "empty resource name and namespace",
|
||||
verbs: []string{"GET", "PUT", "DELETE"},
|
||||
namespaceSet: true,
|
||||
expectsErr: false,
|
||||
},
|
||||
{
|
||||
name: "resource name with empty namespace",
|
||||
verbs: []string{"GET", "PUT", "DELETE"},
|
||||
namespaceSet: true,
|
||||
resourceName: "ResourceName",
|
||||
expectsErr: true,
|
||||
},
|
||||
{
|
||||
name: "post empty resource name and namespace",
|
||||
verbs: []string{"POST"},
|
||||
namespaceSet: true,
|
||||
expectsErr: true,
|
||||
},
|
||||
{
|
||||
name: "working requests",
|
||||
verbs: []string{"GET", "PUT", "DELETE", "POST"},
|
||||
namespaceSet: true,
|
||||
resourceName: "ResourceName",
|
||||
namespace: "Namespace",
|
||||
expectsErr: false,
|
||||
},
|
||||
} {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
for _, verb := range tt.verbs {
|
||||
r := &Request{
|
||||
verb: verb,
|
||||
namespace: tt.namespace,
|
||||
resourceName: tt.resourceName,
|
||||
namespaceSet: tt.namespaceSet,
|
||||
}
|
||||
|
||||
err := r.requestPreflightCheck()
|
||||
hasErr := err != nil
|
||||
if hasErr == tt.expectsErr {
|
||||
return
|
||||
}
|
||||
t.Errorf("%s: expects error: %v, has error: %v", verb, tt.expectsErr, hasErr)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user