From 101c6298ce3167e04c0568e80f621456197eabdf Mon Sep 17 00:00:00 2001 From: David Zhu Date: Wed, 1 May 2019 18:10:18 -0700 Subject: [PATCH] Add tests for backwardCompatibleAccessModes --- .../plugins/gce_pd_test.go | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/staging/src/k8s.io/csi-translation-lib/plugins/gce_pd_test.go b/staging/src/k8s.io/csi-translation-lib/plugins/gce_pd_test.go index e92e1db9636..e5d970fb220 100644 --- a/staging/src/k8s.io/csi-translation-lib/plugins/gce_pd_test.go +++ b/staging/src/k8s.io/csi-translation-lib/plugins/gce_pd_test.go @@ -20,6 +20,7 @@ import ( "reflect" "testing" + "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" ) @@ -65,3 +66,53 @@ func TestTranslatePDInTreeVolumeOptionsToCSI(t *testing.T) { } } } + +func TestBackwardCompatibleAccessModes(t *testing.T) { + testCases := []struct { + name string + accessModes []v1.PersistentVolumeAccessMode + expAccessModes []v1.PersistentVolumeAccessMode + }{ + { + name: "multiple normals", + accessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadOnlyMany, + v1.ReadWriteOnce, + }, + expAccessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadOnlyMany, + v1.ReadWriteOnce, + }, + }, + { + name: "one normal", + accessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadWriteOnce, + }, + expAccessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadWriteOnce, + }, + }, + { + name: "some readwritemany", + accessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadWriteOnce, + v1.ReadWriteMany, + }, + expAccessModes: []v1.PersistentVolumeAccessMode{ + v1.ReadWriteOnce, + v1.ReadWriteOnce, + }, + }, + } + + for _, tc := range testCases { + t.Logf("running test: %v", tc.name) + + got := backwardCompatibleAccessModes(tc.accessModes) + + if !reflect.DeepEqual(tc.expAccessModes, got) { + t.Fatalf("Expected access modes: %v, instead got: %v", tc.expAccessModes, got) + } + } +}