From 9b19dfca2c3c061920a861f1f3e7a7bd99eeccb0 Mon Sep 17 00:00:00 2001 From: caozhiyuan Date: Thu, 17 Dec 2020 12:40:29 +0800 Subject: [PATCH] add unit test for helper.go --- pkg/apis/core/v1/helper/helpers_test.go | 83 +++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/pkg/apis/core/v1/helper/helpers_test.go b/pkg/apis/core/v1/helper/helpers_test.go index c418e82b4fb..51e6adc4e07 100644 --- a/pkg/apis/core/v1/helper/helpers_test.go +++ b/pkg/apis/core/v1/helper/helpers_test.go @@ -1509,3 +1509,86 @@ func TestHugePageUnitSizeFromByteSize(t *testing.T) { } } } + +func TestLoadBalancerStatusEqual(t *testing.T) { + + testCases := []struct { + left *v1.LoadBalancerStatus + right *v1.LoadBalancerStatus + name string + expectVal bool + }{{ + name: "left equals right", + left: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }}, + }, + right: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }}, + }, + expectVal: true, + }, { + name: "length of LoadBalancerIngress slice is not equal", + left: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }, { + IP: "1.1.1.2", + Hostname: "host1", + }}, + }, + right: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }}, + }, + expectVal: false, + }, { + name: "LoadBalancerIngress ip is not equal", + left: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.2", + Hostname: "host1", + }}, + }, + right: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }}, + }, + expectVal: false, + }, { + name: "LoadBalancerIngress hostname is not equal", + left: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host2", + }}, + }, + right: &v1.LoadBalancerStatus{ + Ingress: []v1.LoadBalancerIngress{{ + IP: "1.1.1.1", + Hostname: "host1", + }}, + }, + expectVal: false, + }} + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + v := LoadBalancerStatusEqual(tc.left, tc.right) + if v != tc.expectVal { + t.Errorf("test %s failed. left input=%v, right input=%v, Got %v but expected %v", + tc.name, tc.left, tc.right, v, tc.expectVal) + } + }) + } +}