Refactor GlusterFS PV spec.
This patch introduces glusterfsPersistentVolumeSource addition to glusterfsVolumeSource. All fields remains same as glusterfsVolumeSource with an addition of a new field called `EndpointsNamespace` to define namespace of endpoint in the spec. Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
@@ -1774,6 +1774,60 @@ func TestValidateGlusterfs(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateGlusterfsPersistentVolumeSource(t *testing.T) {
|
||||
var epNs *string
|
||||
namespace := ""
|
||||
epNs = &namespace
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
gfs *core.GlusterfsPersistentVolumeSource
|
||||
errtype field.ErrorType
|
||||
errfield string
|
||||
}{
|
||||
{
|
||||
name: "missing endpointname",
|
||||
gfs: &core.GlusterfsPersistentVolumeSource{EndpointsName: "", Path: "/tmp"},
|
||||
errtype: field.ErrorTypeRequired,
|
||||
errfield: "endpoints",
|
||||
},
|
||||
{
|
||||
name: "missing path",
|
||||
gfs: &core.GlusterfsPersistentVolumeSource{EndpointsName: "my-endpoint", Path: ""},
|
||||
errtype: field.ErrorTypeRequired,
|
||||
errfield: "path",
|
||||
},
|
||||
{
|
||||
name: "non null endpointnamespace with empty string",
|
||||
gfs: &core.GlusterfsPersistentVolumeSource{EndpointsName: "my-endpoint", Path: "/tmp", EndpointsNamespace: epNs},
|
||||
errtype: field.ErrorTypeInvalid,
|
||||
errfield: "endpointsNamespace",
|
||||
},
|
||||
{
|
||||
name: "missing endpointname and path",
|
||||
gfs: &core.GlusterfsPersistentVolumeSource{EndpointsName: "", Path: ""},
|
||||
errtype: field.ErrorTypeRequired,
|
||||
errfield: "endpoints",
|
||||
},
|
||||
}
|
||||
|
||||
for i, tc := range testCases {
|
||||
errs := validateGlusterfsPersistentVolumeSource(tc.gfs, field.NewPath("field"))
|
||||
|
||||
if len(errs) > 0 && tc.errtype == "" {
|
||||
t.Errorf("[%d: %q] unexpected error(s): %v", i, tc.name, errs)
|
||||
} else if len(errs) == 0 && tc.errtype != "" {
|
||||
t.Errorf("[%d: %q] expected error type %v", i, tc.name, tc.errtype)
|
||||
} else if len(errs) >= 1 {
|
||||
if errs[0].Type != tc.errtype {
|
||||
t.Errorf("[%d: %q] expected error type %v, got %v", i, tc.name, tc.errtype, errs[0].Type)
|
||||
} else if !strings.HasSuffix(errs[0].Field, "."+tc.errfield) {
|
||||
t.Errorf("[%d: %q] expected error on field %q, got %q", i, tc.name, tc.errfield, errs[0].Field)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateCSIVolumeSource(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
|
Reference in New Issue
Block a user