From b84dfff4587fb6ad68240a1c760631e242c744ea Mon Sep 17 00:00:00 2001 From: Lorenzo Torracchi Date: Wed, 30 Oct 2019 10:59:31 +0100 Subject: [PATCH] Test refactored using table testing --- internal/resource/pod_test.go | 47 +++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/internal/resource/pod_test.go b/internal/resource/pod_test.go index fc9fc3c6..6a6eb915 100644 --- a/internal/resource/pod_test.go +++ b/internal/resource/pod_test.go @@ -44,26 +44,37 @@ func TestPodFields(t *testing.T) { assert.Equal(t, "fred", r[0]) } -func TestPodFieldsPercentageCpuAndMemRelatedToContainerRequestSpec(t *testing.T) { - metrics := makeMxPod("fred", "250m", "256Mi") +func TestPodFieldsPercentageCpuAndMemRelatedToContainerRequestSpecAndFallbackToLimit(t *testing.T) { + percentageTests := []struct { + resources v1.ResourceRequirements + metrics mv1beta1.PodMetrics + expectedCpuPercentage string + expectedMemPercentage string + }{ + { + v1.ResourceRequirements{ + Requests: makeRes("500m", "512Mi"), + }, + makeMxPod("fred", "250m", "256Mi"), + "150", + "150", + }, + { + v1.ResourceRequirements{ + Limits: makeRes("1000m", "1024Mi"), + }, + makeMxPod("fred", "250m", "256Mi"), + "75", + "75", + }, + } - r := NewPodWithMetrics(metrics, v1.ResourceRequirements{ - Requests: makeRes("500m", "512Mi"), - }).Fields("blee") + for _, percentageTest := range percentageTests { + r := NewPodWithMetrics(percentageTest.metrics, percentageTest.resources).Fields("blee") - assert.Equal(t, "150", r[6]) - assert.Equal(t, "150", r[7]) -} - -func TestPodFieldsPercentageCpuAndMemFallbackToContainerLimitSpecWhenRequestNotDefined(t *testing.T) { - metrics := makeMxPod("fred", "250m", "256Mi") - - r := NewPodWithMetrics(metrics, v1.ResourceRequirements{ - Limits: makeRes("1000m", "1024Mi"), - }).Fields("blee") - - assert.Equal(t, "75", r[6]) - assert.Equal(t, "75", r[7]) + assert.Equal(t, percentageTest.expectedCpuPercentage, r[6]) + assert.Equal(t, percentageTest.expectedMemPercentage, r[7]) + } } func TestPodMarshal(t *testing.T) {