From 94a2a42412411ace371dc6aa49262684f920e341 Mon Sep 17 00:00:00 2001 From: caiweidong <caiweidong@baidu.com> Date: Tue, 9 Jul 2019 15:48:58 +0800 Subject: [PATCH] Fix projected volume test clean up --- pkg/volume/projected/projected_test.go | 233 +++++++++++++------------ 1 file changed, 121 insertions(+), 112 deletions(-) diff --git a/pkg/volume/projected/projected_test.go b/pkg/volume/projected/projected_test.go index 841582114b489..e747d7961c94b 100644 --- a/pkg/volume/projected/projected_test.go +++ b/pkg/volume/projected/projected_test.go @@ -245,49 +245,52 @@ func TestCollectDataWithSecret(t *testing.T) { } for _, tc := range cases { - testNamespace := "test_projected_namespace" - tc.secret.ObjectMeta = metav1.ObjectMeta{ - Namespace: testNamespace, - Name: tc.name, - } + t.Run(tc.name, func(t *testing.T) { + + testNamespace := "test_projected_namespace" + tc.secret.ObjectMeta = metav1.ObjectMeta{ + Namespace: testNamespace, + Name: tc.name, + } - source := makeProjection(tc.name, tc.mode, "secret") - source.Sources[0].Secret.Items = tc.mappings - source.Sources[0].Secret.Optional = &tc.optional - - testPodUID := types.UID("test_pod_uid") - pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Namespace: testNamespace, UID: testPodUID}} - client := fake.NewSimpleClientset(tc.secret) - _, host := newTestHost(t, client) - - var myVolumeMounter = projectedVolumeMounter{ - projectedVolume: &projectedVolume{ - sources: source.Sources, - podUID: pod.UID, - plugin: &projectedPlugin{ - host: host, - getSecret: host.GetSecretFunc(), + source := makeProjection(tc.name, tc.mode, "secret") + source.Sources[0].Secret.Items = tc.mappings + source.Sources[0].Secret.Optional = &tc.optional + + testPodUID := types.UID("test_pod_uid") + pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Namespace: testNamespace, UID: testPodUID}} + client := fake.NewSimpleClientset(tc.secret) + tempDir, host := newTestHost(t, client) + defer os.RemoveAll(tempDir) + var myVolumeMounter = projectedVolumeMounter{ + projectedVolume: &projectedVolume{ + sources: source.Sources, + podUID: pod.UID, + plugin: &projectedPlugin{ + host: host, + getSecret: host.GetSecretFunc(), + }, }, - }, - source: *source, - pod: pod, - } + source: *source, + pod: pod, + } - actualPayload, err := myVolumeMounter.collectData() - if err != nil && tc.success { - t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) - continue - } - if err == nil && !tc.success { - t.Errorf("%v: unexpected success making payload", tc.name) - continue - } - if !tc.success { - continue - } - if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { - t.Errorf("%v: expected and actual payload do not match", tc.name) - } + actualPayload, err := myVolumeMounter.collectData() + if err != nil && tc.success { + t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) + return + } + if err == nil && !tc.success { + t.Errorf("%v: unexpected success making payload", tc.name) + return + } + if !tc.success { + return + } + if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { + t.Errorf("%v: expected and actual payload do not match", tc.name) + } + }) } } @@ -492,49 +495,51 @@ func TestCollectDataWithConfigMap(t *testing.T) { }, } for _, tc := range cases { - testNamespace := "test_projected_namespace" - tc.configMap.ObjectMeta = metav1.ObjectMeta{ - Namespace: testNamespace, - Name: tc.name, - } + t.Run(tc.name, func(t *testing.T) { + testNamespace := "test_projected_namespace" + tc.configMap.ObjectMeta = metav1.ObjectMeta{ + Namespace: testNamespace, + Name: tc.name, + } - source := makeProjection(tc.name, tc.mode, "configMap") - source.Sources[0].ConfigMap.Items = tc.mappings - source.Sources[0].ConfigMap.Optional = &tc.optional - - testPodUID := types.UID("test_pod_uid") - pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Namespace: testNamespace, UID: testPodUID}} - client := fake.NewSimpleClientset(tc.configMap) - _, host := newTestHost(t, client) - - var myVolumeMounter = projectedVolumeMounter{ - projectedVolume: &projectedVolume{ - sources: source.Sources, - podUID: pod.UID, - plugin: &projectedPlugin{ - host: host, - getConfigMap: host.GetConfigMapFunc(), + source := makeProjection(tc.name, tc.mode, "configMap") + source.Sources[0].ConfigMap.Items = tc.mappings + source.Sources[0].ConfigMap.Optional = &tc.optional + + testPodUID := types.UID("test_pod_uid") + pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Namespace: testNamespace, UID: testPodUID}} + client := fake.NewSimpleClientset(tc.configMap) + tempDir, host := newTestHost(t, client) + defer os.RemoveAll(tempDir) + var myVolumeMounter = projectedVolumeMounter{ + projectedVolume: &projectedVolume{ + sources: source.Sources, + podUID: pod.UID, + plugin: &projectedPlugin{ + host: host, + getConfigMap: host.GetConfigMapFunc(), + }, }, - }, - source: *source, - pod: pod, - } + source: *source, + pod: pod, + } - actualPayload, err := myVolumeMounter.collectData() - if err != nil && tc.success { - t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) - continue - } - if err == nil && !tc.success { - t.Errorf("%v: unexpected success making payload", tc.name) - continue - } - if !tc.success { - continue - } - if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { - t.Errorf("%v: expected and actual payload do not match", tc.name) - } + actualPayload, err := myVolumeMounter.collectData() + if err != nil && tc.success { + t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) + return + } + if err == nil && !tc.success { + t.Errorf("%v: unexpected success making payload", tc.name) + return + } + if !tc.success { + return + } + if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { + t.Errorf("%v: expected and actual payload do not match", tc.name) + } + }) } } @@ -670,39 +675,42 @@ func TestCollectDataWithDownwardAPI(t *testing.T) { } for _, tc := range cases { - source := makeProjection("", tc.mode, "downwardAPI") - source.Sources[0].DownwardAPI.Items = tc.volumeFile - - client := fake.NewSimpleClientset(tc.pod) - _, host := newTestHost(t, client) - - var myVolumeMounter = projectedVolumeMounter{ - projectedVolume: &projectedVolume{ - sources: source.Sources, - podUID: tc.pod.UID, - plugin: &projectedPlugin{ - host: host, + t.Run(tc.name, func(t *testing.T) { + source := makeProjection("", tc.mode, "downwardAPI") + source.Sources[0].DownwardAPI.Items = tc.volumeFile + + client := fake.NewSimpleClientset(tc.pod) + tempDir, host := newTestHost(t, client) + defer os.RemoveAll(tempDir) + var myVolumeMounter = projectedVolumeMounter{ + projectedVolume: &projectedVolume{ + sources: source.Sources, + podUID: tc.pod.UID, + plugin: &projectedPlugin{ + host: host, + }, }, - }, - source: *source, - pod: tc.pod, - } + source: *source, + pod: tc.pod, + } + + actualPayload, err := myVolumeMounter.collectData() + if err != nil && tc.success { + t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) + return + } + if err == nil && !tc.success { + t.Errorf("%v: unexpected success making payload", tc.name) + return + } + if !tc.success { + return + } + if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { + t.Errorf("%v: expected and actual payload do not match", tc.name) + } + }) - actualPayload, err := myVolumeMounter.collectData() - if err != nil && tc.success { - t.Errorf("%v: unexpected failure making payload: %v", tc.name, err) - continue - } - if err == nil && !tc.success { - t.Errorf("%v: unexpected success making payload", tc.name) - continue - } - if !tc.success { - continue - } - if e, a := tc.payload, actualPayload; !reflect.DeepEqual(e, a) { - t.Errorf("%v: expected and actual payload do not match", tc.name) - } } } @@ -787,7 +795,8 @@ func TestCollectDataWithServiceAccountToken(t *testing.T) { return true, tr, nil })) - _, host := newTestHost(t, client) + tempDir, host := newTestHost(t, client) + defer os.RemoveAll(tempDir) var myVolumeMounter = projectedVolumeMounter{ projectedVolume: &projectedVolume{