Commit c2d836fc authored by j-griffith's avatar j-griffith Committed by Jordan Liggitt

Fix nil pointer

add back lost test Fix nil pointer
parent d0bfb70f
......@@ -60,15 +60,20 @@ func dataSourceInUse(oldPVCSpec *core.PersistentVolumeClaimSpec) bool {
func dataSourceIsEnabled(pvcSpec *core.PersistentVolumeClaimSpec) bool {
if pvcSpec.DataSource != nil {
if pvcSpec.DataSource.Kind == pvc &&
*pvcSpec.DataSource.APIGroup == "" &&
utilfeature.DefaultFeatureGate.Enabled(features.VolumePVCDataSource) {
apiGroup := ""
if pvcSpec.DataSource.APIGroup != nil {
apiGroup = *pvcSpec.DataSource.APIGroup
}
if utilfeature.DefaultFeatureGate.Enabled(features.VolumePVCDataSource) &&
pvcSpec.DataSource.Kind == pvc &&
apiGroup == "" {
return true
}
if pvcSpec.DataSource.Kind == volumeSnapshot &&
*pvcSpec.DataSource.APIGroup == "snapshot.storage.k8s.io" &&
utilfeature.DefaultFeatureGate.Enabled(features.VolumeSnapshotDataSource) {
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeSnapshotDataSource) &&
pvcSpec.DataSource.Kind == volumeSnapshot &&
apiGroup == "snapshot.storage.k8s.io" {
return true
}
}
......
......@@ -221,6 +221,12 @@ func TestPVCDataSourceSpecFilter(t *testing.T) {
Name: "test_clone",
},
}
validSpecNilAPIGroup := core.PersistentVolumeClaimSpec{
DataSource: &core.TypedLocalObjectReference{
Kind: "PersistentVolumeClaim",
Name: "test_clone",
},
}
invalidAPIGroup := "invalid.pvc.api.group"
invalidSpec := core.PersistentVolumeClaimSpec{
......@@ -266,6 +272,16 @@ func TestPVCDataSourceSpecFilter(t *testing.T) {
gateEnabled: false,
want: nil,
},
"enabled with valid spec but nil APIGroup": {
spec: validSpecNilAPIGroup,
gateEnabled: true,
want: validSpecNilAPIGroup.DataSource,
},
"disabled with valid spec but nil APIGroup": {
spec: validSpecNilAPIGroup,
gateEnabled: false,
want: nil,
},
}
for testName, test := range tests {
......
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