Skip to content

Commit 8d74f9a

Browse files
committed
test: add loadbalancer tests for the new flag
Signed-off-by: Ondrej Blazek <ondrej.blazek@firma.seznam.cz>
1 parent ae6f930 commit 8d74f9a

1 file changed

Lines changed: 33 additions & 3 deletions

File tree

pkg/openstack/loadbalancer_test.go

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package openstack
33
import (
44
"context"
55
"fmt"
6-
"k8s.io/utils/ptr"
76
"reflect"
87
"sort"
98
"testing"
109

10+
"k8s.io/utils/ptr"
11+
1112
"github.com/gophercloud/gophercloud/v2"
1213
"github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/listeners"
1314
v2monitors "github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/monitors"
@@ -1905,16 +1906,22 @@ func TestBuildBatchUpdateMemberOpts(t *testing.T) {
19051906
},
19061907
},
19071908
}
1909+
1910+
defaultLBaasOpts := LoadBalancerOpts{
1911+
ProviderRequiresNodeports: true,
1912+
}
1913+
19081914
testCases := []struct {
19091915
name string
19101916
nodes []*corev1.Node
19111917
port corev1.ServicePort
19121918
svcConf *serviceConfig
1919+
lbOpts *LoadBalancerOpts
19131920
expectedLen int
19141921
expectedNewMembersCount int
19151922
}{
19161923
{
1917-
name: "NodePortequalszero",
1924+
name: "NodePort equals zero",
19181925
nodes: []*corev1.Node{node1, node2},
19191926
port: corev1.ServicePort{NodePort: 0},
19201927
svcConf: &serviceConfig{
@@ -1925,6 +1932,21 @@ func TestBuildBatchUpdateMemberOpts(t *testing.T) {
19251932
expectedLen: 0,
19261933
expectedNewMembersCount: 0,
19271934
},
1935+
{
1936+
name: "NodesPort equals zero, providerRequiresNodeports=false",
1937+
nodes: []*corev1.Node{node1, node2},
1938+
port: corev1.ServicePort{NodePort: 0, Port: 80},
1939+
svcConf: &serviceConfig{
1940+
preferredIPFamily: corev1.IPv4Protocol,
1941+
lbMemberSubnetID: "subnet-12345-test",
1942+
healthCheckNodePort: 8081,
1943+
},
1944+
lbOpts: &LoadBalancerOpts{
1945+
ProviderRequiresNodeports: false,
1946+
},
1947+
expectedLen: 2,
1948+
expectedNewMembersCount: 2,
1949+
},
19281950
{
19291951
name: "Valid nodes, canUseHTTPMonitor=false",
19301952
nodes: []*corev1.Node{node1, node2},
@@ -1987,7 +2009,15 @@ func TestBuildBatchUpdateMemberOpts(t *testing.T) {
19872009

19882010
for _, tc := range testCases {
19892011
t.Run(tc.name, func(t *testing.T) {
1990-
lbaas := &LbaasV2{}
2012+
lbaas := &LbaasV2{
2013+
LoadBalancer: LoadBalancer{
2014+
opts: defaultLBaasOpts,
2015+
},
2016+
}
2017+
// overwrite default options
2018+
if tc.lbOpts != nil {
2019+
lbaas.opts = *tc.lbOpts
2020+
}
19912021
members, newMembers, err := lbaas.buildBatchUpdateMemberOpts(context.TODO(), tc.port, tc.nodes, tc.svcConf)
19922022
assert.Len(t, members, tc.expectedLen)
19932023
assert.NoError(t, err)

0 commit comments

Comments
 (0)